Function at 0x4672d0
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x1c
push ebx
mov ebx, dword [esp + 0x28]
push esi
mov esi, dword [esp + 0x28]
cmp word [esi], 0
push edi
mov edi, ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x10], 0
je 0x467662
push ebp
mov ebp, dword [sym.imp.USER32.dll_CharNextW]
cmp word [esi], 0x25
jne 0x467647
push esi
call ebp
mov esi, eax
movzx eax, word [esi]
cmp ax, 0x25
je 0x467647
xor edi, edi
mov dword [esp + 0x18], edi
cmp ax, di
je 0x467372
cmp ax, 0x23
jne 0x467335
add dword [esp + 0x14], 2
jmp 0x46735e
cmp ax, 0x2a
jne 0x467346
mov eax, dword [ebx]
add ebx, 4
mov dword [esp + 0x18], eax
jmp 0x46735e
cmp ax, 0x2d
je 0x46735e
cmp ax, 0x2b
je 0x46735e
cmp ax, 0x30
je 0x46735e
cmp ax, 0x20
jne 0x46736b
push esi
call ebp
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x467328
cmp dword [esp + 0x18], 0
jne 0x4673bd
push esi
call fcn.00467140
mov dword [esp + 0x1c], eax
movzx eax, word [esi]
add esp, 4
test ax, ax
je 0x4673bd
lea edx, [esp + 0x34]
push edx
movzx ecx, ax
push 1
lea eax, [esp + 0x24]
push eax
push 1
mov dword [esp + 0x2c], ecx
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
push eax
call dword [sym.imp.KERNEL32.dll_GetStringTypeExW]
test byte [esp + 0x34], 4
je 0x4673bd
push esi
call ebp
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x467387
cmp word [esi], 0x2e
mov dword [esp + 0x1c], 0
jne 0x467436
push esi
call ebp
mov esi, eax
cmp word [esi], 0x2a
push esi
jne 0x4673e6
mov ecx, dword [ebx]
add ebx, 4
mov dword [esp + 0x20], ecx
call ebp
mov esi, eax
jmp 0x467436
call fcn.00467140
mov dword [esp + 0x20], eax
movzx eax, word [esi]
add esp, 4
test ax, ax
je 0x467436
lea ebx, [ebx]
movzx edx, ax
lea eax, [esp + 0x10]
push eax
push 1
lea ecx, [esp + 0x28]
push ecx
push 1
mov dword [esp + 0x30], edx
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
push eax
call dword [sym.imp.KERNEL32.dll_GetStringTypeExW]
test byte [esp + 0x10], 4
je 0x467436
push esi
call ebp
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x467400
movzx eax, word [esi]
xor ebp, ebp
cmp ax, 0x49
jne 0x467459
cmp word [esi + 2], 0x36
jne 0x467459
cmp word [esi + 4], 0x34
jne 0x467459
add esi, 6
mov ebp, 0x40000
jmp case.0x46746b.71
movzx eax, ax
add eax, 0xffffffba
cmp eax, 0x26
ja case.0x46746b.71
movzx edx, byte [eax + 0x4676c8]
jmp dword [edx*4 + 0x4676b8]
mov ebp, 0x10000
jmp case.0x46746b.70
mov ebp, 0x20000
push esi
call dword [sym.imp.USER32.dll_CharNextW]
mov esi, eax
movzx eax, word [esi]
or eax, ebp
cmp eax, 0x10063
jg 0x46752b
je 0x4674f9
cmp eax, 0x73
jg 0x46751d
je 0x467506
cmp eax, 0x43
je 0x4674f9
cmp eax, 0x53
je 0x4674cc
cmp eax, 0x63
je 0x4674f9
movzx eax, word [esi]
add eax, 0xffffffbb
cmp eax, 0x33
ja case.0x4674c5.70
movzx eax, byte [eax + 0x467704]
jmp dword [eax*4 + 0x4676f0]
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x4674dd
lea edi, [eax + 6]
jmp 0x467582
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
cmp edi, 1
jge 0x46757a
mov edi, 1
jmp 0x467582
mov edi, 2
add ebx, 4
jmp 0x467582
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x467514
lea edi, [eax + 6]
jmp 0x467582
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x4674e4
sub eax, 0x10043
je 0x4674f9
sub eax, 0x10
je 0x4674cc
jmp 0x4674af
cmp eax, 0x20053
jg 0x467545
je 0x467555
cmp eax, 0x10073
je 0x4674cc
cmp eax, 0x20043
jmp 0x4674ad
sub eax, 0x20063
je 0x4674f9
sub eax, 0x10
jne 0x4674af
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x467563
lea edi, [eax + 6]
jmp 0x467582
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x467566
sub eax, edx
sar eax, 1
jmp 0x4674e4
test edi, edi
je 0x4674af
mov eax, dword [esp + 0x18]
cmp edi, eax
jg 0x46758c
mov edi, eax
mov eax, dword [esp + 0x1c]
test eax, eax
je case.0x4674c5.70
cmp edi, eax
jl case.0x4674c5.70
mov ebp, dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
add dword [esp + 0x14], edi
mov edi, dword [esp + 0x24]
jmp 0x467652
test ebp, 0x40000
je 0x4675c2
add ebx, 8
jmp 0x4675c5
add ebx, 4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov edi, 0x20
lea eax, [ecx + edx]
cmp eax, edi
jl case.0x4674c5.70
mov ebp, dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
add dword [esp + 0x14], edi
mov edi, dword [esp + 0x24]
jmp 0x467652
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 + 0x14], edi
mov edi, dword [esp + 0x24]
mov ebp, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x467652
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edi, 0x20
add eax, ecx
add ebx, 4
cmp eax, edi
jl case.0x4674c5.70
mov ebp, dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
add dword [esp + 0x14], edi
mov edi, dword [esp + 0x24]
jmp 0x467652
add ebx, 4
add dword [esp + 0x14], edi
mov edi, dword [esp + 0x24]
mov ebp, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x467652
push esi
call ebp
sub eax, esi
sar eax, 1
add dword [esp + 0x14], eax
push esi
call ebp
mov esi, eax
cmp word [esi], 0
jne 0x467301
pop ebp
mov edx, dword [esp + 0x10]
push edx
mov ecx, edi
call fcn.00455310
test eax, eax
jne 0x46767b
pop edi
pop esi
pop ebx
add esp, 0x1c
ret 8
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [edi]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_wvsprintfW]
mov ecx, edi
call fcn.00455390
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
xor ecx, ecx
pop esi
mov word [edx + eax*2], cx
lea eax, [ecx + 1]
pop ebx
add esp, 0x1c
ret 8