Function at 0x403290
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 0x4035bb
push ebx
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
cmp word [esi], 0x25
jne 0x40359a
push esi
call ebx
mov esi, eax
mov ax, word [esi]
cmp ax, 0x25
je 0x40359a
xor edi, edi
cmp ax, di
mov dword [esp + 0x10], edi
je 0x403334
cmp ax, 0x23
jne 0x4032f5
add dword [esp + 0x28], 2
jmp 0x40331f
cmp ax, 0x2a
jne 0x403307
mov eax, dword [ebp]
add ebp, 4
mov dword [esp + 0x10], eax
jmp 0x40331f
cmp ax, 0x2d
je 0x40331f
cmp ax, 0x2b
je 0x40331f
cmp ax, 0x30
je 0x40331f
cmp ax, 0x20
jne 0x40332c
push esi
call ebx
mov esi, eax
mov ax, word [esi]
test ax, ax
jne 0x4032e8
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40336c
push esi
call fcn.0040f393
mov dword [esp + 0x14], eax
xor eax, eax
mov ax, word [esi]
add esp, 4
test ax, ax
je 0x40336c
jmp 0x403350
push 4
push eax
call fcn.0040ebbb
add esp, 8
test eax, eax
je 0x40336c
push esi
call ebx
mov esi, eax
mov ax, word [esi]
test ax, ax
jne 0x403350
cmp word [esi], 0x2e
mov dword [esp + 0x14], 0
jne 0x4033cc
push esi
call ebx
mov esi, eax
cmp word [esi], 0x2a
push esi
jne 0x403396
mov ecx, dword [ebp]
add ebp, 4
mov dword [esp + 0x18], ecx
call ebx
mov esi, eax
jmp 0x4033cc
call fcn.0040f393
mov dword [esp + 0x18], eax
xor eax, eax
mov ax, word [esi]
add esp, 4
test ax, ax
je 0x4033cc
lea esp, [esp]
push 4
push eax
call fcn.0040ebbb
add esp, 8
test eax, eax
je 0x4033cc
push esi
call ebx
mov esi, eax
mov ax, word [esi]
test ax, ax
jne 0x4033b0
mov ax, word [esi]
xor ebx, ebx
cmp ax, 0x49
jne 0x4033ef
cmp word [esi + 2], 0x36
jne 0x4033ef
cmp word [esi + 4], 0x34
jne 0x4033ef
add esi, 6
mov ebx, 0x40000
jmp case.0x403401.71
movzx eax, ax
add eax, 0xffffffba
cmp eax, 0x26
ja case.0x403401.71
movzx edx, byte [eax + 0x403624]
jmp dword [edx*4 + 0x403614]
mov ebx, 0x10000
jmp case.0x403401.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 0x4034b1
je 0x403500
cmp eax, 0x73
jg 0x403494
je 0x403477
cmp eax, 0x43
je 0x403500
cmp eax, 0x53
je 0x4034a0
cmp eax, 0x63
je 0x403500
movzx eax, word [esi]
add eax, 0xffffffbb
cmp eax, 0x33
ja case.0x403467.70
movzx eax, byte [eax + 0x403660]
jmp dword [eax*4 + 0x40364c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x4034f2
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x40348b
mov edi, 6
jmp 0x403512
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x4034f2
sub eax, 0x10043
je 0x403500
sub eax, 0x10
jne 0x403451
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x40346e
mov edi, 6
jmp 0x403512
cmp eax, 0x20053
jg 0x4034c8
je 0x4034d8
cmp eax, 0x10073
je 0x4034a0
cmp eax, 0x20043
jmp 0x40344b
sub eax, 0x20063
je 0x403500
sub eax, 0x10
jne 0x403451
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x4034e9
mov edi, 6
jmp 0x403512
push eax
call fcn.0040faac
add esp, 4
mov edi, eax
cmp edi, 1
jge 0x40350a
mov edi, 1
jmp 0x403512
mov edi, 2
add ebp, 4
jmp 0x403512
test edi, edi
je 0x403451
mov eax, dword [esp + 0x10]
cmp edi, eax
jg 0x40351c
mov edi, eax
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x403467.70
cmp edi, eax
jl case.0x403467.70
mov edi, eax
jmp case.0x403467.70
test ebx, 0x40000
je 0x403539
add ebp, 8
jmp 0x40353c
add ebp, 4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov edi, 0x20
lea eax, [ecx + edx]
cmp eax, edi
jl case.0x403467.70
mov edi, eax
jmp case.0x403467.70
push 0x419670
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
call dword [sym.imp.KERNEL32.dll_DebugBreak]
jmp case.0x403467.70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edi, 0x20
add eax, ecx
add ebp, 4
cmp eax, edi
jl case.0x403467.70
mov edi, eax
jmp case.0x403467.70
add ebp, 4
mov eax, dword [esp + 0x28]
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
add eax, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], eax
jmp 0x4035ab
push esi
call ebx
mov ecx, dword [esp + 0x28]
sub eax, esi
sar eax, 1
add ecx, eax
mov dword [esp + 0x28], ecx
push esi
call ebx
mov esi, eax
cmp word [esi], 0
jne 0x4032c1
pop ebx
mov edx, dword [esp + 0x24]
push edx
mov ecx, edi
call fcn.004023d0
test eax, eax
jne 0x4035d4
pop edi
pop esi
pop ebp
add esp, 0x10
ret 8
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [edi]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_wvsprintfW]
mov ecx, edi
call fcn.004024e0
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
mov word [edx + eax*2], 0
mov eax, 1
pop ebp
add esp, 0x10
ret 8