Function at 0x444f30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x30
cmp byte [ecx + 4], 0
mov edi, ecx
je 0x444f5e
mov ecx, edi
call fcn.00445210
mov ebx, eax
test eax, eax
jne 0x44519c
mov al, byte [edi + 4]
mov dword [esp + 0x10], eax
jmp 0x444f66
mov dword [esp + 0x10], 0
mov eax, dword [edi + 0x3c]
mov esi, dword [edi]
mov dword [esp + 8], edi
xor edx, edx
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [edi + 0xa4]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xa0]
mov dword [esp + 0xc], 0xffffffff
mov dword [edi + 0xd8], 0
mov edi, dword [esi + 4]
mov dword [esp + 0x18], eax
add edi, 0x78
mov ecx, edi
call fcn.0041c030
test eax, eax
je 0x4450c6
mov ebx, eax
push edi
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, ebx
mov dword [ebx], esi
mov edx, dword [esp + 4]
add eax, 0x78
cmp byte [esp + 0x10], 0
mov dword [ebx + 8], eax
mov dword [ebx + 4], edi
mov word [ebx + 0x28], 0xffff
mov dword [ebx + 0x14], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0x10], ecx
setne cl
mov dword [ebx + 0x6c], edx
mov word [ebx + 0x30], 0x101
add cl, cl
mov byte [ebx + 0x2b], cl
lea ecx, [esp + 0xc]
mov dword [esp + 0xc], 0x80006
push ecx
push 0x80006
push eax
push edx
push esi
call dword [esi + 0x18]
add esp, 0x14
test eax, eax
mov dword [esp + 4], eax
je 0x4450d4
mov al, byte [ebx + 0x2b]
cmp al, 2
je 0x44503f
cmp byte [ebx + 0x32], 0
je 0x445118
cmp dword [ebx + 0x18], 0
jle 0x445114
xor edi, edi
jmp 0x44506e
push esi
call dword [0x51d1cc]
add esp, 4
mov eax, dword [ebx + 0x20]
mov dword [eax + edi*4], 0
inc edi
cmp edi, dword [ebx + 0x18]
jge 0x445111
mov eax, dword [ebx + 0x20]
mov esi, dword [eax + edi*4]
test esi, esi
je 0x44505a
cmp dword [0x51d1a8], 0
je 0x445050
mov eax, dword [0x51e858]
test eax, eax
je 0x445094
push eax
call dword [0x51d1f8]
add esp, 4
push esi
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push esi
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
test eax, eax
je 0x44505a
push eax
call dword [0x51d200]
jmp 0x445057
mov edi, dword [esp + 8]
mov ebx, 7
jmp 0x44519c
test byte [esp + 0xc], 1
mov ecx, edi
je 0x4450e1
mov byte [ebx + 0x2e], 1
mov eax, dword [ecx]
push ecx
call dword [eax + 0x30]
add esp, 4
test eax, 0x400
je 0x4450f5
mov byte [ebx + 0x30], 0
test eax, 0x1000
je 0x445100
mov byte [ebx + 0x31], 0
mov edi, dword [esp + 8]
mov dword [edi + 0xd8], ebx
xor ebx, ebx
jmp 0x44519c
mov al, byte [ebx + 0x2b]
cmp al, 2
je 0x445126
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x40]
add esp, 8
mov esi, dword [ebx + 8]
mov eax, dword [esi]
test eax, eax
je 0x44513c
push esi
call dword [eax + 4]
add esp, 4
mov dword [esi], 0
cmp dword [0x51d1a8], 0
je 0x44518a
mov eax, dword [0x51e858]
test eax, eax
je 0x445158
push eax
call dword [0x51d1f8]
add esp, 4
push ebx
call dword [0x51d1d4]
add esp, 4
sub dword [0x51e800], eax
dec dword [0x51e824]
push ebx
call dword [0x51d1cc]
add esp, 4
mov eax, dword [0x51e858]
test eax, eax
je 0x445194
push eax
call dword [0x51d200]
jmp 0x445191
push ebx
call dword [0x51d1cc]
add esp, 4
mov edi, dword [esp + 8]
mov ebx, dword [esp + 4]
mov eax, dword [edi + 0x3c]
mov ecx, dword [eax]
test ecx, ecx
je 0x4451fb
cmp dword [ecx], 3
jl 0x4451fb
mov ecx, dword [edi + 0x80]
mov edx, dword [edi + 0x84]
xor esi, esi
mov dword [esp + 0x20], ecx
neg ecx
mov dword [esp + 0x24], edx
mov ecx, 0x43f4c0
sbb esi, edx
mov edx, fcn.0043f710
setl byte [edi + 0x16]
cmovl edx, ecx
mov ecx, 0x43f4a0
cmp dword [edi + 0x28], 0
cmove ecx, edx
mov dword [edi + 0xcc], ecx
mov ecx, dword [eax]
test ecx, ecx
je 0x4451fb
lea edx, [esp + 0x20]
push edx
push 0x12
push eax
call dword [ecx + 0x28]
add esp, 0xc
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret