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

Disassembly:
sub esp, 0x74
mov eax, dword [esp + 0x78]
push ebx
push ebp
push esi
mov ecx, dword [eax]
push edi
mov dword [esp + 0x3c], ecx
xor edi, edi
mov ebp, dword [ecx + 0x1c]
lea ecx, [esp + 0x44]
push ecx
push edi
push 2
push edi
push 1
push eax
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x4c], edi
xor ebx, ebx
mov dword [esp + 0x58], edi
mov dword [esp + 0x3c], edi
call fcn.00489be0
mov esi, eax
add esp, 0x18
cmp esi, edi
jne 0x489359
lea edx, [esp + 0x10]
lea eax, [esp + 0x24]
push edx
push edi
push eax
push ebp
call fcn.00453820
mov esi, eax
add esp, 0x10
cmp esi, edi
jne 0x4892fd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x14], ecx
lea eax, [esp + 0x18]
lea ecx, [esp + 0x20]
push eax
push ecx
push ebp
mov dword [esp + 0x38], edx
call fcn.004232b0
mov esi, eax
add esp, 0xc
cmp esi, edi
jne 0x489359
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x8c]
cmp eax, edi
je 0x4890a3
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x14]
cmp edx, ecx
je 0x48905f
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x30], edi
cmp ecx, edi
je 0x488f99
lea esi, [esp + 0x30]
push esi
push ecx
push eax
push edx
call fcn.004893b0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
add esp, 0x10
cmp eax, edi
jne 0x488f92
mov edx, dword [ebp + 8]
mov esi, dword [ecx]
cmp edx, esi
jbe 0x488f99
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
inc edx
push ecx
push edx
push eax
call fcn.00423320
mov esi, eax
add esp, 0xc
cmp esi, edi
jne 0x489381
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
cmp eax, edi
lea ebx, [ecx + edx*4 + 4]
jne 0x488fd1
mov ebx, ecx
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x488ff6
cmp edx, eax
je 0x488ff6
lea edx, [eax*4]
lea eax, [ebx + 4]
sub edx, ebx
add edx, ecx
push edx
push ebx
push eax
call fcn.004a1d30
add esp, 0xc
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 8]
cmp eax, edi
mov dword [ebx], ecx
je 0x4890a3
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
push edi
push ecx
push edx
call fcn.00453170
mov esi, eax
add esp, 0xc
cmp esi, edi
jne 0x489308
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x28]
push edi
push edx
push eax
mov dword [esp + 0x20], edi
call fcn.00453820
mov esi, eax
add esp, 0x10
cmp esi, edi
jne 0x489308
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x2c], ecx
jmp 0x4890a7
mov ecx, dword [esp + 0x20]
cmp ecx, edi
je 0x4890a3
lea ebx, [eax + ecx*4 - 4]
cmp ebx, eax
jb 0x48908e
mov ecx, dword [esp + 0x14]
dec ecx
cmp ecx, dword [ebx]
mov dword [esp + 0x14], ecx
jne 0x489085
sub ebx, 4
cmp ebx, eax
jae 0x48906f
jmp 0x48908e
cmp ebx, eax
jb 0x48908e
dec edx
cmp ecx, edx
jae 0x489096
mov dword [esp + 0x34], 1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x20]
mov dword [esp + 0x14], eax
jmp 0x4890a7
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + 4]
cmp eax, edi
mov dword [esp + 0x38], eax
je 0x489225
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
cmp dword [eax + 0x158], edi
je 0x489225
test byte [ecx + 0xf5], 1
jne 0x489225
mov eax, dword [eax + 0x168]
cmp eax, edi
je 0x4890f9
mov eax, dword [eax + 4]
cmp eax, edi
je 0x4890f9
test byte [eax + 0x1a8], 1
jne 0x489225
mov esi, dword [esp + 0x3c]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x54]
rep stosd dword es:[edi], eax
mov dword [esp + 0x54], ebp
mov edi, dword [esi + 0x250]
test edi, 0x400
je 0x489123
mov ecx, 0x26
jmp 0x48912f
mov ecx, edi
and cl, 1
neg cl
sbb ecx, ecx
and ecx, 6
xor eax, eax
add ecx, 0x1a
mov al, byte [ebp + 0x19]
and ecx, 0xffff
mov dword [esp + 0x58], ecx
lea edi, [eax - 2]
cmp edi, 0xa
ja case.0x489155.5
xor eax, eax
mov al, byte [edi + 0x48939c]
jmp dword [eax*4 + 0x48938c]
mov ax, word [ebp + 0x14]
test ax, ax
jbe case.0x489155.5
and eax, 0xffff
lea ecx, [ecx + eax*2]
xor eax, eax
mov ax, word [ebp + 0x16]
mov dword [esp + 0x58], ecx
lea ecx, [eax + ebp]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esi]
sub ecx, eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x30]
push ecx
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [ebp + 8]
push eax
push edx
push ecx
push 0
push edx
mov edx, dword [esp + 0x5c]
push edx
push esi
call fcn.004492d0
add esp, 0x2c
jmp 0x489210
mov dword [esp + 0x58], 0x200
jmp case.0x489155.5
xor eax, eax
mov ax, word [ebp + 0x16]
add ecx, eax
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x34]
xor eax, eax
test ecx, ecx
jne 0x4891e7
mov ecx, dword [ebp + 8]
mov edi, dword [esp + 0x14]
cmp ecx, edi
jne 0x4891e7
mov eax, 1
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x30]
push ecx
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [ebp + 8]
push edx
push ecx
push eax
push edx
mov edx, dword [esp + 0x58]
push edx
push esi
call fcn.00448c60
add esp, 0x28
mov esi, eax
test esi, esi
jne 0x489306
mov ecx, dword [esp + 0x88]
xor edi, edi
jmp 0x489232
mov dword [edx], edi
mov eax, dword [esp + 0x10]
mov dword [eax + 4], 1
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov dword [ebp], edx
mov edx, dword [eax + 4]
mov dword [ebp + 4], edx
mov edx, dword [esp + 0x34]
cmp edx, edi
je 0x48927d
mov esi, dword [esp + 0x18]
mov edx, dword [eax + 0x20]
sub ebx, esi
sar ebx, 2
inc ebx
dec edx
mov dword [eax + 0x20], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x14]
push ebx
push edx
push ebp
push eax
push ecx
call fcn.00489910
add esp, 0x18
mov esi, eax
xor ebp, ebp
jmp 0x489308
mov ecx, dword [ebp + 8]
mov ebx, dword [esp + 0x14]
cmp ecx, ebx
jne 0x4892ca
mov ecx, dword [esp + 0x1c]
push 4
push ebp
push ecx
call fcn.00453170
mov esi, eax
add esp, 0xc
cmp esi, edi
jne 0x489360
mov edx, dword [esp + 0x1c]
push edi
push ebx
push edx
call fcn.00423000
mov esi, eax
add esp, 0xc
cmp esi, edi
jne 0x489360
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x20]
dec ecx
xor ebp, ebp
mov dword [eax + 0x20], ecx
jmp 0x489308
mov edx, dword [esp + 0x2c]
mov dword [ebp + 0xc], edi
mov dword [ebp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov word [ebp + 0x14], di
mov dx, word [edx]
mov byte [ebp + 0x18], 0
mov word [ebp + 0x16], dx
mov edx, dword [esp + 0x28]
cmp edx, edi
mov byte [ebp + 0x19], 0
jne 0x4892f8
mov dword [eax + 0x1c], ecx
jmp 0x489308
mov dword [eax + 0x10], ecx
jmp 0x489308
mov ebp, dword [esp + 0x8c]
jmp 0x489308
xor edi, edi
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x48932a
push 2
push eax
mov eax, dword [esp + 0x24]
push eax
call fcn.00453170
add esp, 0xc
cmp eax, edi
je 0x48932a
cmp esi, edi
jne 0x48932a
mov esi, eax
cmp dword [esp + 0x44], edi
je 0x48934f
mov edx, dword [esp + 0x88]
lea ecx, [esp + 0x44]
push ecx
push edx
call fcn.00489f30
add esp, 8
cmp eax, edi
je 0x48934f
cmp esi, edi
jne 0x48934f
mov esi, eax
mov dword [esp + 0x40], 2
jmp 0x489360
mov ebp, dword [esp + 0x8c]
cmp ebp, edi
je 0x489381
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
push eax
push ebp
push ecx
call fcn.00453170
add esp, 0xc
cmp eax, edi
je 0x489381
cmp esi, edi
jne 0x489381
mov esi, eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret