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

Disassembly:
sub esp, 0x5c
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea eax, [esi + 0x30]
push eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x14], esi
call fcn.0048b890
mov edx, dword [esi + 0x2c]
mov eax, dword [esp + 0x70]
cmp eax, edx
jb 0x489fba
lea ecx, [esp + 0x4c]
call fcn.0048b880
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0xc
mov ecx, dword [esp + 0x78]
xor edi, edi
cmp ecx, edi
je 0x489fa5
add ecx, eax
cmp ecx, edx
jae 0x489fd0
mov dword [esp + 0x70], ecx
jmp 0x489fd6
mov dword [esp + 0x70], edx
mov ecx, edx
mov ebx, eax
mov edx, ecx
shr edx, 0xe
push edi
shr ebx, 0xe
sub esp, 8
cmp ebx, edx
mov dword [esp + 0x84], edx
jne 0x48a080
sub ecx, eax
mov esi, eax
mov eax, esp
mov ebp, ecx
lea ecx, [esp + 0x38]
and esi, 0x3fff
mov dword [eax], edi
mov dword [eax + 4], edi
call fcn.00481ba0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x30]
push edx
push ebx
call fcn.00489d10
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push ecx
push edx
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
call fcn.00507320
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
push ebp
add eax, esi
push eax
push ecx
call fcn.00484f30
add esp, 0xc
lea ecx, [esp + 0x3c]
call fcn.004c0cf0
lea ecx, [esp + 0x2c]
call fcn.00489460
lea ecx, [esp + 0x4c]
call fcn.0048b880
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0xc
and eax, 0x3fff
mov ebp, eax
mov eax, esp
mov esi, 0x4000
lea ecx, [esp + 0x28]
sub esi, ebp
mov dword [eax], edi
mov dword [eax + 4], edi
call fcn.00481ba0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.00489d10
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push ecx
push edx
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
call fcn.00507320
mov eax, dword [esp + 0x3c]
add eax, ebp
mov ebp, dword [esp + 0x74]
push esi
push eax
push ebp
call fcn.00484f30
add esp, 0xc
lea ecx, [esp + 0x3c]
call fcn.004c0cf0
add ebp, esi
cmp dword [esp + 0x14], edi
mov dword [esp + 0x74], esi
jne 0x48a103
cmp dword [esp + 0x18], edi
je 0x48a122
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x40]
push edx
add ecx, 0x10
call fcn.00489b20
lea ecx, [esp + 0x3c]
call fcn.00489460
mov eax, dword [esp + 0x78]
add ebx, 1
cmp ebx, eax
jae 0x48a215
sub eax, ebx
mov ebx, eax
shl eax, 0xe
add eax, esi
mov dword [esp + 0x74], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x10
call fcn.00489b20
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.00489310
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 8]
push edx
push eax
lea ecx, [esp + 0x24]
call fcn.00507320
cmp dword [esp + 0x24], edi
mov esi, dword [esp + 0x1c]
jne 0x48a180
cmp dword [esp + 0x28], edi
je 0x48a187
push esi
call dword [0x100b0088]
lea ecx, [esp + 0x3c]
call fcn.00489310
mov eax, dword [esp + 0x44]
cmp eax, edi
mov ecx, dword [esp + 0x48]
jne 0x48a1a0
cmp ecx, edi
je 0x48a1a7
push ecx
push eax
call fcn.0047d110
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
push ecx
push edx
lea ecx, [esp + 0x34]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
call fcn.00507320
mov eax, dword [esp + 0x2c]
push 0x4000
push eax
push ebp
call fcn.00484f30
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
add esp, 0xc
cmp eax, edi
jne 0x48a1f3
cmp ecx, edi
je 0x48a1fa
push ecx
push eax
call fcn.0047d110
add ebp, 0x4000
sub ebx, 1
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], edi
jne 0x48a13e
mov eax, dword [esp + 0x70]
and eax, 0x3fff
mov ebx, eax
je 0x48a2d6
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x40]
push edx
add ecx, 0x10
call fcn.00489b20
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.00489310
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.00507320
cmp dword [esp + 0x24], edi
mov esi, dword [esp + 0x1c]
jne 0x48a268
cmp dword [esp + 0x28], edi
je 0x48a26f
push esi
call dword [0x100b0088]
lea ecx, [esp + 0x3c]
call fcn.00489310
mov eax, dword [esp + 0x44]
cmp eax, edi
mov ecx, dword [esp + 0x48]
jne 0x48a288
cmp ecx, edi
je 0x48a28f
push ecx
push eax
call fcn.0047d110
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
push edx
push eax
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
call fcn.00507320
mov ecx, dword [esp + 0x3c]
push ebx
push ecx
push ebp
call fcn.00484f30
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
add esp, 0xc
cmp eax, edi
jne 0x48a2cb
cmp ecx, edi
je 0x48a2d2
push ecx
push eax
call fcn.0047d110
add dword [esp + 0x74], ebx
lea ecx, [esp + 0x1c]
call fcn.00489310
mov eax, dword [esp + 0x24]
cmp eax, edi
mov ecx, dword [esp + 0x28]
jne 0x48a2ef
cmp ecx, edi
je 0x48a2f6
push ecx
push eax
call fcn.0047d110
lea ecx, [esp + 0x4c]
call fcn.0048b880
mov eax, dword [esp + 0x74]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret 0xc