signed int __stdcall sub_401740(int a1) { int index; // edi int alpha_loc; // esi int sub_index; // esi __int16 sub_char; // bx unsigned __int8 name_char_0; // al unsigned __int8 num_0_0; // ST2C_1 unsigned __int8 name_char_1; // al unsigned __int8 num_0_1; // bl wchar_t *CS_buffer; // eax __int16 buffer_char_0; // di wchar_t *v12; // eax __int16 serial_char_1; // di wchar_t *v14; // eax __int16 v15; // di wchar_t *v16; // eax __int16 v17; // di wchar_t *v18; // eax __int16 v19; // di unsigned __int8 name_string_2; // al unsigned __int8 num_6_0; // ST2C_1 unsigned __int8 name_string_3; // al unsigned __int8 num_6_1; // bl wchar_t *v24; // eax __int16 v25; // di wchar_t *v26; // eax __int16 v27; // di wchar_t *v28; // eax __int16 v29; // di wchar_t *v30; // eax __int16 v31; // di wchar_t *v32; // eax __int16 v33; // si unsigned __int8 num_3_1; // [esp+10h] [ebp-28h] unsigned __int8 num_9_1; // [esp+10h] [ebp-28h] unsigned __int8 num_4_1; // [esp+11h] [ebp-27h] unsigned __int8 num_10_1; // [esp+11h] [ebp-27h] unsigned __int8 num_1_1; // [esp+13h] [ebp-25h] unsigned __int8 num_7_1; // [esp+13h] [ebp-25h] unsigned __int8 num_2_1; // [esp+14h] [ebp-24h] unsigned __int8 num_8_1; // [esp+14h] [ebp-24h] unsigned __int8 num_2_0; // [esp+19h] [ebp-1Fh] unsigned __int8 num_8_0; // [esp+19h] [ebp-1Fh] unsigned __int8 num_3_0; // [esp+1Ah] [ebp-1Eh] unsigned __int8 num_9_0; // [esp+1Ah] [ebp-1Eh] unsigned __int8 num_1_0; // [esp+1Bh] [ebp-1Dh] unsigned __int8 num_7_0; // [esp+1Bh] [ebp-1Dh] unsigned __int8 num_4_0; // [esp+1Ch] [ebp-1Ch] unsigned __int8 num_10_0; // [esp+1Ch] [ebp-1Ch] int name_string; // [esp+20h] [ebp-18h] int serial_string; // [esp+24h] [ebp-14h] char buffer; // [esp+28h] [ebp-10h] int v53; // [esp+34h] [ebp-4h]
ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&name_string); index = 0; v53 = 0; ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&serial_string); ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&buffer); LOBYTE(v53) = 2; CWnd::GetWindowTextW(a1 + 304, &name_string); if ( *(_DWORD *)(name_string - 12) == 4 ) { alpha_loc = 0; while ( (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&name_string, alpha_loc) >= 'a' && (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&name_string, alpha_loc) <= 'z' ) { if ( ++alpha_loc >= 4 ) { LABEL_7: sub_index = 0; while ( 1 ) { if ( index != sub_index ) { sub_char = ATL::CSimpleStringT<wchar_t,1>::GetAt(&name_string, sub_index); if ( (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&name_string, index) == sub_char ) goto LABEL_2; } if ( ++sub_index >= 4 ) { if ( ++index < 4 ) goto LABEL_7; CWnd::GetWindowTextW(a1 + 420, &serial_string); if ( *(_DWORD *)(serial_string - 12) == 11// serial string's length is 11 && (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 5) == '-' ) { name_char_0 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&name_string, 0); num_0_0 = (name_char_0 & 1) + 5; num_4_0 = ((name_char_0 >> 4) & 1) + 5; num_2_0 = ((name_char_0 >> 1) & 1) + 5; num_3_0 = ((name_char_0 >> 2) & 1) + 5; num_1_0 = ((name_char_0 >> 3) & 1) + 5; name_char_1 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&name_string, 1); num_3_1 = (name_char_1 & 1) + 1; num_2_1 = ((name_char_1 >> 4) & 1) + 1; num_4_1 = ((name_char_1 >> 1) & 1) + 1; num_0_1 = ((name_char_1 >> 2) & 1) + 1; num_1_1 = ((name_char_1 >> 3) & 1) + 1; CS_buffer = (wchar_t *)ATL::CSimpleStringT<wchar_t,1>::GetBuffer(&buffer); itow_s(num_0_0 + num_0_1, CS_buffer, 0xAu, 10);// get integer 2 buffer_char_0 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&buffer, 0); if ( (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 0) == buffer_char_0 ) { ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(&buffer, -1); v12 = (wchar_t *)ATL::CSimpleStringT<wchar_t,1>::GetBuffer(&buffer); itow_s(num_1_0 + num_1_1, v12, 0xAu, 10); serial_char_1 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 1); if ( serial_char_1 == (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&buffer, 0) ) { ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(&buffer, -1); v14 = (wchar_t *)ATL::CSimpleStringT<wchar_t,1>::GetBuffer(&buffer); itow_s(num_2_0 + num_2_1, v14, 0xAu, 10); v15 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 2); if ( v15 == (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&buffer, 0) ) { ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(&buffer, -1); v16 = (wchar_t *)ATL::CSimpleStringT<wchar_t,1>::GetBuffer(&buffer); itow_s(num_3_0 + num_3_1, v16, 0xAu, 10); v17 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 3); if ( v17 == (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&buffer, 0) ) { ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(&buffer, -1); v18 = (wchar_t *)ATL::CSimpleStringT<wchar_t,1>::GetBuffer(&buffer); itow_s(num_4_0 + num_4_1, v18, 0xAu, 10); v19 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 4); if ( v19 == (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&buffer, 0) ) { ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(&buffer, -1); name_string_2 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&name_string, 2); num_6_0 = (name_string_2 & 1) + 5; num_10_0 = ((name_string_2 >> 4) & 1) + 5; num_8_0 = ((name_string_2 >> 1) & 1) + 5; num_9_0 = ((name_string_2 >> 2) & 1) + 5; num_7_0 = ((name_string_2 >> 3) & 1) + 5; name_string_3 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&name_string, 3); num_9_1 = (name_string_3 & 1) + 1; num_8_1 = ((name_string_3 >> 4) & 1) + 1; num_10_1 = ((name_string_3 >> 1) & 1) + 1; num_6_1 = ((name_string_3 >> 2) & 1) + 1; num_7_1 = ((name_string_3 >> 3) & 1) + 1; v24 = (wchar_t *)ATL::CSimpleStringT<wchar_t,1>::GetBuffer(&buffer); itow_s(num_6_0 + num_6_1, v24, 0xAu, 10); v25 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 6); if ( v25 == (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&buffer, 0) ) { ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(&buffer, -1); v26 = (wchar_t *)ATL::CSimpleStringT<wchar_t,1>::GetBuffer(&buffer); itow_s(num_7_0 + num_7_1, v26, 0xAu, 10); v27 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 7); if ( v27 == (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&buffer, 0) ) { ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(&buffer, -1); v28 = (wchar_t *)ATL::CSimpleStringT<wchar_t,1>::GetBuffer(&buffer); itow_s(num_8_0 + num_8_1, v28, 0xAu, 10); v29 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 8); if ( v29 == (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&buffer, 0) ) { ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(&buffer, -1); v30 = (wchar_t *)ATL::CSimpleStringT<wchar_t,1>::GetBuffer(&buffer); itow_s(num_9_0 + num_9_1, v30, 0xAu, 10); v31 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 9); if ( v31 == (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&buffer, 0) ) { ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(&buffer, -1); v32 = (wchar_t *)ATL::CSimpleStringT<wchar_t,1>::GetBuffer(&buffer); itow_s(num_10_0 + num_10_1, v32, 0xAu, 10); v33 = ATL::CSimpleStringT<wchar_t,1>::GetAt(&serial_string, 10); if ( v33 == (unsigned __int16)ATL::CSimpleStringT<wchar_t,1>::GetAt(&buffer, 0) ) { ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(&buffer, -1); ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&buffer); ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&serial_string); ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&name_string); return 1; } } } } } } } } } } } goto LABEL_2; } } } } } LABEL_2: ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&buffer); ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&serial_string); ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(&name_string); return 0; } |