Function at 0x10023430
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x10
push ebp
mov ebp, dword [esp + 0x1c]
push esi
mov esi, dword [esp + 0x1c]
cmp word [esi], 0
push edi
mov edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x24], 0
je 0x100237b9
push ebx
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
cmp word [esi], 0x25
jne 0x1002379e
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
cmp ax, 0x25
je 0x1002379e
xor edi, edi
mov dword [esp + 0x10], edi
cmp ax, di
je 0x100234d3
cmp ax, 0x23
jne 0x10023495
add dword [esp + 0x28], 2
jmp 0x100234bf
cmp ax, 0x2a
jne 0x100234a7
mov eax, dword [ebp]
add ebp, 4
mov dword [esp + 0x10], eax
jmp 0x100234bf
cmp ax, 0x2d
je 0x100234bf
cmp ax, 0x2b
je 0x100234bf
cmp ax, 0x30
je 0x100234bf
cmp ax, 0x20
jne 0x100234cc
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x10023488
cmp dword [esp + 0x10], 0
jne 0x10023508
push esi
call fcn.100812b3
mov dword [esp + 0x14], eax
movzx eax, word [esi]
add esp, 4
test ax, ax
je 0x10023508
movzx eax, ax
movzx ecx, ax
push ecx
call fcn.10081d1c
add esp, 4
test eax, eax
je 0x10023508
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x100234e8
cmp word [esi], 0x2e
mov dword [esp + 0x14], 0
jne 0x10023563
push esi
call ebx
mov esi, eax
cmp word [esi], 0x2a
push esi
jne 0x10023532
mov edx, dword [ebp]
add ebp, 4
mov dword [esp + 0x18], edx
call ebx
mov esi, eax
jmp 0x10023563
call fcn.100812b3
mov dword [esp + 0x18], eax
movzx eax, word [esi]
add esp, 4
test ax, ax
je 0x10023563
movzx eax, ax
push eax
call fcn.10081d1c
add esp, 4
test eax, eax
je 0x10023563
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x10023546
movzx eax, word [esi]
xor ebx, ebx
cmp ax, 0x49
jne 0x10023586
cmp word [esi + 2], 0x36
jne 0x10023586
cmp word [esi + 4], 0x34
jne 0x10023586
add esi, 6
mov ebx, 0x40000
jmp case.0x10023598.71
movzx eax, ax
add eax, 0xffffffba
cmp eax, 0x26
ja case.0x10023598.71
movzx ecx, byte [eax + 0x10023820]
jmp dword [ecx*4 + 0x10023810]
mov ebx, 0x10000
jmp case.0x10023598.70
mov ebx, 0x20000
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
or eax, ebx
cmp eax, 0x10063
jg 0x1002367d
je 0x10023636
cmp eax, 0x73
jg 0x1002365e
je 0x10023643
cmp eax, 0x43
je 0x10023636
cmp eax, 0x53
je 0x100235fd
cmp eax, 0x63
je 0x10023636
movzx eax, word [esi]
add eax, 0xffffffbb
cmp eax, 0x33
ja case.0x100235f6.70
movzx edx, byte [eax + 0x1002385c]
jmp dword [edx*4 + 0x10023848]
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x1002360f
lea edi, [eax + 6]
jmp 0x100236da
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10023612
sub eax, edx
sar eax, 1
mov edi, eax
cmp edi, 1
jge 0x100236d2
mov edi, 1
jmp 0x100236da
mov edi, 2
add ebp, 4
jmp 0x100236da
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x10023655
lea edi, [eax + 6]
jmp 0x100236da
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x10023621
sub eax, 0x10043
je 0x10023636
sub eax, 0x10
jne 0x100235e0
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x10023697
lea edi, [eax + 6]
jmp 0x100236da
cmp eax, 0x20053
jg 0x100236a0
je 0x100236b0
cmp eax, 0x10073
je 0x1002366e
cmp eax, 0x20043
jmp 0x100235de
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x10023621
sub eax, 0x20063
je 0x10023636
sub eax, 0x10
jne 0x100235e0
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x100236bf
lea edi, [eax + 6]
jmp 0x100236da
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100236c2
jmp 0x1002361d
test edi, edi
je 0x100235e0
mov eax, dword [esp + 0x10]
cmp edi, eax
jg 0x100236e4
mov edi, eax
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x100235f6.70
cmp edi, eax
jl case.0x100235f6.70
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
add dword [esp + 0x28], edi
mov edi, dword [esp + 0x18]
jmp 0x100237a9
test ebx, 0x40000
je 0x1002371a
add ebp, 8
jmp 0x1002371d
add ebp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edi, 0x20
add eax, ecx
cmp eax, edi
jl case.0x100235f6.70
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
add dword [esp + 0x28], edi
mov edi, dword [esp + 0x18]
jmp 0x100237a9
push str.Floating_point____e____f____g__and___G__is_not_supported_by_the_WTL::CStringW_class.
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
call dword [sym.imp.KERNEL32.dll_DebugBreak]
add dword [esp + 0x28], edi
mov edi, dword [esp + 0x18]
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x100237a9
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edi, 0x20
add eax, edx
add ebp, 4
cmp eax, edi
jl case.0x100235f6.70
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
add dword [esp + 0x28], edi
mov edi, dword [esp + 0x18]
jmp 0x100237a9
add ebp, 4
add dword [esp + 0x28], edi
mov edi, dword [esp + 0x18]
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x100237a9
push esi
call ebx
sub eax, esi
sar eax, 1
add dword [esp + 0x28], eax
push esi
call ebx
mov esi, eax
cmp word [esi], 0
jne 0x10023461
pop ebx
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, edi
call fcn.100019c0
test eax, eax
jne 0x100237d2
pop edi
pop esi
pop ebp
add esp, 0x10
ret 8
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov ecx, dword [edi]
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_wvsprintfW]
mov ecx, edi
call fcn.100016d0
mov edx, dword [edi]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [edi]
mov dword [ecx - 8], eax
mov edx, dword [edi]
pop edi
xor ecx, ecx
pop esi
mov word [edx + eax*2], cx
lea eax, [ecx + 1]
pop ebp
add esp, 0x10
ret 8