Function at 0x4039aa
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x10
and dword [esp], 0
push ebp
mov ebp, dword [esp + 0x1c]
push esi
mov esi, dword [esp + 0x1c]
push edi
mov edi, ecx
mov dword [esp + 0x18], ebp
cmp byte [esi], 0
mov dword [esp + 0x14], edi
je 0x403c7e
push ebx
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
cmp byte [esi], 0x25
jne 0x403c6b
push esi
call ebx
mov esi, eax
mov al, byte [esi]
cmp al, 0x25
je 0x403c6b
xor edi, edi
test al, al
mov dword [esp + 0x28], edi
je 0x403a36
cmp al, 0x23
jne 0x403a04
add dword [esp + 0x10], 2
jmp 0x403a24
cmp al, 0x2a
jne 0x403a14
mov eax, dword [ebp]
add ebp, 4
mov dword [esp + 0x28], eax
jmp 0x403a24
cmp al, 0x2d
je 0x403a24
cmp al, 0x2b
je 0x403a24
cmp al, 0x30
je 0x403a24
cmp al, 0x20
jne 0x403a2f
push esi
call ebx
mov esi, eax
mov al, byte [esi]
test al, al
jne 0x4039f9
cmp dword [esp + 0x28], 0
jne 0x403a5e
push esi
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov dword [esp + 0x28], eax
mov al, byte [esi]
test al, al
je 0x403a5e
movsx eax, al
push eax
call dword [sym.imp.MSVCRT.dll_isdigit]
test eax, eax
pop ecx
je 0x403a5e
push esi
call ebx
mov esi, eax
jmp 0x403a42
xor ebx, ebx
cmp byte [esi], 0x2e
jne 0x403a82
push esi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
cmp byte [esi], 0x2a
jne 0x403aa6
mov ebx, dword [ebp]
add ebp, 4
push esi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
mov al, byte [esi]
and dword [esp + 0x14], 0
cmp al, 0x49
jne 0x403ad0
cmp byte [esi + 1], 0x36
jne 0x403ad0
cmp byte [esi + 2], 0x34
jne 0x403ad0
add esi, 3
mov dword [esp + 0x14], 0x40000
jmp 0x403b06
push esi
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ebx, eax
mov al, byte [esi]
test al, al
je 0x403a82
movsx eax, al
push eax
call dword [sym.imp.MSVCRT.dll_isdigit]
test eax, eax
pop ecx
je 0x403a82
push esi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
jmp 0x403ab0
movsx eax, al
sub eax, 0x46
je 0x403afd
sub eax, 6
je 0x403afd
dec eax
dec eax
je 0x403afd
sub eax, 0x1a
je 0x403af5
sub eax, 4
jne 0x403b06
mov dword [esp + 0x14], 0x20000
jmp 0x403afd
mov dword [esp + 0x14], 0x10000
push esi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
movsx eax, byte [esi]
or eax, dword [esp + 0x14]
mov ecx, 0x10063
cmp eax, ecx
jg 0x403baa
je 0x403bdb
sub eax, 0x43
je 0x403bdb
push 0x10
pop ecx
sub eax, ecx
je 0x403bc7
sub eax, ecx
je 0x403bdb
sub eax, ecx
je 0x403be3
sub eax, 0xffd0
je 0x403bdb
sub eax, ecx
je 0x403be3
movsx eax, byte [esi]
cmp eax, 0x69
jg 0x403c21
je 0x403c4c
cmp eax, 0x45
je 0x403b94
cmp eax, 0x47
je 0x403b94
cmp eax, 0x58
je 0x403c4c
cmp eax, 0x64
je 0x403c4c
jle 0x403c5b
cmp eax, 0x67
jg 0x403c5b
push str.Floating_point____e____f____g__and___G__is_not_supported_by_the_WTL::CString_class.
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call dword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x403c5b
sub eax, 0x10073
je 0x403be3
sub eax, 0xffd0
je 0x403bdb
sub eax, 0x10
je 0x403bc7
sub eax, 0x10
je 0x403bdb
sub eax, 0x10
jne 0x403b57
mov eax, dword [ebp]
add ebp, 4
test eax, eax
je 0x403bed
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
jmp 0x403bf9
push 2
add ebp, 4
pop edi
jmp 0x403c0b
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x403bf2
push 6
pop edi
jmp 0x403c0b
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
cmp edi, 1
jge 0x403c03
push 1
pop edi
test edi, edi
je 0x403b57
cmp edi, dword [esp + 0x28]
jg 0x403c15
mov edi, dword [esp + 0x28]
test ebx, ebx
je 0x403c5b
cmp edi, ebx
jl 0x403c5b
mov edi, ebx
jmp 0x403c5b
sub eax, 0x6e
je 0x403c58
dec eax
je 0x403c4c
dec eax
je 0x403c38
sub eax, 5
je 0x403c4c
sub eax, 3
je 0x403c4c
jmp 0x403c5b
add ebp, 4
mov eax, dword [esp + 0x28]
push 0x20
pop edi
add eax, ebx
cmp eax, edi
jl 0x403c5b
mov edi, eax
jmp 0x403c5b
test byte [esp + 0x16], 4
je 0x403c38
add ebp, 8
jmp 0x403c3b
add ebp, 4
add dword [esp + 0x10], edi
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
mov edi, dword [esp + 0x18]
jmp 0x403c6f
inc dword [esp + 0x10]
push esi
call ebx
mov esi, eax
cmp byte [esi], 0
jne 0x4039d7
pop ebx
push dword [esp + 0xc]
mov ecx, edi
call fcn.00403cb2
test eax, eax
je 0x403ca9
push dword [esp + 0x18]
push dword [esp + 0x24]
push dword [edi]
call dword [sym.imp.USER32.dll_wvsprintfA]
push 0xffffffffffffffff
mov ecx, edi
call fcn.00403d19
push 1
pop eax
pop edi
pop esi
pop ebp
add esp, 0x10
ret 8