Function at 0x412006
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
xor ebx, ebx
push edi
mov edi, eax
mov dword [ebp - 0x10], ecx
movzx eax, word [eax]
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], ebx
test ax, ax
je 0x41235a
push 0x25
mov ecx, eax
pop edx
cmp cx, dx
jne 0x41233c
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
push 0x25
pop eax
movzx ecx, word [edi]
cmp cx, ax
je 0x41233c
xor ebx, ebx
and dword [ebp + 0xc], ebx
mov dword [ebp - 0xc], ebx
test cx, cx
je 0x4120ba
mov ebx, dword [ebp - 4]
cmp cx, 0x23
jne 0x41206f
add ebx, 2
jmp 0x41209b
push 0x2a
pop eax
cmp cx, ax
jne 0x412081
mov ecx, dword [esi]
add esi, 4
mov dword [ebp + 0xc], ecx
jmp 0x41209b
cmp cx, 0x2d
je 0x41209b
cmp cx, 0x2b
je 0x41209b
cmp cx, 0x30
je 0x41209b
push 0x20
pop eax
cmp cx, ax
jne 0x4120ae
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x412064
cmp dword [ebp + 0xc], 0
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0xc]
jne 0x4120ea
push edi
call fcn.00597115
pop ecx
movzx ecx, word [edi]
mov dword [ebp + 0xc], eax
test cx, cx
je 0x4120ea
push ecx
call fcn.005988c5
pop ecx
test eax, eax
je 0x4120ea
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x4120cc
and dword [ebp - 8], 0
cmp word [edi], 0x2e
jne 0x412147
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
push 0x2a
pop eax
push edi
cmp word [edi], ax
jne 0x412118
mov eax, dword [esi]
add esi, 4
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
jmp 0x412147
call fcn.00597115
pop ecx
movzx ecx, word [edi]
mov dword [ebp - 8], eax
test cx, cx
je 0x412147
push ecx
call fcn.005988c5
pop ecx
test eax, eax
je 0x412147
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x412129
movzx eax, word [edi]
and dword [ebp - 0xc], 0
cmp eax, 0x49
jne 0x41216d
cmp word [edi + 2], 0x36
jne 0x41216d
cmp word [edi + 4], 0x34
jne 0x41216d
add edi, 6
mov dword [ebp - 0xc], 0x40000
jmp 0x4121a0
sub eax, 0x46
je 0x412197
sub eax, 6
je 0x412197
dec eax
sub eax, 1
je 0x412197
sub eax, 0x1a
je 0x412190
sub eax, 4
jne 0x4121a0
mov dword [ebp - 0xc], 0x20000
jmp 0x412197
mov dword [ebp - 0xc], 0x10000
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
movzx eax, word [edi]
mov ecx, 0x10063
or eax, dword [ebp - 0xc]
cmp eax, ecx
ja 0x41226f
je 0x412267
sub eax, 0x43
je 0x412267
push 0x10
pop ecx
sub eax, ecx
je 0x4122a4
sub eax, ecx
je 0x412267
sub eax, ecx
je 0x41224e
sub eax, 0xffd0
je 0x412267
sub eax, ecx
je 0x4122a4
movzx eax, word [edi]
cmp eax, 0x6e
ja 0x412307
je 0x4122ff
cmp eax, 0x47
je 0x4122e9
cmp eax, 0x58
je 0x412221
cmp eax, 0x64
je 0x412221
jbe 0x412243
cmp eax, 0x67
jbe 0x4122e9
cmp eax, 0x69
jne 0x412243
mov ebx, dword [ebp - 8]
add ebx, dword [ebp + 0xc]
push 0x20
pop eax
cmp ebx, eax
cmovl ebx, eax
mov eax, dword [ebp - 0xc]
and eax, 0x40000
neg eax
sbb eax, eax
and eax, 4
add eax, 4
add esi, eax
add dword [ebp - 4], ebx
mov ebx, dword [ebp - 4]
jmp 0x412340
add esi, 4
cmp dword [esi - 4], 0
jne 0x41225c
push 6
pop ebx
jmp 0x4122c8
push dword [esi - 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x4122b6
push 2
pop ebx
add esi, 4
jmp 0x4122c8
sub eax, 0x10073
je 0x4122a4
sub eax, 0xffd0
je 0x412267
push 0x10
pop ecx
sub eax, ecx
je 0x412290
sub eax, ecx
je 0x412267
sub eax, ecx
jne 0x4121ec
add esi, 4
cmp dword [esi - 4], 0
je 0x412257
push dword [esi - 4]
call fcn.0059771b
pop ecx
jmp 0x4122b6
add esi, 4
cmp dword [esi - 4], 0
je 0x412257
push dword [esi - 4]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
xor eax, eax
inc eax
cmp ebx, eax
cmovl ebx, eax
test ebx, ebx
je 0x4121ec
mov eax, dword [ebp + 0xc]
cmp ebx, eax
cmovg eax, ebx
mov ebx, eax
mov eax, dword [ebp - 8]
test eax, eax
je 0x412243
cmp ebx, eax
cmovl eax, ebx
mov ebx, eax
jmp 0x412243
push str.Floating_point____e____f____g__and___G__is_not_supported_by_the_WTL::CString_class.
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call dword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x412243
add esi, 4
jmp 0x412243
sub eax, 0x6f
je 0x412221
sub eax, 1
je 0x412326
sub eax, 5
je 0x412221
sub eax, 3
jmp 0x41221f
mov ebx, dword [ebp - 8]
add esi, 4
add ebx, dword [ebp + 0xc]
push 0x20
pop ecx
cmp ebx, ecx
cmovl ebx, ecx
jmp 0x412243
inc ebx
mov dword [ebp - 4], ebx
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
push 0x25
pop edx
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x412033
push ebx
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
call fcn.00411f73
test eax, eax
je 0x412382
push dword [ebp - 0x14]
push dword [ebp + 8]
push dword [ebx]
call dword [sym.imp.USER32.dll_wvsprintfW]
push ecx
mov ecx, ebx
call fcn.00411fe5
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 8