Function at 0x41d03d
Capabilities:
Contain obfuscated stackstrings
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4af4e4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x290
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [esp + 0x2b0]
mov eax, dword [esi + 0x30]
mov ebp, ebx
dec eax
and ebp, 1
mov dword [esp + 0x10], eax
jne 0x41d100
test bl, 4
jne 0x41d100
test bh, 0x18
jne 0x41d100
call sub.MFC42.DLL_AfxGetThread
test eax, eax
je 0x41d089
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
jmp 0x41d08b
xor eax, eax
push eax
push 0x4c4028
call sub.MFC42.DLL_AfxDynamicDownCast
add esp, 8
lea ecx, [esp + 0x14]
mov edi, eax
call sub.MFC42.DLL_CString::CString_2
push 1
lea eax, [esp + 0x18]
mov ebx, 0x86
push str.ProcessReply__d__unknown_reply_code
push eax
mov dword [esp + 0x2b4], ebx
call sub.MFC42.DLL_CString::Format_1
add esp, 0xc
lea edx, [esp + 0x14]
push 7
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call sub.MFC42.DLL_CString::CString_1
mov ecx, edi
mov byte [esp + 0x2b0], bl
call fcn.00461070
mov ecx, eax
call fcn.004a70d0
mov dword [esp + 0x2a8], 0xffffffff
lea ecx, [esp + 0x14]
jmp 0x41e48b
xor edi, edi
mov dword [esp + 0x2c], edi
call sub.MFC42.DLL_AfxGetThread
cmp eax, edi
je 0x41d118
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x7c]
jmp 0x41d11a
xor eax, eax
push eax
push 0x4c4028
call sub.MFC42.DLL_AfxDynamicDownCast
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2bc]
add esp, 8
cmp eax, edi
jne 0x41d608
mov eax, ebx
and eax, 0x1000
je 0x41d5ca
cmp dword [esi + 0x30], edi
jne 0x41d5ca
mov eax, dword [esi + 0x10]
cmp eax, edi
jge 0x41d15d
neg eax
mov dword [esi + 0x10], eax
mov ebp, dword [esi + 0x10]
push 0xb
inc ebp
mov dword [esi + 0x10], ebp
call fcn.00474d10
mov ecx, dword [esi + 0x10]
add esp, 4
cmp ecx, eax
jg 0x41d594
lea ecx, [esp + 0x110]
call fcn.00453470
lea ecx, [esp + 0x1a4]
mov dword [esp + 0x2a8], edi
call fcn.00495c80
lea eax, [esp + 0x1a4]
lea ecx, [esp + 0x110]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x2b0], 1
call fcn.00422a40
test eax, eax
je 0x41d564
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x38]
mov byte [esp + 0x2a8], 2
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x40]
mov byte [esp + 0x2a8], 3
call fcn.00495c80
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2a8], 4
call fcn.00495c80
lea edx, [esp + 0x78]
lea ecx, [esp + 0x78]
mov byte [esp + 0x2a8], 5
mov dword [esp + 0x10], edx
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2a8], 6
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x80]
mov byte [esp + 0x2a8], 7
call fcn.00495c80
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2a8], 8
call fcn.00453470
lea ecx, [esp + 0xe0]
mov byte [esp + 0x2a8], 9
call fcn.00453470
lea eax, [esp + 0x110]
lea ecx, [esp + 0xe0]
push eax
mov byte [esp + 0x2ac], 0xa
mov dword [esp + 0x34], 1
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [esp + 0x114]
lea edx, [esp + 0x118]
mov dword [esp + 0xe4], ecx
push edx
lea ecx, [esp + 0xec]
call sub.MFC42.DLL_CString::operator_1
lea eax, [esp + 0x11c]
lea ecx, [esp + 0xec]
push eax
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [esp + 0x120]
lea edx, [esp + 0x124]
mov dword [esp + 0xf0], ecx
push edx
lea ecx, [esp + 0xf8]
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x128]
lea edx, [esp + 0x130]
mov dword [esp + 0xfc], ecx
push edx
lea ecx, [esp + 0x104]
mov dword [esp + 0xfc], eax
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [esp + 0x138]
mov eax, dword [esp + 0x134]
mov dword [esp + 0x108], ecx
lea ecx, [esi + 0x28]
mov dword [esp + 0x104], eax
lea edx, [esp + 0x30]
mov eax, dword [ecx + 4]
push edx
mov eax, dword [eax]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004237d0
push 1
push 1
lea edx, [esp + 0x1ac]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.004965a0
mov ecx, esi
call fcn.0041eb30
mov ecx, esi
call fcn.00423130
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2a8], 0xb
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x130]
mov bl, 0xc
push 0x4e6998
push eax
mov byte [esp + 0x2b0], bl
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x41d43a
lea ecx, [esp + 0x130]
push 0x4e2694
lea edx, [esp + 0x28]
push ecx
push edx
call sub.MFC42.DLL_operator_3
lea ecx, [esp + 0x110]
lea edx, [esp + 0x20]
push ecx
push eax
push edx
mov byte [esp + 0x2b4], 0xd
call sub.MFC42.DLL_operator_4
push 0x4e2690
push eax
lea eax, [esp + 0x34]
mov byte [esp + 0x2b0], 0xe
push eax
call sub.MFC42.DLL_operator_3
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x2ac], 0xf
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2a8], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x2a8], 0xd
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x24]
mov byte [esp + 0x2a8], bl
call sub.MFC42.DLL_CString::CString
jmp 0x41d44b
lea ecx, [esp + 0x110]
push ecx
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x14]
push edx
push 0xbff
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x14]
lea edx, [esp + 0x24]
push ecx
push str.8uftp__
push edx
call sub.MFC42.DLL_operator
mov eax, dword [eax]
mov ecx, esi
push eax
mov byte [esp + 0x2ac], 0x10
call fcn.00423670
lea ecx, [esp + 0x24]
mov byte [esp + 0x2a8], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2a8], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a8], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xe0]
mov byte [esp + 0x2a8], 0x15
call fcn.004534f0
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2a8], 0x18
call fcn.004534f0
lea ecx, [esp + 0x80]
mov byte [esp + 0x2a8], 0x17
call fcn.004966f0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2a8], 0x16
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x2a8], 0x14
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2a8], 0x13
call fcn.004966f0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2a8], 0x12
call fcn.004966f0
lea ecx, [esp + 0x38]
mov byte [esp + 0x2a8], 0x11
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0x2a8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1a4]
mov byte [esp + 0x2a8], 0
call fcn.004966f0
lea ecx, [esp + 0x110]
mov dword [esp + 0x2a8], 0xffffffff
call fcn.004534f0
jmp 0x41e490
lea ecx, [esp + 0x24]
push ecx
call fcn.004abb50
add esp, 4
mov eax, dword [eax]
mov ecx, esi
push eax
mov dword [esp + 0x2ac], 0x19
call fcn.00423670
mov dword [esp + 0x2a8], 0xffffffff
lea ecx, [esp + 0x24]
jmp 0x41e48b
cmp eax, edi
je 0x41e490
lea edx, [esp + 0x24]
push edx
call fcn.004abb50
add esp, 4
mov eax, dword [eax]
mov ecx, esi
push eax
mov dword [esp + 0x2ac], 0x1a
call fcn.00423670
mov dword [esp + 0x2a8], 0xffffffff
lea ecx, [esp + 0x24]
jmp 0x41e48b
mov eax, dword [esi + 0x30]
cmp eax, edi
je 0x41dec7
mov eax, dword [esi + 0x2c]
mov edi, dword [eax]
mov ecx, dword [edi + 8]
lea edx, [edi + 0xc]
mov dword [esp + 0x30], ecx
push edx
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::CString_1
lea eax, [edi + 0x10]
lea ecx, [esp + 0x38]
push eax
mov dword [esp + 0x2ac], 0x1b
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [edi + 0x14]
lea edx, [edi + 0x18]
mov dword [esp + 0x3c], ecx
push edx
lea ecx, [esp + 0x44]
mov byte [esp + 0x2ac], 0x1c
call fcn.004965a0
lea eax, [edi + 0x34]
lea ecx, [esp + 0x5c]
push eax
mov byte [esp + 0x2ac], 0x1d
call fcn.004965a0
lea ecx, [edi + 0x50]
mov byte [esp + 0x2a8], 0x1e
push ecx
lea ecx, [esp + 0x7c]
call fcn.0041e4c0
add edi, 0xb8
lea ecx, [esp + 0xe0]
push edi
mov byte [esp + 0x2ac], 0x1f
call fcn.0041e5d0
mov eax, dword [esi + 0x2c]
lea edi, [esi + 0x28]
lea edx, [esp + 0x18]
mov ecx, edi
mov eax, dword [eax]
mov dword [esp + 0x2a8], 0x20
push eax
push edx
call fcn.00423830
mov eax, dword [esp + 0x30]
cmp eax, 4
mov dword [esp + 0x2c], eax
jne 0x41d936
lea eax, [esp + 0x78]
lea ecx, [esp + 0x13c]
push eax
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2a8], 0x21
push ecx
lea ecx, [esp + 0x144]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x80]
lea ecx, [esp + 0x144]
push edx
mov byte [esp + 0x2ac], 0x22
call fcn.004965a0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x160], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x164], ecx
push eax
lea ecx, [esp + 0x170]
mov byte [esp + 0x2ac], 0x23
mov dword [esp + 0x16c], edx
call fcn.0041e5d0
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], eax
mov edi, dword [esp + 0x1c]
push 0xffffffffffffffff
push ebx
mov ecx, edi
mov byte [esp + 0x2b0], 0x24
call fcn.00461090
mov ecx, eax
call fcn.00453050
mov ecx, eax
call fcn.0047ffe0
mov eax, dword [esp + 0x160]
test eax, eax
je 0x41d7e5
push ecx
lea edx, [esp + 0x140]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_1
mov ecx, edi
mov byte [esp + 0x2ac], 0x24
call fcn.004610c0
mov ecx, eax
call fcn.0045ec60
mov eax, dword [esi + 0x30]
test eax, eax
je 0x41d8e1
mov eax, dword [esi + 0x38]
lea ecx, [esi + 0x38]
call dword [eax + 0x1c]
lea ecx, [esp + 0x16c]
mov byte [esp + 0x2a8], 0x28
call fcn.004534f0
lea ecx, [esp + 0x144]
mov byte [esp + 0x2a8], 0x27
call fcn.004966f0
lea ecx, [esp + 0x140]
mov byte [esp + 0x2a8], 0x26
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2a8], 0x20
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xe0]
mov dword [esp + 0x2a8], 0x2d
call fcn.004534f0
lea ecx, [esp + 0x78]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2a8], 0x30
call fcn.004534f0
lea ecx, [esp + 0x80]
mov byte [esp + 0x2a8], 0x2f
call fcn.004966f0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2a8], 0x2e
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x2a8], 0x2c
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2a8], 0x2b
call fcn.004966f0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2a8], 0x2a
call fcn.004966f0
mov byte [esp + 0x2a8], 0x29
jmp 0x41db2d
lea ecx, [esp + 0x16c]
mov byte [esp + 0x2a8], 0x33
call fcn.004534f0
lea ecx, [esp + 0x144]
mov byte [esp + 0x2a8], 0x32
call fcn.004966f0
lea ecx, [esp + 0x140]
mov byte [esp + 0x2a8], 0x31
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x13c]
mov byte [esp + 0x2a8], 0x20
call sub.MFC42.DLL_CString::CString
jmp 0x41de17
cmp eax, 1
jne 0x41dd87
test bh, 0x20
je 0x41da3f
mov eax, dword [esi + 8]
test eax, eax
je 0x41d963
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x41d963
push 0x4e6998
lea ecx, [eax + 0xc]
call sub.MFC42.DLL_CString::operator
test ebp, ebp
je 0x41de17
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a8], 0x3c
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x100]
mov bl, 0x3d
push 0x4e6998
push ecx
mov byte [esp + 0x2b0], bl
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x41db4f
lea edx, [esp + 0x100]
push 0x4e2694
lea eax, [esp + 0x1c]
push edx
push eax
call sub.MFC42.DLL_operator_3
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x28]
push ecx
push eax
push edx
mov byte [esp + 0x2b4], 0x3e
call sub.MFC42.DLL_operator_4
push 0x4e2690
push eax
lea eax, [esp + 0x2c]
mov byte [esp + 0x2b0], 0x3f
push eax
call sub.MFC42.DLL_operator_3
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x2ac], 0x40
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x24]
mov byte [esp + 0x2a8], 0x3f
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x2a8], 0x3e
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x2a8], bl
call sub.MFC42.DLL_CString::CString
jmp 0x41db60
test ebx, 0x801
jne 0x41d963
mov eax, dword [esi + 0x10]
test eax, eax
jge 0x41da57
neg eax
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
push 0xb
inc eax
mov dword [esi + 0x10], eax
call fcn.00474d10
mov ecx, dword [esi + 0x10]
add esp, 4
cmp ecx, eax
jg 0x41d963
mov eax, dword [edi + 4]
lea edx, [esp + 0x30]
push edx
mov ecx, edi
mov eax, dword [eax]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.004237d0
mov ecx, esi
call fcn.00423130
mov edx, dword [esi + 0x38]
lea ecx, [esi + 0x38]
call dword [edx + 0x1c]
lea ecx, [esp + 0xe0]
mov dword [esp + 0x2a8], 0x38
call fcn.004534f0
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2a8], 0x3b
call fcn.004534f0
lea ecx, [esp + 0x80]
mov byte [esp + 0x2a8], 0x3a
call fcn.004966f0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2a8], 0x39
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x2a8], 0x37
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2a8], 0x36
call fcn.004966f0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2a8], 0x35
call fcn.004966f0
mov byte [esp + 0x2a8], 0x34
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov dword [esp + 0x2a8], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x41e499
lea ecx, [esp + 0xe0]
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x20]
push edx
push 0xbfe
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x20]
lea edx, [esp + 0x18]
push ecx
push str.8uftp__
push edx
call sub.MFC42.DLL_operator
mov eax, dword [eax]
mov ecx, esi
push eax
mov byte [esp + 0x2ac], 0x41
call fcn.00423670
lea ecx, [esp + 0x18]
mov byte [esp + 0x2a8], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c4]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x2a8], 0x42
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x2a8], 0x43
call fcn.00495c80
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x2a8], 0x44
call fcn.00495c80
lea eax, [esp + 0x208]
lea ecx, [esp + 0x208]
mov byte [esp + 0x2a8], 0x45
mov dword [esp + 0x18], eax
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x20c]
mov byte [esp + 0x2a8], 0x46
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x210]
mov byte [esp + 0x2a8], 0x47
call fcn.00495c80
lea ecx, [esp + 0x238]
mov byte [esp + 0x2a8], 0x48
call fcn.00453470
lea ecx, [esp + 0x270]
mov byte [esp + 0x2a8], 0x49
call fcn.00453470
push str.OPTS_UTF8_OFF
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x2ac], 0x4a
mov dword [esp + 0x1c4], 0x10
call sub.MFC42.DLL_CString::operator
mov eax, dword [edi + 4]
lea ecx, [esp + 0x1c0]
push ecx
lea edx, [esp + 0x1c]
mov eax, dword [eax]
mov ecx, edi
push eax
push edx
call fcn.004237d0
lea ecx, [esp + 0x270]
mov byte [esp + 0x2a8], 0x4f
call fcn.004534f0
lea eax, [esp + 0x208]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x238]
mov byte [esp + 0x2a8], 0x52
call fcn.004534f0
lea ecx, [esp + 0x210]
mov byte [esp + 0x2a8], 0x51
call fcn.004966f0
lea ecx, [esp + 0x20c]
mov byte [esp + 0x2a8], 0x50
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x208]
mov byte [esp + 0x2a8], 0x4e
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x2a8], 0x4d
call fcn.004966f0
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x2a8], 0x4c
call fcn.004966f0
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x2a8], 0x4b
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c4]
mov byte [esp + 0x2a8], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a8], 0x3c
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x2a8], 0x20
call sub.MFC42.DLL_CString::CString
jmp 0x41de17
cmp eax, 2
jne 0x41de17
push ecx
cmp ebx, 1
mov ecx, esp
je 0x41ddcd
lea edx, [esp + 0x38]
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_1
sub esp, 0x1c
lea eax, [esp + 0x60]
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
mov byte [esp + 0x2cc], 0x53
call fcn.004965a0
mov byte [esp + 0x2c8], 0x20
push 0
jmp 0x41de00
lea edx, [esp + 0x38]
mov dword [esp + 0x1c], esp
push edx
call sub.MFC42.DLL_CString::CString_1
sub esp, 0x1c
lea eax, [esp + 0x60]
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
mov byte [esp + 0x2cc], 0x55
call fcn.004965a0
mov byte [esp + 0x2c8], 0x20
push 1
mov ecx, dword [esp + 0x40]
call fcn.00461100
mov ecx, eax
call fcn.00453050
mov ecx, eax
call fcn.00446650
lea ecx, [esp + 0xe0]
mov dword [esp + 0x2a8], 0x5b
call fcn.004534f0
lea ecx, [esp + 0x78]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2a8], 0x5e
call fcn.004534f0
lea ecx, [esp + 0x80]
mov byte [esp + 0x2a8], 0x5d
call fcn.004966f0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2a8], 0x5c
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x2a8], 0x5a
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2a8], 0x59
call fcn.004966f0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2a8], 0x58
call fcn.004966f0
lea ecx, [esp + 0x38]
mov byte [esp + 0x2a8], 0x57
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov dword [esp + 0x2a8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x10]
test eax, eax
je 0x41e3d6
mov eax, dword [esi + 0x30]
test eax, eax
je 0x41e3dd
mov bl, 0x7d
mov eax, dword [esi + 0x2c]
lea ecx, [esp + 0x34]
mov edi, dword [eax]
mov edx, dword [edi + 8]
lea eax, [edi + 0xc]
push eax
mov dword [esp + 0x34], edx
call sub.MFC42.DLL_CString::CString_1
lea ecx, [edi + 0x10]
mov dword [esp + 0x2a8], 0x5f
push ecx
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::CString_1
mov edx, dword [edi + 0x14]
lea eax, [edi + 0x18]
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x2ac], 0x60
mov dword [esp + 0x40], edx
call fcn.004965a0
lea ecx, [edi + 0x34]
mov byte [esp + 0x2a8], 0x61
push ecx
lea ecx, [esp + 0x60]
call fcn.004965a0
lea edx, [edi + 0x50]
lea ecx, [esp + 0x78]
push edx
mov byte [esp + 0x2ac], 0x62
call fcn.0041e4c0
add edi, 0xb8
lea ecx, [esp + 0xe0]
push edi
mov byte [esp + 0x2ac], 0x63
call fcn.0041e5d0
mov ecx, dword [esi + 0x24]
lea eax, [esp + 0x30]
push eax
mov dword [esp + 0x2ac], 0x64
call fcn.0042c6c0
mov ebp, eax
cmp ebp, 2
je 0x41e0ea
mov eax, dword [esi + 0x2c]
push 0
mov edi, dword [eax]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov dword [eax], ecx
mov edx, dword [edi]
mov eax, dword [edi + 4]
lea ecx, [edi + 8]
mov dword [edx + 4], eax
call fcn.00423aa0
push edi
call sub.MFC42.DLL_operatordelete
mov edx, dword [esi + 0x30]
mov eax, dword [esp + 0x34]
add esp, 4
dec edx
cmp eax, 2
mov dword [esi + 0x30], edx
jne 0x41e022
push ecx
lea edx, [esp + 0x38]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call sub.MFC42.DLL_CString::CString_1
sub esp, 0x1c
lea eax, [esp + 0x60]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
mov byte [esp + 0x2cc], 0x73
call fcn.004965a0
xor ecx, ecx
cmp ebp, 1
sete cl
push ecx
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x2cc], 0x64
call fcn.00461100
mov ecx, eax
call fcn.00453050
mov ecx, eax
call fcn.00446650
jmp 0x41e02b
cmp eax, 4
je 0x41e30b
lea ecx, [esp + 0xe0]
mov dword [esp + 0x2a8], 0x81
call fcn.004534f0
lea edx, [esp + 0x78]
mov dword [esp + 0x10], edx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2a8], 0x84
call fcn.004534f0
lea ecx, [esp + 0x80]
mov byte [esp + 0x2a8], 0x83
call fcn.004966f0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2a8], 0x82
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x2a8], 0x80
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2a8], 0x7f
call fcn.004966f0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2a8], 0x7e
call fcn.004966f0
lea ecx, [esp + 0x38]
mov byte [esp + 0x2a8], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov dword [esp + 0x2a8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, dword [esi + 0x30]
test eax, eax
jne 0x41dee0
jmp 0x41e3d6
cmp dword [esp + 0x30], 1
jne 0x41e256
lea eax, [esp + 0xe0]
lea ecx, [esi + 0x14]
push eax
call fcn.00495650
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a8], 0x65
call sub.MFC42.DLL_CString::CString_2
mov ecx, dword [esp + 0x100]
mov bl, 0x66
push 0x4e6998
push ecx
mov byte [esp + 0x2b0], bl
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x41e1d6
lea edx, [esp + 0x100]
push 0x4e2694
lea eax, [esp + 0x2c]
push edx
push eax
call sub.MFC42.DLL_operator_3
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x18]
push ecx
push eax
push edx
mov byte [esp + 0x2b4], 0x67
call sub.MFC42.DLL_operator_4
push 0x4e2690
push eax
lea eax, [esp + 0x18]
mov byte [esp + 0x2b0], 0x68
push eax
call sub.MFC42.DLL_operator_3
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x2ac], 0x69
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x10]
mov byte [esp + 0x2a8], 0x68
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x2a8], 0x67
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x28]
mov byte [esp + 0x2a8], bl
call sub.MFC42.DLL_CString::CString
jmp 0x41e1e7
lea ecx, [esp + 0xe0]
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::operator_1
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x20]
push edx
push 0xbff
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea ecx, [esp + 0x20]
lea edx, [esp + 0x10]
push ecx
push str.8uftp__
push edx
call sub.MFC42.DLL_operator
mov eax, dword [eax]
mov ecx, esi
push eax
mov byte [esp + 0x2ac], 0x6a
call fcn.00423670
lea ecx, [esp + 0x10]
mov byte [esp + 0x2a8], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x2a8], 0x65
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x2a8], 0x64
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xe0]
mov dword [esp + 0x2a8], 0x6f
call fcn.004534f0
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2a8], 0x72
call fcn.004534f0
lea ecx, [esp + 0x80]
mov byte [esp + 0x2a8], 0x71
call fcn.004966f0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2a8], 0x70
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x2a8], 0x6e
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2a8], 0x6d
call fcn.004966f0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2a8], 0x6c
call fcn.004966f0
lea ecx, [esp + 0x38]
mov byte [esp + 0x2a8], 0x6b
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov dword [esp + 0x2a8], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x41e499
mov ecx, dword [esp + 0x1c]
push 0xffffffffffffffff
push 4
call fcn.00461090
mov ecx, eax
call fcn.00453050
mov ecx, eax
call fcn.0047ffe0
lea ecx, [esp + 0xe0]
mov dword [esp + 0x2a8], 0x79
call fcn.004534f0
lea ecx, [esp + 0x78]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x2a8], 0x7c
call fcn.004534f0
lea ecx, [esp + 0x80]
mov byte [esp + 0x2a8], 0x7b
call fcn.004966f0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x2a8], 0x7a
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x2a8], 0x78
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x5c]
mov byte [esp + 0x2a8], 0x77
call fcn.004966f0
lea ecx, [esp + 0x40]
mov byte [esp + 0x2a8], 0x76
call fcn.004966f0
lea ecx, [esp + 0x38]
mov byte [esp + 0x2a8], 0x75
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x34]
mov dword [esp + 0x2a8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, dword [esi + 0x30]
test eax, eax
jne 0x41e40e
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.00461090
mov ecx, eax
call fcn.00453050
mov ecx, eax
call fcn.004877c0
push eax
mov ecx, edi
call fcn.00461090
mov ecx, eax
call fcn.00453050
mov ecx, eax
call fcn.00487b40
jmp 0x41e412
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 0x30]
test eax, eax
jne 0x41e444
cmp dword [esp + 0x2c], 2
je 0x41e444
mov ecx, edi
call fcn.00461100
mov ecx, eax
call fcn.00453050
mov ecx, eax
call fcn.00446170
test eax, eax
je 0x41e444
push 0
push 9
mov ecx, esi
call fcn.0041e680
mov ecx, esi
call fcn.00420140
test eax, eax
jne 0x41e490
mov ecx, esi
call fcn.0041f3e0
test eax, eax
jne 0x41e490
lea edx, [esp + 0x10]
push edx
call fcn.004abb50
add esp, 4
mov eax, dword [eax]
mov ecx, esi
push eax
mov dword [esp + 0x2ac], 0x85
call fcn.00423670
mov dword [esp + 0x2a8], 0xffffffff
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
mov eax, dword [esi + 0x38]
lea ecx, [esi + 0x38]
call dword [eax + 0x1c]
mov ecx, dword [esp + 0x2a0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x29c
ret 8