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

Disassembly:
sub esp, 0x68
push ebx
push ebp
mov ebp, dword [esp + 0x78]
push esi
mov esi, edx
lea edx, [eax + ebp]
mov eax, dword [esp + 0x78]
push edi
mov dword [esp + 0x80], eax
add eax, ecx
mov ecx, dword [esi + 0x2850]
mov dword [esp + 0x24], edx
sub edx, ebp
push edx
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x2854]
add eax, ecx
push ebp
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x2814]
lea ebx, [esi + 0x1004]
push ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x2810]
lea edi, [esi + 0x1808]
mov dword [esp + 0x3c], ecx
push edi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x2818]
push esi
push ecx
lea edx, [esp + 0x38]
lea ecx, [esp + 0x40]
mov dword [esp + 0x44], eax
call fcn.0044df20
add esp, 0x18
cmp eax, 0xffffff88
ja 0x44e7f6
lea edx, [eax + ebp]
mov ebp, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
add eax, ebp
mov ecx, 4
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x6c], ecx
sub eax, edx
lea ecx, [esp + 0x44]
call fcn.0044c170
cmp eax, 0xffffff88
jbe 0x44e66b
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
mov ebp, dword [esp + 0x48]
movzx edx, word [esi]
mov eax, dword [esp + 0x44]
mov ecx, ebp
and ecx, 0x1f
shl eax, cl
or ecx, 0xffffffff
sub ecx, edx
and ecx, 0x1f
shr eax, 1
shr eax, cl
add ebp, edx
lea ecx, [esp + 0x44]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x54], eax
call fcn.0044c260
movzx edx, word [ebx]
mov eax, dword [esp + 0x44]
add esi, 4
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x48]
mov ecx, esi
and ecx, 0x1f
shl eax, cl
or ecx, 0xffffffff
sub ecx, edx
and ecx, 0x1f
shr eax, 1
shr eax, cl
add esi, edx
lea ecx, [esp + 0x44]
mov dword [esp + 0x48], esi
mov dword [esp + 0x5c], eax
call fcn.0044c260
mov esi, dword [esp + 0x48]
movzx edx, word [edi]
mov eax, dword [esp + 0x44]
mov ecx, esi
and ecx, 0x1f
shl eax, cl
or ecx, 0xffffffff
sub ecx, edx
and ecx, 0x1f
shr eax, 1
shr eax, cl
add esi, edx
add ebx, 4
lea ecx, [esp + 0x44]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x64], eax
call fcn.0044c260
add edi, 4
mov dword [esp + 0x68], edi
call fcn.0044c260
cmp eax, 2
jg 0x44e795
mov edi, dword [esp + 0x28]
test edi, edi
je 0x44e795
lea edx, [esp + 0x38]
push edx
lea esi, [esp + 0x48]
dec edi
call fcn.0044e1f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
add esp, 4
push eax
mov eax, dword [esp + 0x14]
push ecx
push edx
mov edx, dword [esp + 0x44]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x50]
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0xa4]
call fcn.0044e3d0
add esp, 0x24
cmp eax, 0xffffff88
ja 0x44e7f6
add dword [esp + 0x80], eax
mov ecx, esi
call fcn.0044c260
cmp eax, 2
jle 0x44e721
mov ecx, dword [esp + 0x4c]
cmp ecx, dword [esp + 0x50]
jne 0x44e65e
cmp dword [esp + 0x48], 0x20
jne 0x44e65e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov esi, ecx
sub esi, eax
cmp eax, ecx
ja 0x44e65e
mov edi, dword [esp + 0x80]
lea edx, [esi + edi]
cmp edx, dword [esp + 0x18]
jbe 0x44e7df
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
cmp edi, eax
je 0x44e7ee
push esi
push eax
push edi
call fcn.005d5960
add esp, 0xc
mov eax, esi
sub eax, dword [esp + 0x7c]
add eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret