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

Disassembly:
push 0xffffffffffffffff
push 0x4b6c18
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov ebx, dword [esp + 0x7c]
xor edi, edi
mov dword [esp + 0x70], edi
mov eax, dword [ebx + 8]
cmp eax, 2
jne 0x4344ed
push 0x52fde4
push eax
mov ecx, ebx
call sub.MFC42u.DLL_CStringArray::SetAtGrow
mov ecx, dword [ebx + 8]
mov ebp, 3
mov eax, ecx
cdq
idiv ebp
test edx, edx
jne 0x4346a6
cmp ecx, edi
jle 0x4346a6
jmp 0x434510
mov ebx, dword [esp + 0x7c]
lea eax, [edi + 2]
lea ecx, [esp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.00401460
mov ecx, dword [0x52fda8]
mov edx, dword [eax]
push ecx
push edx
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
lea ecx, [esp + 0x1c]
test eax, eax
sete bl
call sub.MFC42u.DLL_CString::CString
test bl, bl
jne 0x434556
mov eax, dword [esp + 0x7c]
add edi, 3
cmp edi, dword [eax + 8]
jl 0x43450c
jmp 0x4346a6
lea ecx, [edi + 1]
lea edx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x80]
push edx
call fcn.00401460
push 0x4d00d8
lea ecx, [esp + 0x18]
mov byte [esp + 0x74], 1
call sub.MFC42u.DLL_CString::Find_1
lea ecx, [esp + 0x1c]
mov ebp, eax
call sub.MFC42u.DLL_CString::CString_1
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 2
call sub.MFC42u.DLL_CString::CString_1
mov ebx, dword [sym.imp.MSVCRT.dll_wcslen]
cmp ebp, 0xffffffff
mov byte [esp + 0x70], 3
je 0x43460c
lea eax, [esp + 0x20]
push ebp
push eax
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::Left
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 4
call sub.MFC42u.DLL_CString::operator_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x70], 3
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x14]
push ecx
call ebx
sub eax, ebp
add esp, 4
dec eax
lea edx, [esp + 0x20]
push eax
push edx
lea ecx, [esp + 0x1c]
call sub.MFC42u.DLL_CString::Right
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x74], 5
call sub.MFC42u.DLL_CString::operator_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x70], 3
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x1c]
push eax
call ebx
add esp, 4
cmp eax, 0xa
jb 0x434670
mov ecx, dword [esp + 0x18]
push ecx
call ebx
add esp, 4
cmp eax, 0xa
jb 0x434670
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call sub.MFC42u.DLL_CString::CString_3
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.00433fb0
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push ecx
mov dword [esi + 0x1c], ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push edx
call sub.MFC42u.DLL_CString::CString_3
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.00433fb0
mov ecx, dword [eax]
mov dword [esi + 0x20], ecx
jmp 0x43467c
mov ecx, dword [esp + 0x7c]
push 3
push edi
call sub.MFC42u.DLL_CStringArray::RemoveAt
lea ecx, [esp + 0x18]
mov byte [esp + 0x70], 2
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x70], 1
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x70], 0
call sub.MFC42u.DLL_CString::CString
lea edx, [esp + 0x78]
lea ecx, [esp + 0x10]
push edx
call sub.MFC42u.DLL_CString::CString_3
xor ebp, ebp
push 0xffffffffffffffff
mov dword [esi + 0x58], ebp
mov dword [esi + 0x60], ebp
push ebp
lea ecx, [esi + 8]
mov byte [esp + 0x78], 6
mov dword [esi + 0x5c], ebp
mov dword [esi + 0x64], ebp
call sub.MFC42u.DLL_CDWordArray::SetSize
lea ecx, [esp + 0x78]
lea eax, [esi + 0x24]
push ecx
lea edx, [esp + 0x24]
push eax
push edx
call sub.MFC42u.DLL_operator
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0x74], 7
call sub.MFC42u.DLL_CString::operator_2
lea ecx, [esp + 0x20]
mov byte [esp + 0x70], 6
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x54]
call fcn.004b0208
lea eax, [esp + 0x54]
lea edx, [esp + 0x78]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x7c], 8
call sub.MFC42u.DLL_CString::CString_3
mov ecx, esi
call fcn.00434e70
cmp eax, ebp
je 0x434786
mov eax, dword [esp + 0x10]
push str.term.tbl
push eax
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
cmp eax, ebp
jne 0x43474f
mov ecx, esi
call fcn.00434430
lea ecx, [esp + 0x54]
mov byte [esp + 0x70], 6
call sub.MFC42u.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x78]
mov dword [esp + 0x70], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov eax, 1
jmp 0x434e4f
mov eax, dword [esp + 0x5c]
mov edi, 3
cmp eax, edi
jle 0x4347cd
mov ebx, dword [sym.imp.MSVCRT.dll__wtoi]
lea ecx, [edi + 1]
lea edx, [esp + 0x20]
push ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.00401460
mov eax, dword [eax]
push eax
call ebx
add esp, 4
lea ecx, [esp + 0x20]
add ebp, eax
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x5c]
add edi, 2
cmp edi, eax
jl 0x434799
test ebp, ebp
jg 0x434804
lea ecx, [esp + 0x54]
mov byte [esp + 0x70], 6
call sub.MFC42u.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x78]
mov dword [esp + 0x70], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov eax, 4
jmp 0x434e4f
mov ecx, dword [esp + 0x84]
add eax, 0xfffffffd
cdq
sub eax, edx
mov edx, dword [esp + 0x78]
sar eax, 1
push 0
push edx
mov dword [ecx], eax
call dword [sym.imp.MSVCRT.dll__waccess]
add esp, 8
test eax, eax
je 0x43487e
mov eax, dword [esp + 0x10]
push str.term.tbl
push eax
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x434847
mov ecx, esi
call fcn.00434430
lea ecx, [esp + 0x54]
mov byte [esp + 0x70], 6
call sub.MFC42u.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x78]
mov dword [esp + 0x70], 0xffffffff
call sub.MFC42u.DLL_CString::CString
mov eax, 2
jmp 0x434e4f
lea ecx, [esp + 0x30]
call sub.MFC42u.DLL_CFile::CFile
lea ecx, [esp + 0x40]
mov byte [esp + 0x70], 9
call sub.MFC42u.DLL_CException::CException
lea ecx, [esp + 0x50]
mov byte [esp + 0x70], 0xa
call sub.MFC42u.DLL_CString::CString_1
mov edi, 0x4bc494
or ebx, 0xffffffff
push 0
lea ecx, [esp + 0x54]
mov byte [esp + 0x74], 0xb
mov dword [esp + 0x44], edi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], ebx
call fcn.004b0454
mov edx, dword [esp + 0x78]
lea ecx, [esp + 0x40]
push ecx
push 0x40
push edx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x7c], 0xc
call sub.MFC42u.DLL_CFile::Open
test eax, eax
jne 0x434962
mov eax, dword [esp + 0x10]
push str.term.tbl
push eax
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
jne 0x434907
mov ecx, esi
call fcn.00434430
mov dword [esp + 0x40], edi
lea ecx, [esp + 0x50]
mov byte [esp + 0x70], 0xd
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x30]
mov dword [esp + 0x40], 0x4bc480
mov byte [esp + 0x70], 8
call fcn.004b0436
lea ecx, [esp + 0x54]
mov byte [esp + 0x70], 6
call sub.MFC42u.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x78]
mov dword [esp + 0x70], ebx
call sub.MFC42u.DLL_CString::CString
mov eax, 3
jmp 0x434e4f
lea ecx, [esp + 0x30]
call sub.MFC42u.DLL_CFile::GetLength
mov ecx, eax
mov eax, ebp
xor edi, edi
sub ecx, 0x800
cdq
sbb edi, edi
push edx
push eax
push edi
push ecx
call fcn.004b0ca0
mov ebx, eax
mov eax, dword [esi + 0x40]
mov dword [esi + 0x48], ebx
mov dword [esp + 0x2c], edx
test eax, eax
mov dword [esi + 0x4c], edx
push 0
je 0x4349a7
mov ecx, dword [esi + 0x38]
imul ecx, ebp
add ecx, 0x800
push ecx
jmp 0x4349ac
push 0x800
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CFile::Seek
push ebp
call sub.MFC42u.DLL_operatornew
mov ecx, ebp
mov edi, eax
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [esp + 0x18], edi
add esp, 4
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov al, byte [esi + 0x28]
test al, al
jne 0x434bbe
mov cl, byte [esi + 0x44]
test cl, cl
jne 0x434bbe
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
mov ebx, dword [esp + 0x14]
mov dword [esi + 0x58], eax
mov dword [esi + 0x60], eax
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x64], ecx
push ebp
push ebx
lea ecx, [esp + 0x38]
mov dword [esp + 0x20], 0
call sub.MFC42u.DLL_CFile::Read
cmp eax, ebp
jne 0x434ba6
push 0x4e2868
lea ecx, [esp + 0x88]
call sub.MFC42u.DLL_CString::CString_4
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
mov byte [esp + 0x78], 0x11
call sub.MFC42u.DLL_CString::CString_3
mov ecx, esi
call fcn.00435640
test al, al
je 0x434ae3
lea eax, [esi + 0x24]
lea ecx, [esp + 0x84]
push eax
call sub.MFC42u.DLL_CString::operator_2
push 0x5c
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::Find
test eax, eax
jl 0x434ae3
inc eax
lea ecx, [esp + 0x1c]
push eax
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42u.DLL_CString::Left
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x84]
push edx
mov byte [esp + 0x74], 0x12
call fcn.004b0394
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call sub.MFC42u.DLL_CString::CString_3
lea ecx, [esp + 0x24]
push ecx
mov ecx, esi
call fcn.00435720
push eax
lea ecx, [esp + 0x88]
mov byte [esp + 0x74], 0x13
call fcn.004b0394
lea ecx, [esp + 0x20]
mov byte [esp + 0x70], 0x12
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x70], 0x11
call sub.MFC42u.DLL_CString::CString
mov edx, dword [esp + 0x94]
lea eax, [esp + 0x84]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call sub.MFC42u.DLL_CString::CString_3
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x88]
mov edi, 1
lea eax, [esp + 0x5c]
push edi
push ecx
mov ecx, dword [esp + 0x8c]
push edx
push ebx
push eax
push ecx
mov ecx, esi
call fcn.00433600
test al, al
je 0x434b4d
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x40]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
je 0x434b84
mov ecx, dword [esp + 0x90]
cmp eax, ecx
jl 0x434b4d
test ecx, ecx
jg 0x434b95
mov ecx, dword [esi + 0x60]
mov byte [esp + 0x70], 0xc
add ecx, edi
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x64]
adc eax, 0
lea ecx, [esp + 0x84]
mov dword [esi + 0x64], eax
call sub.MFC42u.DLL_CString::CString
push ebp
push ebx
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CFile::Read
cmp eax, ebp
je 0x434a1d
jmp 0x434ba6
mov ecx, dword [esi + 0x60]
add ecx, edi
mov dword [esi + 0x60], ecx
mov eax, dword [esi + 0x64]
adc eax, 0
mov dword [esi + 0x64], eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x70], 0xc
call sub.MFC42u.DLL_CString::CString
mov edx, dword [esi + 0x60]
or eax, 0xffffffff
add edx, eax
mov dword [esi + 0x60], edx
mov ecx, dword [esi + 0x64]
adc ecx, eax
mov dword [esi + 0x64], ecx
jmp 0x434db5
test al, al
mov dword [esp + 0x18], 0
je 0x434be4
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
or edx, eax
jne 0x434be4
mov eax, dword [esp + 0x2c]
sub ebx, 1
sbb eax, 0
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ecx
test ecx, ecx
mov ebx, eax
mov dword [esp + 0x2c], ecx
jl 0x434db1
jg 0x434c0e
test ebx, ebx
jb 0x434db1
jmp 0x434c0e
mov ecx, dword [esp + 0x2c]
mov eax, ebx
mov dword [esi + 0x60], ebx
imul eax, ebp
add eax, 0x800
mov dword [esi + 0x64], ecx
push 0
push eax
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CFile::Seek
mov edi, dword [esp + 0x14]
push ebp
push edi
lea ecx, [esp + 0x38]
call sub.MFC42u.DLL_CFile::Read
cmp eax, ebp
jne 0x434d7e
push 0x4e28c0
lea ecx, [esp + 0x88]
call sub.MFC42u.DLL_CString::CString_2
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
mov byte [esp + 0x78], 0xe
call sub.MFC42u.DLL_CString::CString_3
mov ecx, esi
call fcn.00435640
test al, al
je 0x434d07
lea eax, [esi + 0x24]
lea ecx, [esp + 0x84]
push eax
call sub.MFC42u.DLL_CString::operator_2
push 0x5c
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CString::Find
test eax, eax
jl 0x434d07
inc eax
lea ecx, [esp + 0x10]
push eax
lea eax, [esp + 0x20]
push eax
call sub.MFC42u.DLL_CString::Left
lea ecx, [esp + 0x1c]
mov byte [esp + 0x70], 0xf
push ecx
lea ecx, [esp + 0x88]
call fcn.004b0394
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42u.DLL_CString::CString_3
lea eax, [esp + 0x24]
mov ecx, esi
push eax
call fcn.00435720
push eax
lea ecx, [esp + 0x88]
mov byte [esp + 0x74], 0x10
call fcn.004b0394
lea ecx, [esp + 0x20]
mov byte [esp + 0x70], 0xf
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x70], 0xe
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x94]
lea edx, [esp + 0x84]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call sub.MFC42u.DLL_CString::CString_3
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x88]
push 1
push eax
mov eax, dword [esp + 0x8c]
push ecx
lea edx, [esp + 0x68]
push edi
push edx
push eax
mov ecx, esi
call fcn.00433600
test al, al
je 0x434d6d
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x40]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
je 0x434da0
mov ecx, dword [esp + 0x90]
cmp eax, ecx
jl 0x434d6d
test ecx, ecx
jg 0x434da0
lea ecx, [esp + 0x84]
mov byte [esp + 0x70], 0xc
call sub.MFC42u.DLL_CString::CString
mov eax, dword [esp + 0x2c]
add ebx, 0xffffffff
adc eax, 0xffffffff
test eax, eax
mov dword [esp + 0x2c], eax
jg 0x434c0a
jl 0x434db1
test ebx, ebx
jae 0x434c0a
jmp 0x434db1
lea ecx, [esp + 0x84]
mov byte [esp + 0x70], 0xc
call sub.MFC42u.DLL_CString::CString
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x5c]
mov edi, dword [esi + 0x60]
mov edx, dword [esi + 0x58]
cmp eax, ecx
jg 0x434dd7
jl 0x434dcb
cmp edi, edx
jae 0x434dd7
mov dword [esi + 0x58], edi
mov dword [esi + 0x60], edx
mov dword [esi + 0x5c], eax
mov dword [esi + 0x64], ecx
push ebx
call sub.MFC42u.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x30]
call sub.MFC42u.DLL_CFile::Close
xor eax, eax
mov dword [esp + 0x40], 0x4bc494
mov dword [esi + 0x38], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x3c], eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x70], 0x14
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x30]
mov dword [esp + 0x40], 0x4bc480
mov byte [esp + 0x70], 8
call fcn.004b0436
lea ecx, [esp + 0x54]
mov byte [esp + 0x70], 6
call sub.MFC42u.DLL_CStringArray::CStringArray
lea ecx, [esp + 0x10]
mov byte [esp + 0x70], 0
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x78]
mov dword [esp + 0x70], 0xffffffff
call sub.MFC42u.DLL_CString::CString
xor eax, eax
mov ecx, dword [esp + 0x68]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x64
ret 0x20