Function at 0x44f8b0
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x4bbb70
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x4eb86c]
xor eax, esp
push eax
lea eax, [esp + 0x14]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 4], 0
jne 0x44fa45
mov eax, dword [esi + 0x18]
push 0x20
push str.a_ccsUTF_8
push eax
call fcn.00489fc8
mov edi, eax
add esp, 0xc
test edi, edi
je 0x44fb07
call fcn.0045a356
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x44f918
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0xc], eax
cmp dword [esi + 8], 0
mov dword [esp + 0x1c], 0
je 0x44f981
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.0044f570
mov edx, dword [eax]
push edx
lea eax, [esp + 0x10]
push 0x4c9a08
push eax
mov byte [esp + 0x28], 1
call fcn.0040c8b0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
add esp, 0xc
mov byte [esp + 0x1c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44f981
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [esi + 0x10], 0
je 0x44f9d2
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
call fcn.0044f650
mov edx, dword [eax]
push edx
lea eax, [esp + 0x10]
push 0x4c9a08
push eax
mov byte [esp + 0x28], 2
call fcn.0040c8b0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
add esp, 0xc
mov byte [esp + 0x1c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44f9d2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x10]
call fcn.0040cf40
mov esi, dword [esp + 0xc]
mov ecx, dword [esi - 0xc]
lea eax, [ecx - 1]
test eax, eax
jl 0x44fa3b
cmp eax, ecx
jg 0x44fa3b
movzx eax, word [esi + eax*2]
cmp ax, 0xa
je 0x44fa0e
push 0x4c79d8
lea ecx, [esp + 0x10]
call fcn.0040cf40
mov esi, dword [esp + 0xc]
push esi
push edi
call fcn.0048a87e
push edi
call fcn.00489f4c
lea eax, [esi - 0x10]
add esp, 0xc
mov dword [esp + 0x1c], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x44fafb
push 0x80070057
call fcn.00401000
call fcn.0045a356
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x44fa5f
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x24]
test edx, edx
mov dword [esp + 0x1c], 3
jne 0x44fa83
xor eax, eax
jmp 0x44fa9f
mov eax, edx
lea esi, [eax + 2]
jmp 0x44fa90
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x44fa90
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x14]
call fcn.0040c0e0
mov esi, dword [esp + 0xc]
mov ecx, dword [esi - 0xc]
lea eax, [ecx - 1]
test eax, eax
jl 0x44fa3b
cmp eax, ecx
jg 0x44fa3b
movzx eax, word [esi + eax*2]
cmp ax, 0xa
je 0x44fadc
push 0x4c79d8
lea ecx, [esp + 0x10]
call fcn.0040cf40
mov esi, dword [esp + 0xc]
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [esi - 0x10]
mov dword [esp + 0x1c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44fb07
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x14
ret 4