Function at 0x420740
Capabilities:
Check os version
Contain obfuscated stackstrings
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x428f56
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x560
mov dx, word [0x440958]
push ebx
push ebp
push esi
mov dword [esp + 0x40], ecx
push edi
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x36a]
mov word [esp + 0x368], dx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x162]
mov word [esp + 0x160], dx
rep stosd dword es:[edi], eax
xor ebx, ebx
lea ecx, [esp + 0x50]
mov dword [esp + 0x18], 0x200
mov dword [esp + 0x94], 0x104
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x30], ebx
stosw word es:[edi], ax
call sub.MFC42u.DLL_CString::CString_3
lea eax, [esp + 0x158]
lea ecx, [esp + 0x134]
push eax
lea edx, [esp + 0x13c]
push ecx
lea eax, [esp + 0x148]
mov edi, dword [esp + 0x588]
push edx
lea ecx, [esp + 0x70]
push eax
lea edx, [esp + 0x164]
push ecx
lea eax, [esp + 0x150]
push edx
lea ecx, [esp + 0x124]
push eax
push ecx
lea edx, [esp + 0xb4]
push ebx
lea eax, [esp + 0x38c]
push edx
push eax
push edi
mov dword [esp + 0x5a8], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
cmp eax, ebx
jne 0x421d47
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x584]
cmp eax, ebx
jne 0x42089d
push str._TR_height25_height25_BGCOLOR_FFFFD9__
lea ecx, [esp + 0x30]
call sub.MFC42u.DLL_CString::CString_1
push str._TD_colspan_3__FONT_face___Courier__face___Courier__size___2___colorblack__center_NO_VALUESnbsp__center___font___TD_
lea ecx, [esp + 0x30]
mov byte [esp + 0x57c], 1
call sub.MFC42u.DLL_CString::operator_1
mov edx, dword [esi]
push 2
push ebx
mov ecx, esi
call dword [edx + 0x30]
mov eax, dword [esp + 0x2c]
mov edx, dword [esi]
mov ecx, dword [eax - 8]
add ecx, ecx
push ecx
push eax
mov ecx, esi
call dword [edx + 0x40]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x64]
cmp eax, ebx
je 0x421d47
xor ebp, ebp
mov dword [esp + 0x40], ebx
test eax, eax
jbe 0x421d47
jmp 0x4208b4
mov edi, dword [esp + 0x580]
push 0x440958
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::CString_1
push 0
push 0
push 0
lea edx, [esp + 0x68]
push 0
lea eax, [esp + 0x170]
push edx
push eax
push ebx
push edi
mov byte [esp + 0x598], 2
mov dword [esp + 0x7c], 0x3fff
mov word [esp + 0x180], 0
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne case.0x420911.2
mov eax, dword [esp + 0x588]
cmp eax, 6
ja case.0x420911.2
jmp dword [eax*4 + 0x421d78]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x34]
push 0
push edx
lea eax, [esp + 0x16c]
push 0
push eax
push edi
call ebx
mov eax, dword [esp + 0x30]
cmp eax, 1
je 0x420949
cmp eax, 2
jne case.0x420911.2
mov eax, dword [esp + 0x18]
test eax, eax
jbe case.0x420911.2
shr eax, 1
lea ecx, [eax + eax + 2]
push ecx
call sub.MFC42u.DLL_operatornew
mov ecx, dword [esp + 0x584]
add esp, 4
lea edx, [esp + 0x18]
mov edi, eax
push edx
push edi
push 0
lea eax, [esp + 0x16c]
push 0
push eax
push ecx
call ebx
push 0x440958
lea ecx, [esp + 0x20]
mov ebx, eax
call sub.MFC42u.DLL_CString::CString_1
push edi
lea ecx, [esp + 0x20]
mov byte [esp + 0x57c], 3
call fcn.00423f2c
lea edx, [esp + 0x160]
lea ecx, [esp + 0x58]
push edx
call sub.MFC42u.DLL_CString::CString_1
test ebx, ebx
mov byte [esp + 0x578], 4
jne 0x420b64
mov eax, dword [esp + 0x58]
mov edi, dword [sym.imp.MSVCRT.dll_wcscmp]
push 0x440958
push eax
call edi
add esp, 8
test eax, eax
jne 0x420a13
mov ecx, dword [esp + 0x1c]
push 0x440958
push ecx
call edi
add esp, 8
test eax, eax
jne 0x420a13
lea ecx, [esp + 0x58]
mov byte [esp + 0x578], 3
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x578], 2
lea ecx, [esp + 0x1c]
jmp 0x4213c2
mov edx, ebp
and edx, 0x80000001
jns 0x420a22
dec edx
or edx, 0xfffffffe
inc edx
je 0x420a2b
push str._TR_height25_height25_BGCOLOR_FFFFFF__
jmp 0x420a30
push str._TR_height25_height25_BGCOLOR_FFFFD9__
lea ecx, [esp + 0x14]
call fcn.00423f2c
lea ecx, [esp + 0x70]
inc ebp
call sub.MFC42u.DLL_CString::CString_3
push ebp
lea eax, [esp + 0x74]
push 0x43334c
push eax
mov byte [esp + 0x584], 5
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x70]
lea edx, [esp + 0x84]
push ecx
push str._TD__FONT_face_Courier__size___2___colorblack_
push edx
call sub.MFC42u.DLL_operator_2
push 0x4386c4
push eax
lea eax, [esp + 0xbc]
mov byte [esp + 0x580], 6
push eax
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 7
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0xb4]
mov byte [esp + 0x578], 6
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x84]
mov byte [esp + 0x578], 5
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x8c]
push ecx
push str._TD__FONT_face___Courier__face___Courier__size___2___colorblack_
push edx
call sub.MFC42u.DLL_operator_2
push 0x438664
push eax
lea eax, [esp + 0xf4]
mov byte [esp + 0x580], 8
push eax
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 9
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0xec]
mov byte [esp + 0x578], 8
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x8c]
mov byte [esp + 0x578], 5
call sub.MFC42u.DLL_CString::CString
mov edx, dword [esi]
push 2
push 0
mov ecx, esi
call dword [edx + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
mov ecx, dword [eax - 8]
add ecx, ecx
push ecx
push eax
mov ecx, esi
call dword [edx + 0x40]
lea ecx, [esp + 0x70]
mov byte [esp + 0x578], 4
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x58]
mov byte [esp + 0x578], 3
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x578], 2
lea ecx, [esp + 0x1c]
jmp 0x4213c2
lea edx, [esp + 0x18]
lea eax, [esp + 0x144]
push edx
push eax
push 0
lea ecx, [esp + 0x16c]
push 0
push ecx
push edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne case.0x420911.2
cmp dword [esp + 0x18], 0x10
jne case.0x420911.2
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x14c]
test eax, eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x54], eax
je case.0x420911.2
push 0x440958
lea ecx, [esp + 0x2c]
call sub.MFC42u.DLL_CString::CString_1
push 0x440958
lea ecx, [esp + 0x38]
mov byte [esp + 0x57c], 0xa
call sub.MFC42u.DLL_CString::CString_1
push 0x440958
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], 0xb
call sub.MFC42u.DLL_CString::CString_1
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x578], 0xc
test eax, eax
mov dword [esp + 0x74], 0
jbe 0x420c98
lea eax, [esp + 0x160]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x6c]
mov bl, byte [ecx]
movsx edi, bl
push edi
call dword [sym.imp.MSVCRT.dll_isalpha]
add esp, 4
test eax, eax
je 0x420c6e
push edi
call dword [sym.imp.MSVCRT.dll_toupper]
add esp, 4
cmp eax, 0x4e
jge 0x420c64
add bl, 0xd
movsx dx, bl
push edx
jmp 0x420c73
add bl, 0xf3
movsx ax, bl
push eax
jmp 0x420c73
movsx cx, bl
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::operator_2
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x5c]
inc eax
add edx, 2
cmp eax, ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x6c], edx
jb 0x420c34
mov eax, dword [esp + 0x148]
cmp eax, 5
jbe 0x420ca7
add eax, 0xfffffffb
push eax
lea edx, [esp + 0x2c]
push 0x43334c
push edx
call sub.MFC42u.DLL_CString::Format
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x44]
add esp, 0xc
mov dword [esp + 0x130], eax
lea edx, [esp + 0x12c]
lea eax, [esp + 0xf4]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x44]
push edx
push eax
call fcn.004232c0
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x57c], 0xd
call fcn.00423f0e
lea ecx, [esp + 0xf4]
mov byte [esp + 0x578], 0xc
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x7c]
call sub.MFC42u.DLL_CString::CString_4
mov edx, ebp
mov byte [esp + 0x578], 0xe
and edx, 0x80000001
jns 0x420d34
dec edx
or edx, 0xfffffffe
inc edx
je 0x420d3d
push str._TR_height25_BGCOLOR_FFFFFF__
jmp 0x420d42
push str._TR_height25_BGCOLOR_FFFFD9__
lea ecx, [esp + 0x14]
call fcn.00423f2c
lea ecx, [esp + 0x68]
inc ebp
call sub.MFC42u.DLL_CString::CString_3
push ebp
lea eax, [esp + 0x6c]
push 0x43334c
push eax
mov byte [esp + 0x584], 0xf
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x68]
lea edx, [esp + 0x114]
push ecx
push str._TD__FONT_face_Courier__size___2___colorblack_
push edx
call sub.MFC42u.DLL_operator_2
push 0x4386c4
push eax
lea eax, [esp + 0xa4]
mov byte [esp + 0x580], 0x10
push eax
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x11
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0x9c]
mov byte [esp + 0x578], 0x10
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x114]
mov byte [esp + 0x578], 0xf
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x78]
lea edx, [esp + 0xfc]
push ecx
push str._TD__FONT_face___Courier__size___2___colorblack_
push edx
call sub.MFC42u.DLL_operator_2
push 0x4386c4
push eax
lea eax, [esp + 0xac]
mov byte [esp + 0x580], 0x12
push eax
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x13
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0xa4]
mov byte [esp + 0x578], 0x12
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0xfc]
mov byte [esp + 0x578], 0xf
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x34]
lea edx, [esp + 0x11c]
push ecx
push str._TD__FONT_face___Courier__size___2___colorblack_
push edx
call sub.MFC42u.DLL_operator_2
push 0x4386c4
push eax
lea eax, [esp + 0xb4]
mov byte [esp + 0x580], 0x14
push eax
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x15
call sub.MFC42u.DLL_CString::operator
mov byte [esp + 0x578], 0x14
lea ecx, [esp + 0xac]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x11c]
mov byte [esp + 0x578], 0xf
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x28]
lea edx, [esp + 0x104]
push ecx
push str._TD__FONT_face___Courier__size___2___colorblack_
push edx
call sub.MFC42u.DLL_operator_2
push 0x438664
push eax
lea eax, [esp + 0x84]
mov byte [esp + 0x580], 0x16
push eax
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x17
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0x7c]
mov byte [esp + 0x578], 0x16
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x104]
mov byte [esp + 0x578], 0xf
call sub.MFC42u.DLL_CString::CString
mov edx, dword [esi]
push 2
push 0
mov ecx, esi
call dword [edx + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
mov ecx, dword [eax - 8]
add ecx, ecx
push ecx
push eax
mov ecx, esi
call dword [edx + 0x40]
lea ecx, [esp + 0x68]
mov byte [esp + 0x578], 0xe
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x578], 0xc
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x578], 0xb
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0x578], 0xa
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x578], 2
lea ecx, [esp + 0x28]
jmp 0x4213c2
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x34]
push 0
push eax
lea ecx, [esp + 0x16c]
push 0
push ecx
push edi
call ebx
lea edx, [esp + 0x160]
lea ecx, [esp + 0x2c]
push edx
call sub.MFC42u.DLL_CString::CString_1
mov eax, dword [esp + 0x18]
mov byte [esp + 0x578], 0x18
shr eax, 1
lea ecx, [eax + eax + 2]
push ecx
call sub.MFC42u.DLL_operatornew
mov ecx, dword [esp + 0x584]
add esp, 4
lea edx, [esp + 0x18]
mov edi, eax
push edx
push edi
push 0
lea eax, [esp + 0x16c]
push 0
push eax
push ecx
mov dword [edi], 0
call ebx
push 0x440958
lea ecx, [esp + 0x50]
call sub.MFC42u.DLL_CString::CString_1
push edi
lea ecx, [esp + 0x50]
mov byte [esp + 0x57c], 0x19
call fcn.00423f2c
lea edx, [esp + 0x24]
push 0xc
push edx
lea ecx, [esp + 0x34]
call sub.MFC42u.DLL_CString::Left
mov eax, dword [esp + 0x24]
mov edi, dword [sym.imp.MSVCRT.dll_wcscmp]
push str.DosDevices_
push eax
mov byte [esp + 0x580], 0x1a
call edi
add esp, 8
test eax, eax
jne 0x421071
cmp dword [esp + 0x18], 0xc
jbe 0x421071
mov ecx, dword [esp + 0x44]
push 0
mov eax, dword [ecx + 8]
lea ecx, [esp + 0x50]
push eax
call sub.MFC42u.DLL_CString::Find_2
test eax, eax
jg 0x4213f2
lea ecx, [esp + 0x24]
mov byte [esp + 0x578], 0x19
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4c]
mov byte [esp + 0x578], 0x18
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0x578], 2
call sub.MFC42u.DLL_CString::CString
jmp 0x4210b2
mov edi, dword [sym.imp.MSVCRT.dll_wcscmp]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea edx, [esp + 0x160]
lea ecx, [esp + 0x20]
push edx
call sub.MFC42u.DLL_CString::CString_1
mov eax, dword [esp + 0x20]
push str.MRUList
push eax
mov byte [esp + 0x580], 0x1b
call edi
add esp, 8
test eax, eax
je 0x421436
mov ecx, dword [esp + 0x20]
push str.MRUListEx
push ecx
call edi
add esp, 8
test eax, eax
je 0x4218d0
mov byte [esp + 0x578], 2
lea ecx, [esp + 0x20]
jmp 0x4213c2
lea edx, [esp + 0x18]
lea eax, [esp + 0x30]
push edx
push 0
push eax
lea ecx, [esp + 0x16c]
push 0
push ecx
push edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [esp + 0x30]
cmp eax, 1
je 0x421139
cmp eax, 2
jne case.0x420911.2
mov eax, dword [esp + 0x18]
test eax, eax
jbe case.0x420911.2
shr eax, 1
lea edx, [eax + eax + 2]
push edx
call sub.MFC42u.DLL_operatornew
mov edx, dword [esp + 0x584]
add esp, 4
mov edi, eax
lea eax, [esp + 0x18]
push eax
push edi
push 0
lea ecx, [esp + 0x16c]
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push 0x440958
lea ecx, [esp + 0x40]
mov ebx, eax
call sub.MFC42u.DLL_CString::CString_1
push edi
lea ecx, [esp + 0x40]
mov byte [esp + 0x57c], 0x39
call fcn.00423f2c
lea eax, [esp + 0x160]
lea ecx, [esp + 0x48]
push eax
call sub.MFC42u.DLL_CString::CString_1
test ebx, ebx
mov byte [esp + 0x578], 0x3a
jne 0x4213a5
mov ecx, dword [esp + 0x48]
mov edi, dword [sym.imp.MSVCRT.dll_wcscmp]
push 0x440958
push ecx
call edi
add esp, 8
test eax, eax
jne 0x4211e9
mov edx, dword [esp + 0x3c]
push 0x440958
push edx
call edi
add esp, 8
test eax, eax
je 0x4213a5
mov eax, ebp
and eax, 0x80000001
jns 0x4211f7
dec eax
or eax, 0xfffffffe
inc eax
je 0x421200
push str._TR_height25_height25_BGCOLOR_FFFFFF__
jmp 0x421205
push str._TR_height25_height25_BGCOLOR_FFFFD9__
lea ecx, [esp + 0x14]
call fcn.00423f2c
lea ecx, [esp + 0x60]
inc ebp
call sub.MFC42u.DLL_CString::CString_3
push ebp
lea ecx, [esp + 0x64]
push 0x43334c
push ecx
mov byte [esp + 0x584], 0x3b
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0x60]
lea eax, [esp + 0x124]
push edx
push str._TD__FONT_face_Courier__size___2___colorblack_
push eax
call sub.MFC42u.DLL_operator_2
push 0x4386c4
lea ecx, [esp + 0xc0]
push eax
push ecx
mov byte [esp + 0x584], 0x3c
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x3d
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0xbc]
mov byte [esp + 0x578], 0x3c
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x124]
mov byte [esp + 0x578], 0x3b
call sub.MFC42u.DLL_CString::CString
lea edx, [esp + 0x48]
lea eax, [esp + 0x128]
push edx
push str._TD__FONT_face___Courier__face___Courier__size___2___colorblack_
push eax
call sub.MFC42u.DLL_operator_2
push 0x4386c4
lea ecx, [esp + 0xc8]
push eax
push ecx
mov byte [esp + 0x584], 0x3e
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x3f
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0xc4]
mov byte [esp + 0x578], 0x3e
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x128]
mov byte [esp + 0x578], 0x3b
call sub.MFC42u.DLL_CString::CString
lea edx, [esp + 0x3c]
lea eax, [esp + 0x110]
push edx
push str._TD__FONT_face___Courier__face___Courier__size___2___colorblack_
push eax
call sub.MFC42u.DLL_operator_2
push 0x438664
lea ecx, [esp + 0xd0]
push eax
push ecx
mov byte [esp + 0x584], 0x40
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x41
call sub.MFC42u.DLL_CString::operator
mov byte [esp + 0x578], 0x40
lea ecx, [esp + 0xcc]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x110]
mov byte [esp + 0x578], 0x3b
call sub.MFC42u.DLL_CString::CString
mov edx, dword [esi]
push 2
push 0
mov ecx, esi
call dword [edx + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
mov ecx, dword [eax - 8]
add ecx, ecx
push ecx
push eax
mov ecx, esi
call dword [edx + 0x40]
lea ecx, [esp + 0x60]
mov byte [esp + 0x578], 0x3a
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x48]
mov byte [esp + 0x578], 0x39
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x578], 2
lea ecx, [esp + 0x3c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x578], 0
call sub.MFC42u.DLL_CString::CString
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x64]
inc ebx
cmp ebx, eax
mov dword [esp + 0x40], ebx
jb 0x4208ad
jmp 0x421d47
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x2c]
push edx
lea ecx, [eax + 0xc]
call fcn.00423f0e
lea ecx, [esp + 0x24]
mov byte [esp + 0x578], 0x19
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x4c]
mov byte [esp + 0x578], 0x18
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x578], 2
lea ecx, [esp + 0x2c]
jmp 0x421d31
lea ecx, [esp + 0x18]
lea edx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x584]
push 0
push edx
lea eax, [esp + 0x16c]
push 0
push eax
push ecx
call ebx
mov eax, dword [esp + 0x30]
cmp eax, 1
je 0x421468
cmp eax, 2
jne 0x421d25
mov eax, dword [esp + 0x18]
test eax, eax
jbe 0x421d25
shr eax, 1
lea edx, [eax + eax + 2]
push edx
call sub.MFC42u.DLL_operatornew
mov edx, dword [esp + 0x584]
add esp, 4
mov edi, eax
lea eax, [esp + 0x18]
push eax
push edi
push 0
lea ecx, [esp + 0x16c]
push 0
push ecx
push edx
call ebx
push 0x440958
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString_1
push edi
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], 0x1c
call fcn.00423f2c
lea eax, [esp + 0x14]
lea ecx, [esp + 0x34]
push eax
call sub.MFC42u.DLL_CString::CString_4
mov ecx, dword [esp + 0x34]
mov byte [esp + 0x578], 0x1d
mov dword [esp + 0x28], 0
mov eax, dword [ecx - 8]
test eax, eax
mov dword [esp + 0x38], eax
jle 0x4218ae
mov bl, 0x1e
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x20]
mov ax, word [edx + eax*2]
push eax
call sub.MFC42u.DLL_CString::operator_3
mov ecx, ebp
and ecx, 0x80000001
jns 0x421519
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x421522
push str._TR_height25_height25_BGCOLOR_FFFFFF__
jmp 0x421527
push str._TR_height25_height25_BGCOLOR_FFFFD9__
lea ecx, [esp + 0x14]
call fcn.00423f2c
lea ecx, [esp + 0x24]
inc ebp
call sub.MFC42u.DLL_CString::CString_3
push ebp
lea edx, [esp + 0x28]
push 0x43334c
push edx
mov byte [esp + 0x584], bl
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
lea eax, [esp + 0x24]
lea ecx, [esp + 0x120]
push eax
push str._TD__FONT_face_Courier__size___2___colorblack_
push ecx
call sub.MFC42u.DLL_operator_2
push 0x4386c4
lea edx, [esp + 0xd8]
push eax
push edx
mov byte [esp + 0x584], 0x1f
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x20
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0xd4]
mov byte [esp + 0x578], 0x1f
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x120]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x24]
test eax, eax
je 0x421619
push 6
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call sub.MFC42u.DLL_CString::CString_4
mov ecx, dword [esp + 0x588]
lea edx, [esp + 0xe4]
push ecx
push edx
mov ecx, edi
call fcn.00421da0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], 0x21
call fcn.00423f0e
mov byte [esp + 0x578], bl
lea ecx, [esp + 0xdc]
jmp 0x4217fb
mov eax, dword [edi + 0x28]
test eax, eax
je 0x4217b1
push 7
push ecx
lea eax, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call sub.MFC42u.DLL_CString::CString_4
mov ecx, dword [esp + 0x588]
lea edx, [esp + 0x120]
push ecx
push edx
mov ecx, edi
call fcn.00421da0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], 0x22
call fcn.00423f0e
lea ecx, [esp + 0x118]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
push str.EXEPATH:
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::Find_1
mov edi, eax
lea eax, [esp + 0xe4]
push edi
push eax
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::Left
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x57c], 0x23
call fcn.00423f0e
lea ecx, [esp + 0xe4]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x20]
lea edx, [esp + 0x80]
push ecx
push str._TD__FONT_face_Courier__size___2___colorblack_
push edx
call sub.MFC42u.DLL_operator_2
push 0x4386c4
push eax
lea eax, [esp + 0x110]
mov byte [esp + 0x580], 0x24
push eax
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x25
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0x108]
mov byte [esp + 0x578], 0x24
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x80]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x88]
push edi
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::Left
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x57c], 0x26
call fcn.00423f0e
lea ecx, [esp + 0x88]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
mov edx, dword [esp + 0x14]
mov eax, dword [edx - 8]
sub eax, edi
push eax
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::Right
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], 0x27
call fcn.00423f0e
lea ecx, [esp + 0x90]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
push 0x440958
push str.EXEPATH:
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::Replace
jmp 0x421800
push 0
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
call sub.MFC42u.DLL_CString::CString_4
mov eax, dword [esp + 0x588]
lea ecx, [esp + 0xa0]
push eax
push ecx
mov ecx, edi
call fcn.00421da0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], 0x28
call fcn.00423f0e
mov byte [esp + 0x578], bl
lea ecx, [esp + 0x98]
call sub.MFC42u.DLL_CString::CString
lea edx, [esp + 0x14]
lea eax, [esp + 0xa8]
push edx
push str._TD__FONT_face___Courier__face___Courier__size___2___colorblack_
push eax
call sub.MFC42u.DLL_operator_2
push 0x438664
lea ecx, [esp + 0xa4]
push eax
push ecx
mov byte [esp + 0x584], 0x29
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x2a
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0xa0]
mov byte [esp + 0x578], 0x29
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0xa8]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
mov edx, dword [esi]
push 2
push 0
mov ecx, esi
call dword [edx + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
mov ecx, dword [eax - 8]
add ecx, ecx
push ecx
push eax
mov ecx, esi
call dword [edx + 0x40]
lea ecx, [esp + 0x24]
mov byte [esp + 0x578], 0x1d
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x4214f4
lea ecx, [esp + 0x34]
mov byte [esp + 0x578], 0x1c
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x578], 0x1b
lea ecx, [esp + 0x14]
jmp 0x421d20
lea edx, [esp + 0x18]
lea eax, [esp + 0x30]
push edx
mov edx, dword [esp + 0x584]
push 0
push eax
lea ecx, [esp + 0x16c]
push 0
push ecx
push edx
call ebx
mov eax, dword [esp + 0x18]
inc eax
push eax
call sub.MFC42u.DLL_operatornew
mov ecx, dword [esp + 0x1c]
add esp, 4
inc ecx
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [esp + 0x40], edi
rep stosd dword es:[edi], eax
mov ecx, edx
lea edx, [esp + 0x160]
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x584]
push ecx
push 0
push 0
push edx
push eax
call ebx
push 0x440958
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString_1
mov eax, dword [esp + 0x18]
mov byte [esp + 0x578], 0x2b
test eax, eax
mov dword [esp + 0x28], 0
jbe 0x421d14
mov bl, 0x2d
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
mov edi, dword [edx + ecx]
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::CString_3
push edi
lea eax, [esp + 0x20]
push 0x437890
push eax
mov byte [esp + 0x584], 0x2c
call sub.MFC42u.DLL_CString::Format
mov ecx, ebp
add esp, 0xc
and ecx, 0x80000001
jns 0x4219a3
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x4219ac
push str._TR_height25_height25_BGCOLOR_FFFFFF__
jmp 0x4219b1
push str._TR_height25_height25_BGCOLOR_FFFFD9__
lea ecx, [esp + 0x14]
call fcn.00423f2c
lea ecx, [esp + 0x24]
inc ebp
call sub.MFC42u.DLL_CString::CString_3
push ebp
lea edx, [esp + 0x28]
push 0x43334c
push edx
mov byte [esp + 0x584], bl
call sub.MFC42u.DLL_CString::Format
add esp, 0xc
lea eax, [esp + 0x24]
lea ecx, [esp + 0xb8]
push eax
push str._TD__FONT_face_Courier__size___2___colorblack_
push ecx
call sub.MFC42u.DLL_operator_2
push 0x4386c4
lea edx, [esp + 0xb4]
push eax
push edx
mov byte [esp + 0x584], 0x2e
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x2f
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0xb0]
mov byte [esp + 0x578], 0x2e
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0xb8]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x24]
test eax, eax
je 0x421aa3
push 6
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call sub.MFC42u.DLL_CString::CString_4
mov ecx, dword [esp + 0x588]
lea edx, [esp + 0xc8]
push ecx
push edx
mov ecx, edi
call fcn.00421da0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], 0x30
call fcn.00423f0e
mov byte [esp + 0x578], bl
lea ecx, [esp + 0xc0]
jmp 0x421c4e
mov eax, dword [edi + 0x28]
test eax, eax
je 0x421c04
push 7
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call sub.MFC42u.DLL_CString::CString_4
mov ecx, dword [esp + 0x588]
lea edx, [esp + 0xd0]
push ecx
push edx
mov ecx, edi
call fcn.00421da0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], 0x31
call fcn.00423f0e
lea ecx, [esp + 0xc8]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
push str.EXEPATH:
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::Find_1
mov edi, eax
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0xdc]
push str._TD__FONT_face_Courier__size___2___colorblack_
push ecx
call sub.MFC42u.DLL_operator_2
push 0x4386c4
lea edx, [esp + 0xd4]
push eax
push edx
mov byte [esp + 0x584], 0x32
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x33
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0xd0]
mov byte [esp + 0x578], 0x32
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0xd8]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
lea eax, [esp + 0xe0]
push edi
push eax
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::Left
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x57c], 0x34
call fcn.00423f0e
lea ecx, [esp + 0xe0]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xe8]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x14]
sub eax, edi
push eax
push edx
call sub.MFC42u.DLL_CString::Right
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], 0x35
call fcn.00423f0e
lea ecx, [esp + 0xe8]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
push 0x440958
push str.EXEPATH:
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::Replace
jmp 0x421c53
push 0
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
call sub.MFC42u.DLL_CString::CString_4
mov ecx, dword [esp + 0x588]
lea edx, [esp + 0xf8]
push ecx
push edx
mov ecx, edi
call fcn.00421da0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x57c], 0x36
call fcn.00423f0e
mov byte [esp + 0x578], bl
lea ecx, [esp + 0xf0]
call sub.MFC42u.DLL_CString::CString
lea eax, [esp + 0x14]
lea ecx, [esp + 0x100]
push eax
push str._TD__FONT_face___Courier__face___Courier__size___2___colorblack_
push ecx
call sub.MFC42u.DLL_operator_2
push 0x438664
lea edx, [esp + 0xfc]
push eax
push edx
mov byte [esp + 0x584], 0x37
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x57c], 0x38
call sub.MFC42u.DLL_CString::operator
lea ecx, [esp + 0xf8]
mov byte [esp + 0x578], 0x37
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x100]
mov byte [esp + 0x578], bl
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esi]
push 2
push 0
mov ecx, esi
call dword [eax + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
mov ecx, dword [eax - 8]
add ecx, ecx
push ecx
push eax
mov ecx, esi
call dword [edx + 0x40]
lea ecx, [esp + 0x24]
mov byte [esp + 0x578], 0x2c
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x578], 0x2b
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x28], eax
jb 0x421965
mov byte [esp + 0x578], 0x1b
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x578], 2
lea ecx, [esp + 0x20]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0x578], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
mov dword [esp + 0x578], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x570]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x56c
ret 0xc