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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x488d35
add esp, 0xffffff80
mov ebx, dword [esp + 0x84]
test byte [ebx], al
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jg 0x4889fc
jmp 0x488b0a
mov ebx, dword [esp + 0x84]
test byte [ebx], al
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x84]
test byte [ebx], al
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x24], ecx
mov ebx, dword [esp + 0x84]
test byte [ebx], al
mov edx, dword [ebx + 8]
mov ebx, dword [ebx]
cmp edx, ecx
jae 0x488a33
jmp 0x488d2f
cmp ecx, eax
jae 0x488a3c
jmp 0x488d2a
sub edx, eax
sub ecx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and eax, edx
lea edx, [ebx + eax]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebp
mov edx, dword [esp + 0x84]
test byte [edx], al
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebp
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x34], ebx
cmp ebx, edx
jg 0x488a9b
jmp 0x488aa1
mov dword [esp + 0x34], edx
jmp 0x488aa3
jmp 0x488aa3
mov edx, dword [esp + 0x74]
cmp dword [esp + 0x68], edx
jne 0x488aaf
jmp 0x488ad1
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00476100
jmp 0x488ad3
jmp 0x488ad3
mov edx, dword [esp + 0x84]
test byte [edx], al
mov ebx, dword [esp + 0x84]
test byte [ebx], al
mov ebx, dword [ebx + 0x18]
mov ebp, dword [esp + 0x84]
test byte [ebp], al
sub ebx, dword [ebp + 0x14]
mov dword [edx + 0x18], ebx
mov edx, dword [esp + 0x84]
test byte [edx], al
mov dword [edx + 0x14], 0
jmp 0x488b0c
jmp 0x488b0c
mov edx, dword [esp + 0x84]
test byte [edx], al
mov edx, dword [edx + 4]
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x84]
test byte [ebx], al
cmp dword [ebx + 0x18], edx
jge 0x488d12
jmp 0x488b30
mov dword [esp + 0x20], 0x64
jmp 0x488b3a
mov edx, dword [esp + 0x20]
test edx, edx
jg 0x488b47
jmp 0x488c8c
mov edx, dword [esp + 0x84]
test byte [edx], al
mov eax, dword [edx + 0x18]
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x84]
test byte [edx], al
mov ecx, dword [edx + 4]
mov ebx, dword [edx]
mov edx, dword [edx + 8]
jmp 0x488b6a
cmp ecx, eax
jae 0x488b73
jmp 0x488d0d
sub edx, eax
sub ecx, eax
mov ebp, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x84]
test byte [eax], al
mov ecx, dword [eax + 0xc]
test byte [ecx], al
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + 0xc]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x1c]
test eax, eax
jl 0x488cc8
jmp 0x488c15
mov edx, dword [esp + 0x84]
test byte [edx], al
mov ebx, dword [esp + 0x84]
test byte [ebx], al
mov ebx, dword [ebx + 0x18]
add ebx, dword [esp + 0x1c]
mov dword [edx + 0x18], ebx
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x488c3b
jmp 0x488c73
mov eax, dword [esp + 0x84]
test byte [eax], al
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov dword [eax + 0x1c], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x488c5b
jmp 0x488c5d
jmp 0x488c6c
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax + 0x20]
mov dword [edi + 4], edx
jmp 0x488c6c
mov dword [eax + 0x20], ecx
sub esp, 0xffffff80
ret
mov edx, dword [esp + 0x1c]
test edx, edx
jg 0x488c7d
jmp 0x488c81
sub esp, 0xffffff80
ret
jmp 0x488c83
dec dword [esp + 0x20]
jmp 0x488b3a
mov eax, dword [esp + 0x84]
test byte [eax], al
mov ecx, dword [0x5cf7b4]
mov edx, dword [0x5cf7b0]
mov dword [eax + 0x1c], edx
mov edx, dword [0x5efdd0]
test edx, edx
je 0x488cb0
jmp 0x488cb2
jmp 0x488cc1
call fcn.004757c0
mov dword [edi], ecx
mov edx, dword [eax + 0x20]
mov dword [edi + 4], edx
jmp 0x488cc1
mov dword [eax + 0x20], ecx
sub esp, 0xffffff80
ret
mov eax, dword [0x5cf688]
mov ecx, dword [0x5cf68c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x488cea
jmp 0x488d0b
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 4]
mov dword [esp + 0x5c], eax
jmp 0x488cf7
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0046fd20
jmp 0x488cf7
call fcn.00475890
lea eax, [0x5115e0]
mov dword [esp], eax
lea eax, [0x53a740]
mov dword [esp + 4], eax
call fcn.0046fd20
call fcn.00475890
call fcn.00475870
nop
call fcn.004743b0
jmp fcn.004889d0