Function at 0x406b10
Capabilities:
Print debug messages

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x20]
push esi
mov esi, dword [esp + 0x20]
cmp word [esi], 0
push edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x28], 0
je 0x406e5d
mov edi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x406b40
cmp word [esi], 0x25
jne 0x406e43
push esi
call edi
mov esi, eax
movzx eax, word [esi]
cmp ax, 0x25
je 0x406e43
xor ebx, ebx
mov dword [esp + 0x10], ebx
cmp ax, bx
je 0x406bb2
cmp ax, 0x23
jne 0x406b74
add dword [esp + 0x28], 2
jmp 0x406b9e
cmp ax, 0x2a
jne 0x406b86
mov eax, dword [ebp]
add ebp, 4
mov dword [esp + 0x10], eax
jmp 0x406b9e
cmp ax, 0x2d
je 0x406b9e
cmp ax, 0x2b
je 0x406b9e
cmp ax, 0x30
je 0x406b9e
cmp ax, 0x20
jne 0x406bab
push esi
call edi
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x406b67
cmp dword [esp + 0x10], 0
jne 0x406be4
push esi
call fcn.004a58af
mov dword [esp + 0x14], eax
movzx eax, word [esi]
add esp, 4
test ax, ax
je 0x406be4
movzx eax, ax
push eax
call fcn.004a659e
add esp, 4
test eax, eax
je 0x406be4
push esi
call edi
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x406bc7
cmp word [esi], 0x2e
mov dword [esp + 0x14], 0
jne 0x406c3f
push esi
call edi
mov esi, eax
cmp word [esi], 0x2a
push esi
jne 0x406c0e
mov ecx, dword [ebp]
add ebp, 4
mov dword [esp + 0x18], ecx
call edi
mov esi, eax
jmp 0x406c3f
call fcn.004a58af
mov dword [esp + 0x18], eax
movzx eax, word [esi]
add esp, 4
test ax, ax
je 0x406c3f
movzx eax, ax
push eax
call fcn.004a659e
add esp, 4
test eax, eax
je 0x406c3f
push esi
call edi
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x406c22
movzx eax, word [esi]
xor edi, edi
cmp ax, 0x49
jne 0x406c62
cmp word [esi + 2], 0x36
jne 0x406c62
cmp word [esi + 4], 0x34
jne 0x406c62
add esi, 6
mov edi, 0x40000
jmp case.0x406c74.71
movzx eax, ax
add eax, 0xffffffba
cmp eax, 0x26
ja case.0x406c74.71
movzx edx, byte [eax + 0x406f24]
jmp dword [edx*4 + 0x406f14]
mov edi, 0x10000
jmp case.0x406c74.70
mov edi, 0x20000
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
or eax, edi
cmp eax, 0x10063
jg 0x406d3a
je 0x406d07
cmp eax, 0x73
jg 0x406d2c
je 0x406d14
cmp eax, 0x43
je 0x406d07
cmp eax, 0x53
je 0x406cd9
cmp eax, 0x63
je 0x406d07
movzx eax, word [esi]
add eax, 0xffffffbb
cmp eax, 0x33
ja case.0x406cd2.70
movzx eax, byte [eax + 0x406f60]
jmp dword [eax*4 + 0x406f4c]
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x406ceb
lea ebx, [eax + 6]
jmp 0x406d92
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebx, eax
cmp ebx, 1
jge 0x406d8a
mov ebx, 1
jmp 0x406d92
mov ebx, 2
add ebp, 4
jmp 0x406d92
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x406d23
lea ebx, [eax + 6]
jmp 0x406d92
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x406cf2
sub eax, 0x10043
je 0x406d07
sub eax, 0x10
je 0x406cd9
jmp 0x406cbc
cmp eax, 0x20053
jg 0x406d54
je 0x406d64
cmp eax, 0x10073
je 0x406cd9
cmp eax, 0x20043
jmp 0x406cba
sub eax, 0x20063
je 0x406d07
sub eax, 0x10
jne 0x406cbc
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x406d73
lea ebx, [eax + 6]
jmp 0x406d92
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x406d76
sub eax, edx
sar eax, 1
jmp 0x406cf2
test ebx, ebx
je 0x406cbc
mov eax, dword [esp + 0x10]
cmp ebx, eax
jg 0x406d9c
mov ebx, eax
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x406cd2.70
cmp ebx, eax
jl case.0x406cd2.70
mov edi, dword [sym.imp.USER32.dll_CharNextW]
mov ebx, eax
add dword [esp + 0x28], ebx
jmp 0x406e4e
test edi, 0x40000
je 0x406dce
add ebp, 8
jmp 0x406dd1
add ebp, 4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, 0x20
lea eax, [ecx + edx]
cmp eax, ebx
jl case.0x406cd2.70
mov edi, dword [sym.imp.USER32.dll_CharNextW]
mov ebx, eax
add dword [esp + 0x28], ebx
jmp 0x406e4e
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]
add dword [esp + 0x28], ebx
mov edi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x406e4e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ebx, 0x20
add eax, ecx
add ebp, 4
cmp eax, ebx
jl case.0x406cd2.70
mov edi, dword [sym.imp.USER32.dll_CharNextW]
mov ebx, eax
add dword [esp + 0x28], ebx
jmp 0x406e4e
add ebp, 4
add dword [esp + 0x28], ebx
mov edi, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x406e4e
push esi
call edi
sub eax, esi
sar eax, 1
add dword [esp + 0x28], eax
push esi
call edi
mov esi, eax
cmp word [esi], 0
jne 0x406b40
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
cmp dword [eax - 0xc], 1
mov ecx, dword [esp + 0x28]
lea esi, [eax - 0xc]
jg 0x406e75
cmp ecx, dword [eax - 4]
jle 0x406ec2
mov ebx, dword [eax - 8]
cmp dword [esp + 0x28], ebx
jge 0x406e80
mov ecx, ebx
mov edi, edx
call fcn.00402530
test eax, eax
je 0x406eca
mov edx, dword [edi]
lea eax, [ebx + ebx + 2]
push eax
lea ecx, [esi + 0xc]
push ecx
push edx
call fcn.004a7010
mov eax, dword [edi]
add esp, 0xc
mov dword [eax - 8], ebx
cmp esi, 0x50de08
je 0x406ec4
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x406ec4
push esi
call fcn.004a588e
add esp, 4
jmp 0x406ec4
mov edi, edx
mov eax, dword [edi]
test eax, eax
jne 0x406ed6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
push ecx
push edx
push eax
call dword [sym.imp.USER32.dll_wvsprintfW]
mov edi, dword [esp + 0x20]
call fcn.00406900
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [edi]
mov dword [ecx - 8], eax
mov edx, dword [edi]
pop edi
pop esi
xor ecx, ecx
pop ebp
mov word [edx + eax*2], cx
lea eax, [ecx + 1]
pop ebx
add esp, 0xc
ret 0xc