Function at 0x402020
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]
cmp byte [esi], 0
push edi
mov edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebp
je 0x4022e7
push ebx
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
cmp byte [esi], 0x25
jne 0x4022d4
push esi
call ebx
mov esi, eax
mov al, byte [esi]
cmp al, 0x25
je 0x4022d4
xor edi, edi
test al, al
mov dword [esp + 0x28], edi
je 0x4020ab
cmp al, 0x23
jne 0x402079
add dword [esp + 0x10], 2
jmp 0x402099
cmp al, 0x2a
jne 0x402089
mov eax, dword [ebp]
add ebp, 4
mov dword [esp + 0x28], eax
jmp 0x402099
cmp al, 0x2d
je 0x402099
cmp al, 0x2b
je 0x402099
cmp al, 0x30
je 0x402099
cmp al, 0x20
jne 0x4020a4
push esi
call ebx
mov esi, eax
mov al, byte [esi]
test al, al
jne 0x40206e
cmp dword [esp + 0x28], 0
jne 0x4020d1
push esi
call fcn.00417e50
pop ecx
mov dword [esp + 0x28], eax
jmp 0x4020cb
movsx eax, al
push eax
call fcn.00417cbe
test eax, eax
pop ecx
je 0x4020d1
push esi
call ebx
mov esi, eax
mov al, byte [esi]
test al, al
jne 0x4020b8
xor ebx, ebx
cmp byte [esi], 0x2e
jne 0x40211e
push esi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
cmp byte [esi], 0x2a
push esi
jne 0x4020f7
mov ebx, dword [ebp]
add ebp, 4
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
jmp 0x40211e
call fcn.00417e50
pop ecx
mov ebx, eax
jmp 0x402118
movsx eax, al
push eax
call fcn.00417cbe
test eax, eax
pop ecx
je 0x40211e
push esi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
mov al, byte [esi]
test al, al
jne 0x402101
mov al, byte [esi]
and dword [esp + 0x14], 0
cmp al, 0x49
jne 0x402142
cmp byte [esi + 1], 0x36
jne 0x402142
cmp byte [esi + 2], 0x34
jne 0x402142
add esi, 3
mov dword [esp + 0x14], 0x40000
jmp 0x402178
movsx eax, al
sub eax, 0x46
je 0x40216f
sub eax, 6
je 0x40216f
dec eax
dec eax
je 0x40216f
sub eax, 0x1a
je 0x402167
sub eax, 4
jne 0x402178
mov dword [esp + 0x14], 0x20000
jmp 0x40216f
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 0x40222d
je 0x402225
sub eax, 0x43
je 0x402225
push 0x10
pop ecx
sub eax, ecx
je 0x40220d
sub eax, ecx
je 0x402225
sub eax, ecx
je 0x402250
sub eax, 0xffd0
je 0x402225
sub eax, ecx
je 0x402250
movsx eax, byte [esi]
cmp eax, 0x69
jg 0x402289
je 0x40229e
cmp eax, 0x45
je 0x4021f7
cmp eax, 0x47
je 0x4021f7
cmp eax, 0x58
je 0x40229e
cmp eax, 0x64
je 0x40229e
add eax, 0xffffff9b
cmp eax, 2
ja 0x4022c4
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 0x4022c4
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x40221c
push 6
pop edi
jmp 0x402273
push eax
call fcn.00417e55
pop ecx
jmp 0x402261
push 2
pop edi
add ebp, 4
jmp 0x402273
sub eax, 0x10073
je 0x402250
sub eax, 0xffd0
je 0x402225
sub eax, 0x10
je 0x40220d
sub eax, 0x10
je 0x402225
sub eax, 0x10
jne 0x4021bd
jmp 0x40220d
mov eax, dword [ebp]
add ebp, 4
test eax, eax
je 0x402217
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov edi, eax
cmp edi, 1
jge 0x40226b
xor edi, edi
inc edi
test edi, edi
je 0x4021bd
cmp edi, dword [esp + 0x28]
jg 0x40227d
mov edi, dword [esp + 0x28]
test ebx, ebx
je 0x4022c4
cmp edi, ebx
jl 0x4022c4
mov edi, ebx
jmp 0x4022c4
sub eax, 0x6e
je 0x4022c1
dec eax
je 0x40229e
dec eax
je 0x4022ad
sub eax, 5
je 0x40229e
sub eax, 3
jne 0x4022c4
test dword [esp + 0x14], 0x40000
je 0x4022ad
add ebp, 8
jmp 0x4022b0
add ebp, 4
mov eax, dword [esp + 0x28]
push 0x20
pop edi
add eax, ebx
cmp eax, edi
jl 0x4022c4
mov edi, eax
jmp 0x4022c4
add ebp, 4
add dword [esp + 0x10], edi
mov ebx, dword [sym.imp.USER32.dll_CharNextA]
mov edi, dword [esp + 0x18]
jmp 0x4022d8
inc dword [esp + 0x10]
push esi
call ebx
mov esi, eax
cmp byte [esi], 0
jne 0x40204c
pop ebx
push dword [esp + 0xc]
mov ecx, edi
call fcn.00401a3e
test eax, eax
je 0x402312
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.00401a90
xor eax, eax
inc eax
pop edi
pop esi
pop ebp
add esp, 0x10
ret 8