Function at 0x4485d9
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x10
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], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], 0
je 0x448785
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
nop
cmp word [esi], 0x25
jne 0x44876b
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x25
je 0x44876b
xor edi, edi
mov dword [esp + 0x10], edi
test ax, ax
je 0x4484f0
cmp ax, 0x23
jne 0x4484b3
add dword [esp + 0x28], 2
jmp 0x4484dd
cmp ax, 0x2a
jne 0x4484c5
mov eax, dword [ebp]
add ebp, 4
mov dword [esp + 0x10], eax
jmp 0x4484dd
cmp ax, 0x2d
je 0x4484dd
cmp ax, 0x2b
je 0x4484dd
cmp ax, 0x30
je 0x4484dd
cmp ax, 0x20
jne 0x4484ea
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x4484a6
cmp dword [esp + 0x10], edi
jne 0x448522
push esi
call fcn.0049f2f6
mov dword [esp + 0x14], eax
movzx eax, word [esi]
add esp, 4
test ax, ax
je 0x448522
movzx eax, ax
push eax
call fcn.0049f2cd
add esp, 4
test eax, eax
je 0x448522
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x448505
cmp word [esi], 0x2e
mov dword [esp + 0x14], edi
jne 0x44857d
push esi
call ebx
mov esi, eax
cmp word [esi], 0x2a
push esi
jne 0x448548
mov ecx, dword [ebp]
add ebp, 4
mov dword [esp + 0x18], ecx
call ebx
mov esi, eax
jmp 0x44857d
call fcn.0049f2f6
mov dword [esp + 0x18], eax
movzx eax, word [esi]
add esp, 4
test ax, ax
je 0x44857d
lea esp, [esp]
movzx eax, ax
push eax
call fcn.0049f2cd
add esp, 4
test eax, eax
je 0x44857d
push esi
call ebx
mov esi, eax
movzx eax, word [esi]
test ax, ax
jne 0x448560
movzx eax, word [esi]
xor ebx, ebx
cmp eax, 0x49
jne 0x4485b7
movzx eax, word [esi + 2]
cmp eax, 0x36
jne 0x4485a1
cmp word [esi + 4], 0x34
jne 0x4485a1
add esi, 6
mov ebx, 0x40000
jmp case.0x4485c6.71
cmp eax, 0x33
jne 0x4485b2
cmp word [esi + 4], 0x32
jne 0x4485b2
add esi, 6
jmp case.0x4485c6.71
add esi, 2
jmp case.0x4485c6.71
add eax, 0xffffffba
cmp eax, 0x26
ja case.0x4485c6.71
movzx edx, byte [eax + 0x44888c]
jmp dword [edx*4 + 0x44887c]
mov ebx, 0x10000
jmp case.0x4485c6.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 0x44868c
je 0x448659
cmp eax, 0x73
jg 0x44867e
je 0x448666
cmp eax, 0x43
je 0x448659
cmp eax, 0x53
je 0x44862b
cmp eax, 0x63
je 0x448659
movzx eax, word [esi]
add eax, 0xffffffbb
cmp eax, 0x33
ja case.0x448624.70
movzx eax, byte [eax + 0x4488c8]
jmp dword [eax*4 + 0x4488b4]
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x44863d
lea edi, [eax + 6]
jmp 0x4486ec
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
cmp edi, 1
jge 0x4486e4
mov edi, 1
jmp 0x4486ec
mov edi, 2
add ebp, 4
jmp 0x4486ec
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x448675
lea edi, [eax + 6]
jmp 0x4486ec
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x448644
sub eax, 0x10043
je 0x448659
sub eax, 0x10
je 0x44862b
jmp 0x44860e
cmp eax, 0x20053
jg 0x4486a6
je 0x4486b6
cmp eax, 0x10073
je 0x44862b
cmp eax, 0x20043
jmp 0x44860c
sub eax, 0x20063
je 0x448659
sub eax, 0x10
jne 0x44860e
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x4486c5
lea edi, [eax + 6]
jmp 0x4486ec
lea edx, [eax + 2]
jmp 0x4486d0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4486d0
sub eax, edx
sar eax, 1
jmp 0x448644
test edi, edi
je 0x44860e
mov eax, dword [esp + 0x10]
cmp edi, eax
jg 0x4486f6
mov edi, eax
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x448624.70
cmp edi, eax
jl case.0x448624.70
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
add dword [esp + 0x28], edi
jmp 0x448776
test ebx, 0x40000
je case.0x448624.112
add ebp, 8
jmp 0x448720
add ebp, 4
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x10]
mov edi, 0x20
cmp eax, edi
jl case.0x448624.70
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
mov edi, eax
add dword [esp + 0x28], edi
jmp 0x448776
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], edi
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x448776
add ebp, 4
add dword [esp + 0x28], edi
mov ebx, dword [sym.imp.USER32.dll_CharNextW]
jmp 0x448776
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 0x448480
mov ebp, dword [esp + 0x18]
mov eax, dword [ebp]
cmp dword [eax - 0xc], 1
mov ebx, dword [esp + 0x28]
lea esi, [eax - 0xc]
jg 0x44879e
cmp ebx, dword [eax - 4]
jle 0x44881a
mov edi, dword [eax - 8]
cmp ebx, edi
jge 0x4487a7
mov ebx, edi
push ebx
mov ecx, ebp
call fcn.00445960
test eax, eax
je 0x448821
mov eax, dword [ebp]
lea edx, [edi + edi + 2]
push edx
lea ecx, [esi + 0xc]
push ecx
lea edx, [ebx + ebx + 2]
push edx
push eax
call fcn.0049e470
add esp, 0x10
cmp eax, 0x50
ja case.0x4487dd.1
movzx eax, byte [eax + 0x44890c]
jmp dword [eax*4 + 0x4488fc]
push 0x8007000e
call fcn.004413b0
push 0x80070057
call fcn.004413b0
mov ecx, dword [ebp]
mov dword [ecx - 8], edi
cmp esi, dword [0x4da020]
je 0x44881a
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x44881a
push esi
call fcn.0049e9ee
add esp, 4
mov eax, dword [ebp]
test eax, eax
jne 0x44882d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 8
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [eax - 4]
push ecx
inc edx
push edx
push eax
call fcn.0049e8c9
add esp, 0x10
mov ecx, ebp
call fcn.004476e0
mov eax, dword [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp]
pop edi
mov dword [ecx - 8], eax
mov edx, dword [ebp]
pop esi
xor ecx, ecx
pop ebp
mov word [edx + eax*2], cx
lea eax, [ecx + 1]
pop ebx
add esp, 0x10
ret 8
push 0x80004005
call fcn.004413b0
fld dword [ebp - 0x7a32ffbc]
inc esp
add ah, dl
test dword [eax + eax - 0x1e], eax
test dword [eax + eax], eax
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
add eax, dword [eax]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [edx]
nop
aas
xchg dword [eax + eax + 16], eax
xchg dword [eax + eax + 0x5c], eax
xchg dword [eax + eax + 0x1d], eax
xchg dword [eax + eax + 0x5f], eax
xchg dword [eax + eax], eax
add al, 0
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add dword [esp + eax], eax
add al, 4
add al, 4
add al, 4
add al, 4
add al, 1
add byte [eax], al
add byte [ecx + eax], al
add al, 4
add al, 4
add al, byte [ecx]
add eax, dword [esp + eax]
add al, 4
add dword [esp + eax], eax
add eax, edi
xchg dword [eax + eax - 28], eax
xchg dword [eax + eax - 0x12], eax
xchg dword [eax + eax + 0x72], eax
mov byte [eax + eax], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
int3