Function at 0x402783
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 0x402ad7
push 0x25
mov ecx, eax
pop edx
cmp cx, dx
jne 0x402ab9
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
push 0x25
pop eax
movzx ecx, word [edi]
cmp cx, ax
je 0x402ab9
xor ebx, ebx
and dword [ebp + 0xc], ebx
mov dword [ebp - 0xc], ebx
test cx, cx
je 0x402837
mov ebx, dword [ebp - 4]
cmp cx, 0x23
jne 0x4027ec
add ebx, 2
jmp 0x402818
push 0x2a
pop eax
cmp cx, ax
jne 0x4027fe
mov ecx, dword [esi]
add esi, 4
mov dword [ebp + 0xc], ecx
jmp 0x402818
cmp cx, 0x2d
je 0x402818
cmp cx, 0x2b
je 0x402818
cmp cx, 0x30
je 0x402818
push 0x20
pop eax
cmp cx, ax
jne 0x40282b
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x4027e1
cmp dword [ebp + 0xc], 0
mov dword [ebp - 4], ebx
mov ebx, dword [ebp - 0xc]
jne 0x402867
push edi
call fcn.00524b20
pop ecx
movzx ecx, word [edi]
mov dword [ebp + 0xc], eax
test cx, cx
je 0x402867
push ecx
call fcn.00524bed
pop ecx
test eax, eax
je 0x402867
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x402849
and dword [ebp - 8], 0
cmp word [edi], 0x2e
jne 0x4028c4
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
push 0x2a
pop eax
push edi
cmp word [edi], ax
jne 0x402895
mov eax, dword [esi]
add esi, 4
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
jmp 0x4028c4
call fcn.00524b20
pop ecx
movzx ecx, word [edi]
mov dword [ebp - 8], eax
test cx, cx
je 0x4028c4
push ecx
call fcn.00524bed
pop ecx
test eax, eax
je 0x4028c4
push edi
call dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x4028a6
movzx eax, word [edi]
and dword [ebp - 0xc], 0
cmp eax, 0x49
jne 0x4028ea
cmp word [edi + 2], 0x36
jne 0x4028ea
cmp word [edi + 4], 0x34
jne 0x4028ea
add edi, 6
mov dword [ebp - 0xc], 0x40000
jmp 0x40291d
sub eax, 0x46
je 0x402914
sub eax, 6
je 0x402914
dec eax
sub eax, 1
je 0x402914
sub eax, 0x1a
je 0x40290d
sub eax, 4
jne 0x40291d
mov dword [ebp - 0xc], 0x20000
jmp 0x402914
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 0x4029ec
je 0x4029e4
sub eax, 0x43
je 0x4029e4
push 0x10
pop ecx
sub eax, ecx
je 0x402a21
sub eax, ecx
je 0x4029e4
sub eax, ecx
je 0x4029cb
sub eax, 0xffd0
je 0x4029e4
sub eax, ecx
je 0x402a21
movzx eax, word [edi]
cmp eax, 0x6e
ja 0x402a84
je 0x402a7c
cmp eax, 0x47
je 0x402a66
cmp eax, 0x58
je 0x40299e
cmp eax, 0x64
je 0x40299e
jbe 0x4029c0
cmp eax, 0x67
jbe 0x402a66
cmp eax, 0x69
jne 0x4029c0
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 0x402abd
add esi, 4
cmp dword [esi - 4], 0
jne 0x4029d9
push 6
pop ebx
jmp 0x402a45
push dword [esi - 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x402a33
push 2
pop ebx
add esi, 4
jmp 0x402a45
sub eax, 0x10073
je 0x402a21
sub eax, 0xffd0
je 0x4029e4
push 0x10
pop ecx
sub eax, ecx
je 0x402a0d
sub eax, ecx
je 0x4029e4
sub eax, ecx
jne 0x402969
add esi, 4
cmp dword [esi - 4], 0
je 0x4029d4
push dword [esi - 4]
call fcn.00524c40
pop ecx
jmp 0x402a33
add esi, 4
cmp dword [esi - 4], 0
je 0x4029d4
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 0x402969
mov eax, dword [ebp + 0xc]
cmp ebx, eax
cmovg eax, ebx
mov ebx, eax
mov eax, dword [ebp - 8]
test eax, eax
je 0x4029c0
cmp ebx, eax
cmovl eax, ebx
mov ebx, eax
jmp 0x4029c0
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 0x4029c0
add esi, 4
jmp 0x4029c0
sub eax, 0x6f
je 0x40299e
sub eax, 1
je 0x402aa3
sub eax, 5
je 0x40299e
sub eax, 3
jmp 0x40299c
mov ebx, dword [ebp - 8]
add esi, 4
add ebx, dword [ebp + 0xc]
push 0x20
pop ecx
cmp ebx, ecx
cmovl ebx, ecx
jmp 0x4029c0
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 0x4027b0
push ebx
mov ebx, dword [ebp - 0x10]
mov ecx, ebx
call fcn.00402b07
test eax, eax
je 0x402b00
push dword [ebp - 0x14]
push dword [ebp + 8]
push dword [ebx]
call dword [sym.imp.USER32.dll_wvsprintfW]
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00402fac
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 8