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

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x30]
push esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x34], ebx
mov dword [esp + 8], 0
cmp byte [esi + 0x49], 4
mov edx, dword [esi]
mov dword [esp + 0x14], edx
mov eax, dword [edx + 4]
mov dword [esp + 0xc], eax
jne 0x44c4a5
mov eax, dword [esi + 0x44]
pop esi
pop ebx
add esp, 8
ret
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x3c]
test eax, eax
je 0x44c4e1
nop
cmp eax, esi
je 0x44c4bd
test ecx, ecx
je 0x44c4c6
cmp dword [eax + 0x3c], ecx
je 0x44c4c6
mov eax, dword [eax + 8]
test eax, eax
jne 0x44c4b0
jmp 0x44c4e1
test eax, eax
je 0x44c4e1
push esi
push ecx
push eax
call fcn.00444630
add esp, 0xc
test eax, eax
jne 0x44c676
mov edx, dword [esp + 0x14]
cmp dword [esi + 0x10], 0
push ebp
mov ebp, dword [esp + 0x24]
push edi
mov edi, dword [esp + 0x24]
jne 0x44c527
push 0
push ebp
push edi
push edx
call fcn.00436730
add esp, 0x10
test byte [esi + 0x48], 2
je 0x44c527
test ebp, ebp
jl 0x44c527
jg 0x44c50e
test edi, edi
je 0x44c527
mov eax, edi
mov ecx, ebp
sub eax, 1
sbb ecx, 0
cmp dword [esi + 0x18], eax
jne 0x44c527
cmp dword [esi + 0x1c], ecx
jne 0x44c527
or ebx, 0xffffffff
jmp 0x44c551
test ebx, ebx
jne 0x44c551
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x3c]
push ebp
push edi
push dword [esp + 0x30]
push esi
call fcn.00423c30
mov ecx, eax
add esp, 0x18
test ecx, ecx
jne 0x44c672
mov ebx, dword [esp + 0x3c]
movsx eax, word [esi + 0x4c]
lea ecx, [esp + 0x10]
push ecx
push dword [esp + 0x38]
push dword [esp + 0x38]
mov edi, dword [esi + eax*4 + 0x78]
push dword [esp + 0x38]
mov eax, dword [esp + 0x24]
push ebp
push dword [esp + 0x38]
push dword [esp + 0x38]
mov eax, dword [eax + 0x50]
push eax
push edi
mov dword [esp + 0x60], eax
call fcn.0042f640
mov ecx, eax
add esp, 0x24
mov dword [esp + 0x1c], ecx
test ecx, ecx
jne 0x44c672
movsx eax, word [esi + 0x4c]
lea ecx, [esi + eax*2]
movzx eax, word [ecx + 0x4e]
mov ebp, eax
test ebx, ebx
jne 0x44c613
push dword [edi + 0x44]
call fcn.00464d60
mov ecx, eax
add esp, 4
test ecx, ecx
jne 0x44c672
mov eax, dword [edi + 0x40]
mov ebx, dword [esp + 0x3c]
movzx ecx, byte [eax + ebp*2]
movzx eax, byte [eax + ebp*2 + 1]
shl ecx, 8
or ecx, eax
movzx eax, word [edi + 0x14]
and ecx, eax
add ecx, dword [edi + 0x38]
cmp byte [edi + 5], 0
jne 0x44c5e4
mov eax, dword [ecx]
mov dword [ebx], eax
lea eax, [esp + 0x3c]
push eax
push ecx
push edi
call fcn.004251b0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
movzx eax, word [esp + 0x4c]
push eax
push ebp
push edi
call fcn.0042bcc0
mov ecx, dword [esp + 0x38]
add esp, 0x1c
test ecx, ecx
jne 0x44c672
jmp 0x44c628
mov ebx, dword [esp + 0x3c]
jns 0x44c628
cmp word [edi + 0x12], 0
jbe 0x44c628
inc eax
mov word [ecx + 0x4e], ax
movzx ebp, ax
lea eax, [esp + 0x1c]
push eax
push 0
push 0
push dword [esp + 0x1c]
push ebx
push ebp
push edi
call fcn.004364a0
mov ecx, dword [esp + 0x38]
xor eax, eax
add esp, 0x1c
mov word [esi + 0x2c], ax
test ecx, ecx
jne 0x44c672
cmp byte [edi + 1], al
je 0x44c672
and byte [esi + 0x48], 0xfd
push esi
call fcn.00421640
mov ecx, eax
add esp, 4
movsx eax, word [esi + 0x4c]
mov eax, dword [esi + eax*4 + 0x78]
mov byte [eax + 1], 0
mov byte [esi + 0x49], 0
pop edi
mov eax, ecx
pop ebp
pop esi
pop ebx
add esp, 8
ret