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

Disassembly:
sub esp, 0xe0
mov eax, dword [0x541514]
xor eax, esp
push ebx
mov ebx, dword [esp + 0xf0]
push ebp
mov ebp, dword [esp + 0xf0]
mov cl, byte [ebp + 4]
push esi
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xfc]
and cl, 3
cmp cl, 3
push edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
jne 0x488259
lea edx, [esp + 0x4c]
push edx
push 0x521164
push ebp
call fcn.004718f0
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x58]
push eax
push 0x10
lea ecx, [esp + 0x64]
push ecx
push 2
push edx
mov eax, ecx
push eax
call fcn.004723b0
mov ecx, 0xa
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00489680
mov esi, dword [esp + 0x44]
add esp, 0x2c
dec esi
test esi, esi
jle 0x488259
lea ebx, [ebx]
push ebx
push ebp
push ebx
push ebx
call fcn.0046dd70
lea eax, [esp + 0x24]
push eax
dec esi
lea ecx, [esp + 0x60]
push esi
push ecx
call fcn.00489630
mov eax, dword [esp + 0x30]
add esp, 0x1c
test eax, eax
je 0x488255
mov edx, dword [esp + 0x10]
push ebx
push ebp
push edx
push ebx
call fcn.0046dd70
add esp, 0x10
test esi, esi
jg 0x488220
mov al, byte [ebp + 4]
and al, 7
cmp al, 5
jne 0x4883e7
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x28]
push edx
push ebp
mov dword [esp + 0x30], 1
mov word [esp + 0x34], 5
call fcn.004887b0
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x58]
push eax
push 0x10
lea ecx, [esp + 0x64]
push ecx
push 3
push edx
mov eax, ecx
push eax
call fcn.004723b0
mov esi, dword [esp + 0x34]
mov ecx, 0xa
lea edi, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x74]
push edx
call fcn.00489680
mov esi, dword [esp + 0x44]
add esp, 0x2c
dec esi
test esi, esi
jle 0x488317
lea ebx, [ebx]
lea eax, [esp + 0x24]
push eax
push ebp
mov ecx, eax
push ecx
mov edx, eax
push edx
call fcn.0046dd70
lea eax, [esp + 0x24]
push eax
dec esi
lea ecx, [esp + 0x60]
push esi
push ecx
call fcn.00489630
mov eax, dword [esp + 0x30]
add esp, 0x1c
test eax, eax
je 0x488313
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x24]
push edx
push ebp
push eax
mov ecx, edx
push ecx
call fcn.0046dd70
add esp, 0x10
test esi, esi
jg 0x4882d0
mov edx, dword [esp + 0x10]
push ebx
push ebp
push edx
lea eax, [esp + 0x30]
push eax
call fcn.0046dd70
lea ecx, [esp + 0x34]
push ecx
push ebp
mov edx, ecx
push ebx
push edx
call fcn.0046dd70
mov esi, dword [esp + 0x40]
push esi
lea eax, [esp + 0x48]
push 0x5200e0
push eax
call fcn.0046dc30
mov eax, dword [esi]
add esp, 0x2c
cmp eax, 1
je 0x4883e7
push ebx
push ebp
lea ecx, [esp + 0x2c]
push ecx
push ebx
mov dword [esp + 0x34], 1
mov word [esp + 0x38], 2
call fcn.0046dd70
mov esi, dword [esp + 0x28]
add esp, 0x10
dec esi
test esi, esi
jle 0x4883c6
lea edx, [esp + 0x24]
push edx
push ebp
mov eax, edx
push eax
mov ecx, edx
push ecx
call fcn.0046dd70
lea edx, [esp + 0x24]
push edx
dec esi
lea eax, [esp + 0x60]
push esi
push eax
call fcn.00489630
mov eax, dword [esp + 0x30]
add esp, 0x1c
test eax, eax
je 0x4883c2
lea ecx, [esp + 0x24]
push ecx
push ebp
mov edx, ecx
push edx
mov eax, ecx
push eax
call fcn.00471d50
add esp, 0x10
test esi, esi
jg 0x488381
lea ecx, [esp + 0x24]
push ecx
push ebp
mov edx, ecx
push edx
mov eax, ecx
push eax
call fcn.0046dd70
push ebx
push ebp
lea ecx, [esp + 0x3c]
push ebx
push ecx
call fcn.0046dd70
add esp, 0x20
mov dl, byte [ebp + 4]
and dl, 7
cmp dl, 1
jne 0x488767
lea eax, [esp + 0x4c]
push eax
push 0x521164
push ebp
call fcn.004887b0
add esp, 0xc
xor esi, esi
mov dword [esp + 0x1c], esi
nop
test byte [esp + 0x50], 1
jne 0x48843e
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x4c]
push ecx
push 0x10
lea edx, [esp + 0x58]
push edx
push 1
push eax
mov ecx, edx
push ecx
call fcn.004723b0
add esp, 0x18
inc esi
cmp esi, 0x100
jl 0x488410
mov dword [esp + 0x1c], esi
mov ecx, 0xa
mov esi, 0x521164
lea edi, [esp + 0xc4]
rep movsd dword es:[edi], dword [esi]
lea edx, [esp + 0xc4]
push edx
mov eax, edx
push 0x521164
push eax
call fcn.004718f0
mov ecx, 0xa
lea esi, [esp + 0xd0]
lea edi, [esp + 0xa8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x5c]
push edx
call fcn.00489680
mov esi, dword [esp + 0x2c]
add esp, 0x14
dec esi
test esi, esi
jle 0x4884f0
lea ebx, [ebx]
lea eax, [esp + 0x9c]
push eax
push ebp
mov ecx, eax
push ecx
mov edx, eax
push edx
call fcn.0046dd70
lea eax, [esp + 0x24]
push eax
dec esi
lea ecx, [esp + 0x60]
push esi
push ecx
call fcn.00489630
mov eax, dword [esp + 0x30]
add esp, 0x1c
test eax, eax
je 0x4884ec
lea edx, [esp + 0x9c]
push edx
push ebp
lea eax, [esp + 0xcc]
push eax
mov ecx, edx
push ecx
call fcn.0046dd70
add esp, 0x10
test esi, esi
jg 0x4884a0
mov ecx, 0xa
lea esi, [esp + 0x9c]
lea edi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c]
dec esi
test esi, esi
jle 0x488527
jmp 0x488510
lea edx, [esp + 0x74]
push edx
push ebp
mov eax, edx
push eax
mov ecx, edx
push ecx
call fcn.0046dd70
add esp, 0x10
dec esi
jne 0x488510
lea edx, [esp + 0x74]
push edx
push ebp
mov eax, edx
push 0x521164
push eax
call fcn.00471d50
mov esi, dword [esp + 0x30]
push esi
lea ecx, [esp + 0x88]
push 0x521570
push ecx
call fcn.0046dc30
mov eax, dword [esi]
add esp, 0x1c
cmp eax, 1
jne 0x488455
lea edx, [esp + 0x4c]
push edx
mov eax, edx
push 0x521164
push eax
call fcn.004887b0
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x58]
push ecx
push 0x10
lea edx, [esp + 0x64]
push edx
push 1
push eax
mov ecx, edx
push ecx
call fcn.004723b0
mov esi, dword [esp + 0x34]
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x74]
mov ecx, 0xa
mov edi, ebx
push eax
rep movsd dword es:[edi], dword [esi]
call fcn.00489680
mov esi, dword [esp + 0x44]
add esp, 0x2c
dec esi
test esi, esi
jle 0x4885ed
push ebx
push ebp
push ebx
push ebx
call fcn.0046dd70
lea ecx, [esp + 0x24]
push ecx
dec esi
lea edx, [esp + 0x60]
push esi
push edx
call fcn.00489630
mov eax, dword [esp + 0x30]
add esp, 0x1c
test eax, eax
je 0x4885e9
mov eax, dword [esp + 0x10]
push ebx
push ebp
push eax
push ebx
call fcn.0046dd70
add esp, 0x10
test esi, esi
jg 0x4885b4
lea ecx, [esp + 0x24]
push ecx
push ebp
push ebx
push ebx
call fcn.0046dd70
mov esi, dword [esp + 0x20]
lea edx, [esp + 0x34]
push edx
push ebp
mov eax, edx
push esi
push eax
call fcn.0046dd70
push ebx
push ebp
push esi
push ebx
call fcn.0046dd70
mov esi, dword [esp + 0x50]
push esi
lea ecx, [esp + 0x58]
push 0x5200e0
push ecx
call fcn.0046dc30
mov eax, dword [esi]
add esp, 0x3c
cmp eax, 1
je 0x48878e
jmp 0x488640
mov eax, dword [esp + 0x1c]
test eax, eax
mov ecx, 0xa
lea esi, [esp + 0x24]
lea edi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x10], 0
jg 0x488670
mov esi, dword [esp + 0x20]
jmp 0x4886b3
mov eax, dword [esp + 0x1c]
lea esp, [esp]
mov esi, dword [esp + 0x20]
cmp dword [esi], 1
je 0x4886b3
lea edx, [esp + 0x74]
push edx
push ebp
mov eax, edx
push eax
mov ecx, edx
push ecx
call fcn.0046dd70
push esi
lea edx, [esp + 0x88]
push 0x5200e0
push edx
call fcn.0046dc30
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
add esp, 0x1c
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x488665
mov eax, ecx
mov edx, dword [esp + 0x10]
cmp edx, eax
je 0x48875f
sub eax, edx
dec eax
test eax, eax
mov ecx, 0xa
lea esi, [esp + 0x9c]
lea edi, [esp + 0x74]
rep movsd dword es:[edi], dword [esi]
jle 0x4886f7
mov esi, eax
lea ebx, [ebx]
lea eax, [esp + 0x74]
push eax
push ebp
mov ecx, eax
push ecx
mov edx, eax
push edx
call fcn.0046dd70
add esp, 0x10
dec esi
jne 0x4886e0
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x78]
push ebp
push ecx
mov edx, ecx
push edx
call fcn.0046dd70
mov eax, dword [esp + 0x20]
push ebx
push ebp
lea ecx, [esp + 0x8c]
push ecx
push ebx
mov dword [esp + 0x3c], eax
call fcn.0046dd70
lea edx, [esp + 0x44]
push edx
push ebp
lea eax, [esp + 0xc4]
push eax
mov ecx, edx
push ecx
call fcn.0046dd70
mov esi, dword [esp + 0x50]
push esi
lea edx, [esp + 0x58]
push 0x5200e0
push edx
call fcn.0046dc30
mov eax, dword [esi]
add esp, 0x3c
cmp eax, 1
jne 0x488640
jmp 0x48878e
mov dword [esi], 0
jmp 0x48878e
lea eax, [esp + 0x74]
push eax
push ebp
push ebx
push ebx
call fcn.0046dd70
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
push ecx
lea edx, [esp + 0x88]
push edx
push eax
call fcn.0046dc30
add esp, 0x1c
mov ecx, dword [esp + 0xec]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0047294a
add esp, 0xe0
ret