Function at 0x404c96
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x14
and dword [esp], 0
push ebp
mov ebp, dword [esp + 0x20]
push esi
mov esi, dword [esp + 0x20]
push edi
mov edi, ecx
mov dword [esp + 0x1c], ebp
cmp byte [esi], 0
mov dword [esp + 0x18], edi
je 0x404f5f
push ebx
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
cmp byte [esi], 0x25
jne 0x404f47
push esi
call ebx
mov esi, eax
mov al, byte [esi]
cmp al, 0x25
je 0x404f47
xor edi, edi
test al, al
mov dword [esp + 0x2c], edi
je 0x404d22
cmp al, 0x23
jne 0x404cf0
add dword [esp + 0x10], 2
jmp 0x404d10
cmp al, 0x2a
jne 0x404d00
mov eax, dword [ebp]
add ebp, 4
mov dword [esp + 0x2c], eax
jmp 0x404d10
cmp al, 0x2d
je 0x404d10
cmp al, 0x2b
je 0x404d10
cmp al, 0x30
je 0x404d10
cmp al, 0x20
jne 0x404d1b
push esi
call ebx
mov esi, eax
mov al, byte [esi]
test al, al
jne 0x404ce5
cmp dword [esp + 0x2c], 0
jne 0x404d48
push esi
call fcn.0040b057
pop ecx
mov dword [esp + 0x2c], eax
mov al, byte [esi]
test al, al
je 0x404d48
movsx eax, al
push eax
call fcn.0040af3d
test eax, eax
pop ecx
je 0x404d48
push esi
call ebx
mov esi, eax
jmp 0x404d2d
and dword [esp + 0x18], 0
cmp byte [esi], 0x2e
jne 0x404d6b
push esi
call ebx
mov esi, eax
cmp byte [esi], 0x2a
jne 0x404d8f
mov eax, dword [ebp]
add ebp, 4
push esi
mov dword [esp + 0x1c], eax
call ebx
mov esi, eax
mov al, byte [esi]
and dword [esp + 0x14], 0
cmp al, 0x49
jne 0x404db5
cmp byte [esi + 1], 0x36
jne 0x404db5
cmp byte [esi + 2], 0x34
jne 0x404db5
add esi, 3
mov dword [esp + 0x14], 0x40000
jmp 0x404de7
push esi
call fcn.0040b057
pop ecx
mov dword [esp + 0x18], eax
mov al, byte [esi]
test al, al
je 0x404d6b
movsx eax, al
push eax
call fcn.0040af3d
test eax, eax
pop ecx
je 0x404d6b
push esi
call ebx
mov esi, eax
jmp 0x404d9a
movsx eax, al
sub eax, 0x46
je 0x404de2
sub eax, 6
je 0x404de2
dec eax
dec eax
je 0x404de2
sub eax, 0x1a
je 0x404dda
sub eax, 4
jne 0x404de7
mov dword [esp + 0x14], 0x20000
jmp 0x404de2
mov dword [esp + 0x14], 0x10000
push esi
call ebx
mov esi, eax
movsx eax, byte [esi]
or eax, dword [esp + 0x14]
mov ecx, 0x10063
cmp eax, ecx
jg 0x404e8b
je 0x404ebb
sub eax, 0x43
je 0x404ebb
push 0x10
pop ecx
sub eax, ecx
je 0x404ea8
sub eax, ecx
je 0x404ebb
sub eax, ecx
je 0x404ec3
sub eax, 0xffd0
je 0x404ebb
sub eax, ecx
je 0x404ec3
movsx eax, byte [esi]
cmp eax, 0x69
jg 0x404f05
je 0x404f1a
cmp eax, 0x45
je 0x404e75
cmp eax, 0x47
je 0x404e75
cmp eax, 0x58
je 0x404f1a
cmp eax, 0x64
je 0x404f1a
jle 0x404f3d
cmp eax, 0x67
jg 0x404f3d
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 0x404f3d
sub eax, 0x10073
je 0x404ec3
sub eax, 0xffd0
je 0x404ebb
sub eax, 0x10
je 0x404ea8
sub eax, 0x10
je 0x404ebb
sub eax, 0x10
jne 0x404e38
mov eax, dword [ebp]
add ebp, 4
test eax, eax
je 0x404ecd
push eax
call fcn.0040af20
pop ecx
jmp 0x404ed9
push 2
add ebp, 4
pop edi
jmp 0x404eeb
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x404ed2
push 6
pop edi
jmp 0x404eeb
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
cmp edi, 1
jge 0x404ee3
push 1
pop edi
test edi, edi
je 0x404e38
cmp edi, dword [esp + 0x2c]
jg 0x404ef5
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x404f3d
cmp edi, eax
jl 0x404f3d
mov edi, eax
jmp 0x404f3d
sub eax, 0x6e
je 0x404f3a
dec eax
je 0x404f1a
dec eax
je 0x404f26
sub eax, 5
je 0x404f1a
sub eax, 3
jne 0x404f3d
test byte [esp + 0x16], 4
je 0x404f26
add ebp, 8
jmp 0x404f29
add ebp, 4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
push 0x20
add eax, ecx
pop edi
cmp eax, edi
jmp 0x404eff
add ebp, 4
add dword [esp + 0x10], edi
mov edi, dword [esp + 0x1c]
jmp 0x404f50
push esi
call ebx
sub eax, esi
add dword [esp + 0x10], eax
push esi
call ebx
mov esi, eax
cmp byte [esi], 0
jne 0x404cc3
pop ebx
push dword [esp + 0xc]
mov ecx, edi
call fcn.0040147c
test eax, eax
je 0x404f8a
push dword [esp + 0x1c]
push dword [esp + 0x28]
push dword [edi]
call dword [sym.imp.USER32.dll_wvsprintfA]
push 0xffffffffffffffff
mov ecx, edi
call fcn.004014e3
push 1
pop eax
pop edi
pop esi
pop ebp
add esp, 0x14
ret 8