Function at 0x402a24
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x10], ecx
mov esi, eax
xor ecx, ecx
mov dword [ebp - 0x14], ebx
push edi
mov edi, ecx
mov dword [ebp - 4], edi
cmp word [eax], cx
je 0x402d49
push 0x25
pop ecx
cmp word [esi], cx
jne 0x402d22
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
push 0x25
pop ecx
movzx eax, word [esi]
cmp ax, cx
je 0x402d22
xor ecx, ecx
mov dword [ebp + 0xc], ecx
mov edi, ecx
mov dword [ebp - 0xc], edi
test ax, ax
je 0x402ad5
mov edi, dword [ebp - 4]
cmp ax, 0x23
jne 0x402a8c
add edi, 2
jmp 0x402ab8
push 0x2a
pop ecx
cmp ax, cx
jne 0x402a9e
mov ecx, dword [ebx]
add ebx, 4
mov dword [ebp + 0xc], ecx
jmp 0x402ab8
cmp ax, 0x2d
je 0x402ab8
cmp ax, 0x2b
je 0x402ab8
cmp ax, 0x30
je 0x402ab8
push 0x20
pop ecx
cmp ax, cx
jne 0x402ac9
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x402a81
cmp dword [ebp + 0xc], 0
mov dword [ebp - 4], edi
mov edi, dword [ebp - 0xc]
jne 0x402b00
push esi
call fcn.0055431c
pop ecx
mov dword [ebp + 0xc], eax
jmp 0x402af8
movzx ecx, cx
push ecx
call fcn.0055329c
pop ecx
test eax, eax
je 0x402b00
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx ecx, word [esi]
test cx, cx
jne 0x402ae1
xor edx, edx
cmp word [esi], 0x2e
mov dword [ebp - 0xc], edx
jne 0x402b2f
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
push 0x2a
pop eax
push esi
cmp word [esi], ax
jne 0x402b56
mov eax, dword [ebx]
add ebx, 4
mov dword [ebp - 0xc], eax
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
xor edx, edx
movzx eax, word [esi]
mov dword [ebp - 8], edx
cmp eax, 0x49
jne 0x402b96
movzx eax, word [esi + 2]
cmp eax, 0x36
jne 0x402b80
cmp word [esi + 4], 0x34
jne 0x402b80
add esi, 6
mov dword [ebp - 8], 0x40000
jmp 0x402bcb
call fcn.0055431c
pop ecx
mov dword [ebp - 0xc], eax
movzx ecx, word [esi]
test cx, cx
je 0x402b2d
movzx ecx, cx
push ecx
call fcn.0055329c
pop ecx
test eax, eax
je 0x402b2d
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
jmp 0x402b5f
cmp eax, 0x33
jne 0x402b91
cmp word [esi + 4], 0x32
jne 0x402b91
add esi, 6
jmp 0x402bcb
add esi, 2
jmp 0x402bcb
sub eax, 0x46
je 0x402bc0
sub eax, 6
je 0x402bc0
dec eax
sub eax, 1
je 0x402bc0
sub eax, 0x1a
je 0x402bb9
sub eax, 4
jne 0x402bcb
mov dword [ebp - 8], 0x20000
jmp 0x402bc0
mov dword [ebp - 8], 0x10000
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
xor edx, edx
movzx eax, word [esi]
mov ecx, dword [ebp - 8]
or eax, ecx
cmp eax, 0x10063
jg 0x402c65
je 0x402c5d
sub eax, 0x43
je 0x402c5d
push 0x10
pop edx
sub eax, edx
je 0x402c03
sub eax, edx
je 0x402c5d
sub eax, edx
je 0x402c44
sub eax, 0xffd0
je 0x402c5d
sub eax, edx
jne 0x402ca5
add ebx, 4
cmp dword [ebx - 4], 0
je 0x402c4d
push dword [ebx - 4]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
xor eax, eax
inc eax
cmp edi, eax
cmovl edi, eax
test edi, edi
je 0x402ca2
mov eax, dword [ebp + 0xc]
cmp edi, eax
cmovg eax, edi
mov edi, eax
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x402d1a
cmp edi, eax
cmovl eax, edi
mov edi, eax
jmp 0x402d1a
add ebx, 4
cmp dword [ebx - 4], 0
jne 0x402c52
push 6
pop edi
jmp 0x402c23
push dword [ebx - 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x402c15
push 2
pop edi
add ebx, 4
jmp 0x402c23
sub eax, 0x10073
je 0x402c03
sub eax, 0xffd0
je 0x402c5d
sub eax, 0x10
je 0x402c82
sub eax, 0x10
je 0x402c5d
sub eax, 0x10
jne 0x402ca5
mov edi, dword [ebx]
add ebx, 4
test edi, edi
je 0x402c4d
lea ecx, [edi + 2]
mov ax, word [edi]
add edi, 2
cmp ax, dx
jne 0x402c8e
sub edi, ecx
sar edi, 1
jmp 0x402c17
mov ecx, dword [ebp - 8]
movzx eax, word [esi]
cmp eax, 0x69
jg 0x402cde
je 0x402cf7
cmp eax, 0x45
je 0x402ccb
cmp eax, 0x47
je 0x402ccb
cmp eax, 0x58
je 0x402cf7
cmp eax, 0x64
je 0x402cf7
add eax, 0xffffff9b
cmp eax, 2
ja 0x402d1a
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 0x402d1a
sub eax, 0x6e
je 0x402d17
sub eax, 1
je 0x402cf7
sub eax, 1
je 0x402d04
sub eax, 5
je 0x402cf7
sub eax, 3
jne 0x402d1a
test ecx, 0x40000
je 0x402d04
add ebx, 8
jmp 0x402d07
add ebx, 4
mov edi, dword [ebp - 0xc]
add edi, dword [ebp + 0xc]
push 0x20
pop eax
cmp edi, eax
cmovl edi, eax
jmp 0x402d1a
add ebx, 4
add dword [ebp - 4], edi
mov edi, dword [ebp - 4]
jmp 0x402d32
push esi
call dword [sym.imp.USER32.dll_CharNextW]
sub eax, esi
sar eax, 1
add edi, eax
mov dword [ebp - 4], edi
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
xor eax, eax
push 0x25
pop ecx
cmp word [esi], ax
jne 0x402a4e
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
push edi
call fcn.00402e15
test eax, eax
je 0x402d7b
mov edx, dword [ebx]
xor eax, eax
push dword [ebp - 0x14]
push eax
mov ecx, dword [edx - 4]
push dword [ebp + 8]
inc ecx
push ecx
push edx
call fcn.004029f6
add esp, 0x10
mov ecx, ebx
call fcn.00402ec2
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8