Function at 0x432510
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4b6998
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x890
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x8bc]
mov ebp, dword [esp + 0x8b8]
test eax, eax
mov dword [esp + 0x8a8], 0
je 0x43256e
push ebp
push ecx
lea eax, [esp + 0x8b8]
mov ecx, esp
mov dword [esp + 0x70], esp
push eax
call sub.MFC42u.DLL_CString::CString_3
mov ecx, esi
call fcn.00431bb0
lea edi, [esi + 0x6c]
push edi
mov dword [esp + 0x68], edi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ecx, [esp + 0x8b0]
lea edx, [esi + 0x24]
push ecx
lea eax, [esp + 0x18]
push edx
push eax
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x8b4]
mov byte [esp + 0x8ac], 1
call sub.MFC42u.DLL_CString::operator_2
lea ecx, [esp + 0x14]
mov byte [esp + 0x8a8], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x50]
call fcn.004b0208
lea ecx, [esp + 0x50]
lea edx, [esp + 0x8b0]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x70], esp
push edx
mov byte [esp + 0x8b4], 2
call sub.MFC42u.DLL_CString::CString_3
mov ecx, esi
call fcn.00434e70
test eax, eax
je 0x432634
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [esp + 0x50]
mov byte [esp + 0x8a8], 0
call sub.MFC42u.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x8b0]
mov dword [esp + 0x8a8], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov eax, 1
jmp 0x432f0c
mov eax, dword [esp + 0x58]
mov edi, 3
xor esi, esi
cmp eax, edi
mov dword [esp + 0x28], esi
jle 0x43267f
lea eax, [edi + 1]
lea ecx, [esp + 0x14]
push eax
push ecx
lea ecx, [esp + 0x58]
call fcn.00401460
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi]
add esp, 4
lea ecx, [esp + 0x14]
add esi, eax
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x58]
add edi, 2
cmp edi, eax
jl 0x432647
mov dword [esp + 0x28], esi
lea edx, [esp + 0x14]
push 2
push edx
lea ecx, [esp + 0x58]
call fcn.00401460
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi64]
mov ebx, eax
mov edi, edx
add esp, 4
lea ecx, [esp + 0x14]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edi
call sub.MFC42u.DLL_CString::CString
test edi, edi
jl 0x432706
jg 0x4326ba
test ebx, ebx
jbe 0x432706
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::CString_1
add ebx, 1
lea eax, [esp + 0x18]
adc edi, 0
mov byte [esp + 0x8a8], 3
push edi
push ebx
push str._I64d
push eax
call sub.MFC42u.DLL_CString::Format
add esp, 0x10
lea ecx, [esp + 0x18]
push 1
push ecx
push 0
mov ecx, ebp
call sub.MFC42u.DLL_CStringArray::InsertAt_1
lea ecx, [esp + 0x18]
mov byte [esp + 0x8a8], 2
call sub.MFC42u.DLL_CString::CString
push esi
call sub.MFC42u.DLL_operatornew
mov ecx, esi
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [esp + 0x20], edi
add esp, 4
rep stosd dword es:[edi], eax
mov ecx, edx
xor ebx, ebx
and ecx, 3
rep stosb byte es:[edi], al
cmp dword [esp + 0x58], 3
jle 0x432829
xor esi, esi
jmp 0x43273f
mov ebp, dword [esp + 0x8b8]
mov eax, esi
mov ecx, dword [ebp + 8]
cdq
sub eax, edx
mov edi, eax
sar edi, 1
cmp ecx, edi
jle 0x432825
lea eax, [esp + 0x34]
push edi
push eax
mov ecx, ebp
call fcn.00401460
lea ecx, [esp + 0x14]
push edi
push ecx
mov ecx, ebp
mov byte [esp + 0x8b0], 4
call fcn.00401460
mov eax, dword [eax]
mov byte [esp + 0x8a8], 5
push eax
call fcn.00428bd0
add esp, 4
lea ecx, [esp + 0x14]
mov edi, eax
mov byte [esp + 0x8a8], 4
call sub.MFC42u.DLL_CString::CString
lea ebp, [esi + 4]
lea edx, [esp + 0x20]
push ebp
push edx
lea ecx, [esp + 0x58]
call fcn.00401460
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi]
dec eax
push eax
mov eax, dword [esp + 0x24]
push edi
lea ecx, [ebx + eax]
push ecx
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0x10
lea ecx, [esp + 0x20]
call sub.MFC42u.DLL_CString::CString
push edi
call fcn.00428c40
add esp, 4
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x50]
push ebp
push edx
call fcn.00401460
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi]
add esp, 4
lea ecx, [esp + 0x2c]
add ebx, eax
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x34]
mov byte [esp + 0x8a8], 2
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x58]
add esi, 2
lea eax, [esi + 3]
cmp eax, ecx
jl 0x432738
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x8b0]
push 0
push ecx
call dword [sym.imp.MSVCRT.dll__waccess]
add esp, 8
test eax, eax
je 0x432891
mov edx, dword [esp + 0x1c]
push edx
call sub.MFC42u.DLL_operatordelete
mov esi, dword [esp + 0x68]
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [esp + 0x50]
mov byte [esp + 0x8a8], 0
call sub.MFC42u.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x8b0]
mov dword [esp + 0x8a8], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov eax, 2
jmp 0x432f0c
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CFile::CFile
lea ecx, [esp + 0x6c]
mov byte [esp + 0x8a8], 6
call sub.MFC42u.DLL_CException::CException
lea ecx, [esp + 0x7c]
mov byte [esp + 0x8a8], 7
call sub.MFC42u.DLL_CString::CString_1
mov edi, 0x4bc494
or ebp, 0xffffffff
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x8ac], 8
mov dword [esp + 0x70], edi
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], ebp
call fcn.004b0454
mov ecx, dword [esp + 0x8b0]
lea eax, [esp + 0x6c]
push eax
push 0x12
push ecx
lea ecx, [esp + 0x44]
mov byte [esp + 0x8b4], 9
call sub.MFC42u.DLL_CFile::Open
test eax, eax
jne 0x432989
mov edx, dword [esp + 0x1c]
push edx
call sub.MFC42u.DLL_operatordelete
mov esi, dword [esp + 0x68]
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov dword [esp + 0x6c], edi
lea ecx, [esp + 0x7c]
mov byte [esp + 0x8a8], 0xa
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x38]
mov dword [esp + 0x6c], 0x4bc480
mov byte [esp + 0x8a8], 2
call fcn.004b0436
lea ecx, [esp + 0x50]
mov byte [esp + 0x8a8], 0
call sub.MFC42u.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x8b0]
mov dword [esp + 0x8a8], ebp
call sub.MFC42u.DLL_CString::CString
mov eax, 3
jmp 0x432f0c
mov eax, dword [esp + 0x8bc]
cmp eax, 1
jne 0x432a84
mov eax, dword [esp + 0x38]
push 2
push 0
lea ecx, [esp + 0x40]
call dword [eax + 0x30]
mov ecx, dword [esp + 0x1c]
push esi
push ecx
lea ecx, [esp + 0x40]
call sub.MFC42u.DLL_CFile::Write
mov edi, dword [esp + 0x4c]
test edi, edi
jl 0x432e8c
mov esi, dword [esp + 0x48]
jg 0x4329d1
test esi, esi
jbe 0x432e8c
mov edx, dword [esp + 0x38]
push 0
push 0
lea ecx, [esp + 0x40]
call dword [edx + 0x30]
mov ebx, dword [esp + 0x30]
add esi, 1
adc edi, 0
lea eax, [esp + 0x50]
push edi
push esi
push 1
lea ecx, [esp + 0x2c]
push eax
push ecx
mov ecx, ebx
call fcn.00431560
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], edi
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0xa1]
mov byte [esp + 0xa0], 0
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x20]
mov byte [esp + 0x8a8], 0xb
stosw word es:[edi], ax
push edx
stosb byte es:[edi], al
call fcn.00428bd0
mov ebx, eax
mov ecx, ebp
mov edi, ebx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0xa4]
push ecx
push ebx
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
push ebx
call fcn.00428c40
add esp, 0x14
lea ecx, [esp + 0xa0]
push 0x800
push ecx
lea ecx, [esp + 0x40]
call sub.MFC42u.DLL_CFile::Write
lea ecx, [esp + 0x20]
mov byte [esp + 0x8a8], 9
call sub.MFC42u.DLL_CString::CString
jmp 0x432e8c
cmp eax, 3
jne 0x432a9c
push 0x800
lea ecx, [esp + 0x3c]
call sub.MFC42u.DLL_CFile::SetLength
jmp 0x432e8c
cmp eax, 2
je 0x432aa9
test eax, eax
jne 0x432e8c
push 0
push 0x800
lea ecx, [esp + 0x40]
call sub.MFC42u.DLL_CFile::Seek
push esi
call sub.MFC42u.DLL_operatornew
mov ecx, esi
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [esp + 0x18], edi
push esi
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
call sub.MFC42u.DLL_operatornew
mov edx, eax
mov ecx, esi
xor eax, eax
mov edi, edx
shr ecx, 2
mov ebp, dword [esp + 0x8bc]
add esp, 8
rep stosd dword es:[edi], eax
mov ecx, esi
mov dword [esp + 0x24], edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp + 8]
xor edi, edi
cmp eax, edi
jle 0x432e72
mov esi, dword [esp + 0x28]
lea ecx, [esp + 0x38]
push esi
push edx
call sub.MFC42u.DLL_CFile::Read
cmp eax, esi
jne 0x432e72
jmp 0x432b27
xor edi, edi
mov eax, dword [ebp + 8]
mov byte [esp + 0x13], 0
cmp eax, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x34], edi
jle 0x432e57
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2c], 1
cmp eax, 3
mov dword [esp + 0x30], 3
jle 0x432de1
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x80]
push eax
push ecx
mov ecx, ebp
call fcn.00401460
mov esi, eax
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x9c]
push edx
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x8b0], 0xc
call fcn.00401460
mov esi, dword [esi]
mov ecx, dword [eax]
mov edi, dword [sym.imp.MSVCRT.dll_wcscmp]
push esi
push ecx
call edi
add esp, 8
lea ecx, [esp + 0x9c]
test eax, eax
sete bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x80]
mov byte [esp + 0x8a8], 9
call sub.MFC42u.DLL_CString::CString
test bl, bl
je 0x432d91
mov esi, dword [esp + 0x2c]
lea edx, [esp + 0x20]
push esi
push edx
mov ecx, ebp
call fcn.00401460
mov al, byte [esp + 0x8c4]
mov byte [esp + 0x8a8], 0xd
test al, al
push esi
je 0x432cbf
lea eax, [esp + 0x8c]
mov ecx, ebp
push eax
call fcn.00401460
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov esi, dword [eax]
add edx, ecx
lea eax, [esp + 0x84]
push edx
push eax
mov byte [esp + 0x8b0], 0xe
call fcn.00428ae0
mov eax, dword [eax]
push esi
push eax
call dword [sym.imp.MSVCRT.dll_wcsstr]
add esp, 0x10
lea ecx, [esp + 0x84]
test eax, eax
setne bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x88]
mov byte [esp + 0x8a8], 0xd
call sub.MFC42u.DLL_CString::CString
test bl, bl
je 0x432e04
mov eax, dword [esp + 0x4c]
test eax, eax
jl 0x432d7b
jg 0x432c7c
mov eax, dword [esp + 0x48]
test eax, eax
jbe 0x432d7b
lea ecx, [esp + 0x90]
push 4
push ecx
lea ecx, [esp + 0x58]
call fcn.00401460
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov ecx, eax
add esp, 4
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x90]
jmp 0x432d76
lea eax, [esp + 0x98]
mov ecx, ebp
push eax
call fcn.00401460
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov esi, dword [eax]
add edx, ecx
lea eax, [esp + 0x98]
push edx
push eax
mov byte [esp + 0x8b0], 0xf
call fcn.00428ae0
mov eax, dword [eax]
push esi
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x98]
test eax, eax
sete bl
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x94]
mov byte [esp + 0x8a8], 0xd
call sub.MFC42u.DLL_CString::CString
test bl, bl
je 0x432e04
mov eax, dword [esp + 0x4c]
test eax, eax
jl 0x432d7b
jg 0x432d38
mov eax, dword [esp + 0x48]
test eax, eax
jbe 0x432d7b
lea ecx, [esp + 0x8c]
push 4
push ecx
lea ecx, [esp + 0x58]
call fcn.00401460
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov ecx, eax
add esp, 4
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x8c]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x13], 1
mov byte [esp + 0x8a8], 9
call sub.MFC42u.DLL_CString::CString
mov esi, dword [esp + 0x30]
lea ecx, [esp + 0x68]
lea eax, [esi + 1]
push eax
push ecx
lea ecx, [esp + 0x58]
call fcn.00401460
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__wtoi]
mov edi, dword [esp + 0x1c]
add esp, 4
add edi, eax
lea ecx, [esp + 0x68]
mov dword [esp + 0x18], edi
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x58]
add esi, 2
cmp esi, eax
mov dword [esp + 0x30], esi
jl 0x432b5c
mov cl, byte [esp + 0x13]
test cl, cl
jne 0x432e17
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x2c]
mov edx, dword [ebp + 8]
add ecx, 2
add esi, 2
cmp ecx, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], esi
jl 0x432b4b
jmp 0x432e57
lea ecx, [esp + 0x20]
mov byte [esp + 0x8a8], 9
call sub.MFC42u.DLL_CString::CString
jmp 0x432e57
mov esi, dword [esp + 0x28]
push 1
mov edx, esi
lea ecx, [esp + 0x3c]
neg edx
push edx
call sub.MFC42u.DLL_CFile::Seek
mov eax, dword [esp + 0x8bc]
push esi
test eax, eax
jne 0x432e3e
mov eax, dword [esp + 0x18]
push eax
jmp 0x432e43
mov ecx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x40]
call sub.MFC42u.DLL_CFile::Write
mov al, byte [esp + 0x8c0]
test al, al
jne 0x432e72
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push esi
push edx
lea ecx, [esp + 0x40]
call sub.MFC42u.DLL_CFile::Read
cmp eax, esi
je 0x432b25
mov eax, dword [esp + 0x14]
push eax
call sub.MFC42u.DLL_operatordelete
mov ecx, dword [esp + 0x28]
push ecx
call sub.MFC42u.DLL_operatordelete
add esp, 8
or ebp, 0xffffffff
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CFile::Close
mov edx, dword [esp + 0x1c]
push edx
call sub.MFC42u.DLL_operatordelete
mov esi, dword [esp + 0x68]
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov dword [esp + 0x6c], 0x4bc494
lea ecx, [esp + 0x7c]
mov byte [esp + 0x8a8], 0x10
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x38]
mov dword [esp + 0x6c], 0x4bc480
mov byte [esp + 0x8a8], 2
call fcn.004b0436
lea ecx, [esp + 0x50]
mov byte [esp + 0x8a8], 0
call sub.MFC42u.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x8b0]
mov dword [esp + 0x8a8], ebp
call sub.MFC42u.DLL_CString::CString
xor eax, eax
mov ecx, dword [esp + 0x8a0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x89c
ret 0x18