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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f7f1e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xac
push ebx
mov ebx, ecx
push esi
push edi
mov eax, dword [ebx + 0x1dc]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x28], ebx
jne 0x41277f
mov dword [ebx + 0x2b4], 0xa
mov dword [ebx + 0x1dc], 1
call fcn.0041ea00
push 0x68
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
cmp esi, edi
mov dword [esp + 0xc0], edi
je 0x4127d5
lea ecx, [esi + 0x18]
call sub.MFC42.DLL_CString::CString_3
mov dword [esi + 0x20], edi
mov dword [esi], 0x508c98
mov dword [esi + 0xc], edi
mov dword [esi + 8], edi
mov dword [esi + 0x24], edi
mov dword [esi + 0x14], edi
lea ecx, [esi + 0x28]
mov byte [esp + 0xc0], 1
call fcn.0043e010
mov ecx, esi
mov dword [esi], 0x508cf4
mov dword [esp + 0x20], ecx
jmp 0x4127db
mov dword [esp + 0x20], edi
mov ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0xc0], 0xffffffff
call dword [eax + 8]
mov edi, dword [ebp + 0xc]
mov esi, eax
push edi
mov ecx, esi
call fcn.0043e1f0
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
mov edx, dword [edi + 8]
lea ecx, [esp + 0x18]
mov dword [esi + 8], edx
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x1c]
mov dword [esp + 0xc0], 2
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esi + 0x34]
sub esp, 8
lea ecx, [esp + 0x20]
mov byte [esp + 0xc8], 3
fld qword [eax + 8]
fsub qword [ebx + 0x118]
fstp qword [esp]
push str.Z_.2f
push ecx
call sub.MFC42.DLL_CString::Format_1
mov edx, dword [esi + 0x34]
add esp, 8
lea eax, [esp + 0x24]
fld qword [edx + 0x10]
fsub qword [ebx + 0x110]
fadd st(0), st(0)
fstp qword [esp]
push str.X_.2f
push eax
call sub.MFC42.DLL_CString::Format_1
add esp, 0x10
lea ecx, [esp + 0x10]
push 2
push ecx
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
mov edi, dword [sym.imp.MSVCRT.dll__mbscmp]
push 0x52a250
push eax
call edi
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4128de
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x18]
mov eax, dword [edx - 8]
add eax, 0xfffffffe
push eax
lea eax, [esp + 0x14]
push eax
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc4], 4
call fcn.004f6400
mov byte [esp + 0xc0], 3
lea ecx, [esp + 0x10]
jmp 0x412942
lea ecx, [esp + 0x10]
push 1
push ecx
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x52a24c
push eax
call edi
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x412947
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x18]
mov eax, dword [edx - 8]
dec eax
push eax
lea eax, [esp + 0x14]
push eax
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc4], 5
call fcn.004f6400
mov byte [esp + 0xc0], 3
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
push 2
push ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x52a250
push eax
call edi
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x4129af
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x1c]
mov eax, dword [edx - 8]
add eax, 0xfffffffe
push eax
lea eax, [esp + 0x14]
push eax
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xc4], 6
call fcn.004f6400
mov byte [esp + 0xc0], 3
lea ecx, [esp + 0x10]
jmp 0x412a13
lea ecx, [esp + 0x10]
push 1
push ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x52a24c
push eax
call edi
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x412a18
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x1c]
mov eax, dword [edx - 8]
dec eax
push eax
lea eax, [esp + 0x14]
push eax
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xc4], 7
call fcn.004f6400
mov byte [esp + 0xc0], 3
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 8]
dec eax
je 0x412df2
mov eax, dword [0x53aa00]
test eax, eax
jne 0x412a4f
mov eax, dword [esp + 0x28]
fld qword [esi + 0x18]
fsub qword [eax + 0x110]
fadd st(0), st(0)
fstp qword [esp + 0x9c]
fld qword [esi + 0x10]
fsub qword [eax + 0x118]
jmp 0x412a65
mov eax, dword [esi + 0x30]
fld qword [esi + 0x18]
fsub qword [eax + 0x10]
fstp qword [esp + 0x9c]
fld qword [esi + 0x10]
fsub qword [eax + 8]
fstp qword [esp + 0xac]
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x14]
mov byte [esp + 0xc0], 0x16
call sub.MFC42.DLL_CString::CString_3
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
push edx
push eax
lea ecx, [esp + 0x18]
push str.I_.2f
push ecx
mov byte [esp + 0xd0], 0x17
call sub.MFC42.DLL_CString::Format_1
add esp, 0x10
lea edx, [esp + 0x80]
lea ecx, [esp + 0x10]
push 2
push edx
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x52a250
push eax
call edi
add esp, 8
lea ecx, [esp + 0x80]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x412b24
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x94]
mov eax, dword [eax - 8]
add eax, 0xfffffffe
push eax
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xc4], 0x18
call fcn.004f6400
mov byte [esp + 0xc0], 0x17
lea ecx, [esp + 0x94]
jmp 0x412b8e
lea edx, [esp + 0x88]
push 1
push edx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x52a24c
push eax
call edi
add esp, 8
lea ecx, [esp + 0x88]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x412b93
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x38]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0xc4], 0x19
call fcn.004f6400
mov byte [esp + 0xc0], 0x17
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
push edx
push eax
lea ecx, [esp + 0x1c]
push str.K_.2f
push ecx
call sub.MFC42.DLL_CString::Format_1
add esp, 0x10
lea edx, [esp + 0x70]
lea ecx, [esp + 0x14]
push 2
push edx
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x52a250
push eax
call edi
add esp, 8
lea ecx, [esp + 0x70]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x412c1d
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x40]
mov eax, dword [eax - 8]
add eax, 0xfffffffe
push eax
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xc4], 0x1a
call fcn.004f6400
mov byte [esp + 0xc0], 0x17
lea ecx, [esp + 0x40]
jmp 0x412c87
lea edx, [esp + 0x98]
push 1
push edx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x52a24c
push eax
call edi
add esp, 8
lea ecx, [esp + 0x98]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x412c8c
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x48]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xc4], 0x1b
call fcn.004f6400
mov byte [esp + 0xc0], 0x17
lea ecx, [esp + 0x48]
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x1c]
push 0x52a244
lea eax, [esp + 0xac]
push edx
push eax
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0x18]
lea edx, [esp + 0x60]
push ecx
push eax
push edx
mov byte [esp + 0xcc], 0x1c
call sub.MFC42.DLL_operator
push 0x52a244
push eax
lea eax, [esp + 0x34]
mov byte [esp + 0xc8], 0x1d
push eax
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0x10]
lea edx, [esp + 0x58]
push ecx
push eax
push edx
mov byte [esp + 0xcc], 0x1e
call sub.MFC42.DLL_operator
push 0x52a244
push eax
lea eax, [esp + 0x98]
mov byte [esp + 0xc8], 0x1f
push eax
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0x14]
lea edx, [esp + 0x50]
push ecx
push eax
push edx
mov byte [esp + 0xcc], 0x20
call sub.MFC42.DLL_operator
push 0x52a248
push eax
lea eax, [esp + 0x80]
mov bl, 0x21
push eax
mov byte [esp + 0xcc], bl
call sub.MFC42.DLL_operator_1
mov esi, dword [esp + 0x20]
push eax
mov byte [esp + 0xc4], 0x22
lea ecx, [esi + 0x18]
call fcn.004f6400
lea ecx, [esp + 0x78]
mov byte [esp + 0xc0], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x50]
mov byte [esp + 0xc0], 0x20
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x90]
mov byte [esp + 0xc0], 0x1f
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x58]
mov byte [esp + 0xc0], 0x1e
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x2c]
mov byte [esp + 0xc0], 0x1d
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x60]
mov byte [esp + 0xc0], 0x1c
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xa8]
mov byte [esp + 0xc0], 0x17
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xc0], 0x16
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov byte [esp + 0xc0], 3
call sub.MFC42.DLL_CString::CString
jmp 0x41313b
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esi + 4]
mov byte [esp + 0xc0], 8
test eax, eax
je 0x412e17
fld qword [esi + 0x28]
sub esp, 8
fchs
fstp qword [esp]
jmp 0x412e1f
mov edx, dword [esi + 0x2c]
mov eax, dword [esi + 0x28]
push edx
push eax
lea ecx, [esp + 0x1c]
push str.R_.2f
push ecx
call sub.MFC42.DLL_CString::Format_1
add esp, 0x10
lea edx, [esp + 0x68]
lea ecx, [esp + 0x14]
push 2
push edx
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x52a250
push eax
call edi
add esp, 8
lea ecx, [esp + 0x68]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x412e99
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x30]
mov eax, dword [eax - 8]
add eax, 0xfffffffd
push eax
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xc4], 9
call fcn.004f6400
mov byte [esp + 0xc0], 8
lea ecx, [esp + 0x30]
jmp 0x412efd
lea edx, [esp + 0x34]
push 1
push edx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x52a24c
push eax
call edi
add esp, 8
lea ecx, [esp + 0x34]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x412f02
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x3c]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::Left
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xc4], 0xa
call fcn.004f6400
mov byte [esp + 0xc0], 8
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x20]
lea edi, [edx + 0x18]
mov ecx, edi
call sub.MFC42.DLL_CString::Empty
mov ecx, dword [esi + 0x30]
mov esi, dword [esi + 0x34]
fld qword [ecx + 0x10]
fcomp qword [esi + 0x10]
fnstsw ax
test ah, 0x40
je 0x412fae
lea eax, [esp + 0x18]
push 0x52a244
lea ecx, [esp + 0x58]
push eax
push ecx
call sub.MFC42.DLL_operator_1
lea edx, [esp + 0x14]
mov byte [esp + 0xc0], 0xb
push edx
push eax
lea eax, [esp + 0x54]
push eax
call sub.MFC42.DLL_operator
push 0x52a248
lea ecx, [esp + 0x48]
mov bl, 0xc
push eax
push ecx
mov byte [esp + 0xcc], bl
call sub.MFC42.DLL_operator_1
push eax
mov ecx, edi
mov byte [esp + 0xc4], 0xd
call fcn.004f6400
lea ecx, [esp + 0x44]
mov byte [esp + 0xc0], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x4c]
mov byte [esp + 0xc0], 0xb
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xc0], 8
lea ecx, [esp + 0x54]
jmp 0x413121
fld qword [ecx + 8]
fcomp qword [esi + 8]
push 0x52a244
fnstsw ax
test ah, 0x40
je 0x413046
lea edx, [esp + 0x20]
lea eax, [esp + 0x70]
push edx
push eax
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0x14]
lea edx, [esp + 0x64]
push ecx
push eax
push edx
mov byte [esp + 0xcc], 0xe
call sub.MFC42.DLL_operator
push 0x52a248
push eax
lea eax, [esp + 0x64]
mov bl, 0xf
push eax
mov byte [esp + 0xcc], bl
call sub.MFC42.DLL_operator_1
push eax
mov ecx, edi
mov byte [esp + 0xc4], 0x10
call fcn.004f6400
lea ecx, [esp + 0x5c]
mov byte [esp + 0xc0], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x64]
mov byte [esp + 0xc0], 0xe
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xc0], 8
lea ecx, [esp + 0x6c]
jmp 0x413121
lea ecx, [esp + 0x20]
lea edx, [esp + 0x28]
push ecx
push edx
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0x18]
lea edx, [esp + 0x8c]
push ecx
push eax
push edx
mov byte [esp + 0xcc], 0x11
call sub.MFC42.DLL_operator
push 0x52a244
push eax
lea eax, [esp + 0x8c]
mov byte [esp + 0xc8], 0x12
push eax
call sub.MFC42.DLL_operator_1
lea ecx, [esp + 0x14]
lea edx, [esp + 0x7c]
push ecx
push eax
push edx
mov byte [esp + 0xcc], 0x13
call sub.MFC42.DLL_operator
push 0x52a248
push eax
lea eax, [esp + 0x7c]
mov bl, 0x14
push eax
mov byte [esp + 0xcc], bl
call sub.MFC42.DLL_operator_1
push eax
mov ecx, edi
mov byte [esp + 0xc4], 0x15
call fcn.004f6400
lea ecx, [esp + 0x74]
mov byte [esp + 0xc0], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x7c]
mov byte [esp + 0xc0], 0x13
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x84]
mov byte [esp + 0xc0], 0x12
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x8c]
mov byte [esp + 0xc0], 0x11
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0xc0], 8
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0xc0], 3
call sub.MFC42.DLL_CString::CString
mov esi, dword [esp + 0x20]
mov eax, dword [ebp + 8]
xor edi, edi
cmp dword [eax + 8], edi
jne 0x413153
mov dword [eax + 0xc], esi
mov dword [eax + 8], esi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
jmp 0x413176
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 8]
mov dword [esi + 8], edx
mov ecx, dword [eax + 0xc]
mov dword [esi + 0xc], ecx
mov edx, dword [eax + 0xc]
mov dword [edx + 8], esi
mov ecx, dword [eax + 8]
mov dword [eax + 0xc], esi
cmp dword [ecx + 0xc], edi
je 0x413176
mov dword [ecx + 0xc], esi
mov eax, dword [eax + 8]
cmp eax, edi
jne 0x413181
xor edx, edx
jmp 0x413191
mov ecx, eax
xor edx, edx
mov ecx, dword [ecx + 8]
inc edx
cmp ecx, edi
je 0x413191
cmp ecx, eax
jne 0x413185
mov ecx, dword [esp + 0x28]
dec edx
push edx
push esi
call fcn.00413350
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc0], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov dword [esp + 0xc0], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0xb8]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc