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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x150
mov esi, esp
mov dword [esi + 0x138], ebp
mov edi, ecx
nop
mov dword [esi + 0x13c], esp
mov dword [esi + 0x148], 0xffffffff
lea eax, [esi + 0x140]
mov dword [esi + 0x144], 0x684230
mov ecx, dword fs:[0]
mov dword [esi + 0x140], ecx
mov dword fs:[0], eax
call fcn.00683bf0
mov dword [esi + 0x1c], eax
mov dword [esi + 0x30], edi
cmp byte [edi + 0x688], 0
jne 0x658e5e
nop
mov eax, dword [0xa8c3e0]
mov dword [esi + 0x20], eax
cmp dword [0xa3c22c], 0x37f9ce01
mov ebx, dword [0xa3c244]
jne 0x65887b
nop
mov eax, dword [ebx - 0x20]
mov ecx, ebx
shl eax, cl
xor edx, edx
test bl, 0x20
cmovne eax, edx
sub eax, ebx
imul eax, ebx
mov ecx, eax
sub ecx, ebx
imul ecx, ebx
shl eax, cl
test cl, 0x20
cmovne eax, edx
add eax, ecx
mov ecx, dword [0x9559c4]
mov dword [esi + 0x18], ecx
mov ecx, dword [0xa3c248]
add ecx, dword [ecx - 0x40]
mov dword [esi + 0x14], ecx
mov dword [0xa3c22c], 0xd270d87b
nop
mov dword [esi + 0x10], eax
jmp 0x658893
nop
add ebx, dword [ebx]
mov dword [esi + 0x10], ebx
mov eax, dword [0x9559c4]
mov dword [esi + 0x18], eax
mov eax, dword [0xa3c248]
add eax, dword [eax]
mov dword [esi + 0x14], eax
nop
cmp byte [0xa8c590], 0
jne 0x658e53
nop
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x68c]
and eax, 0x20
je 0x658e53
nop
cmp byte [0xa8c3e4], 0
jne 0x6588c8
nop
cmp dword [0xa8d668], 0
jne 0x6588f3
nop
push 0x4f8
call fcn.0091d7fd
add esp, 4
mov dword [esi + 0x148], 0
mov dword [esi + 0xc], eax
mov ecx, eax
call fcn.0066b2e0
nop
mov eax, dword [esi + 0xc]
mov dword [0xa8d668], eax
nop
mov eax, dword [0xa8d668]
mov dword [esi + 0x2c], eax
cmp dword [eax + 0x2e4], 0
je 0x658a96
nop
cmp dword [0xa8c5d4], 0
jne 0x658954
nop
mov dword [esi + 0x148], 0xffffffff
push 0xc8
call fcn.0091d7fd
add esp, 4
mov dword [eax], 0x954b00
movsd xmm0, qword [0x954220]
movups xmmword [eax + 0x1c], xmm0
mov byte [eax + 0xc], 0
mov dword [eax + 8], 0x954b60
mov dword [eax + 4], 0
mov dword [0xa8c5d4], eax
nop
mov eax, dword [0xa8c5d4]
mov dword [esi + 0x40], eax
mov eax, dword [0xa3c20c]
lea ecx, [eax + 1]
mov dword [0xa3c20c], ecx
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], ecx
test ecx, eax
je 0x658a9b
mov dword [esi + 0xc], 0
nop
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x40]
cmp word [eax + 6], 0x5ff
ja 0x6589a1
nop
or byte [0xa8be8d], 0x80
mov dword [esi + 0x148], 0xffffffff
nop
mov dword [esi + 0x34], 0
xorps xmm0, xmm0
movaps xmmword [esi + 0xa0], xmm0
movups xmmword [esi + 0x128], xmm0
movups xmmword [esi + 0x118], xmm0
movups xmmword [esi + 0x108], xmm0
movups xmmword [esi + 0xf8], xmm0
mov dword [esi + 0xf4], 0x44
mov edi, dword [0xa8bf42]
mov eax, dword [0xa8bf3e]
mov dword [esi + 0x148], 0xffffffff
push eax
call fcn.0069dc80
mov dword [esi + 0x10], eax
mov dword [esi + 0x44], 0x955f00
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
mov dword [esi + 0x50], 0
mov byte [esi + 0x54], 1
movss xmm0, dword [0x954230]
movups xmmword [esi + 0x58], xmm0
test edi, edi
je 0x658b12
nop
mov dword [esi + 0x148], 1
mov dword [esi + 0x18], edi
push edi
call fcn.0091d83b
add esp, 4
nop
mov ebx, dword [esi + 0x18]
mov dword [esi + 0x50], ebx
mov dword [esi + 0x4c], ebx
mov edi, dword [esi + 0x10]
test edi, edi
je 0x658b16
nop
mov dword [esi + 0x14], eax
mov eax, dword [0xa3931c]
add eax, dword [esi + 0x1c]
mov ecx, dword [0xa392fc]
or ecx, dword [esi + 0x20]
add ecx, eax
add ecx, 0x60e9
mov dword [esi + 0x148], 0xffffffff
call dword [0xa37360]
push ebx
push edi
push dword [esi + 0x14]
call ecx
mov eax, dword [esi + 0x14]
add esp, 0xc
jmp 0x658b27
jmp 0x658e5e
nop
mov eax, dword [esi + 0x14]
mov edi, dword [eax]
cmp dword [esi + 0x18], 0
jle 0x658979
add edi, eax
cmp dword [0xa3c240], 0x42b82c0a
jne 0x658e75
mov eax, dword [esi + 0x18]
xor edx, edx
xor ecx, ecx
cmp eax, 1
jne 0x658ee7
mov dword [esi + 0xc], 0
test byte [esi + 0x18], 1
je 0x658980
nop
mov eax, dword [esi + 0x10]
lea ebx, [eax + edx]
mov dword [esi + 0x18], ebx
xor ebx, ebx
cmp dword [esi + 0x18], edi
sbb ebx, ecx
movzx eax, byte [eax + edx]
jl 0x658b05
nop
mov dword [0xa3c234], 0x331bfd51
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx]
mov ecx, dword [esi + 0xc]
xor cl, al
mov dword [esi + 0xc], ecx
jmp 0x658980
xor eax, eax
jmp 0x658b27
nop
push ebx
push 0
push eax
mov edi, eax
call fcn.009350b0
mov eax, edi
add esp, 0xc
nop
mov dword [esi + 0x48], eax
mov dword [esi + 0x44], 0x9564c0
mov dword [esi + 0x80], 0
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 0
mov byte [esi + 0x8c], 1
movss xmm0, dword [0x954230]
movups xmmword [esi + 0x90], xmm0
mov dword [esi + 0x7c], 0x9564c0
mov dword [esi + 0x148], 3
lea ecx, [esi + 0x7c]
lea eax, [esi + 0x44]
push ecx
push eax
call fcn.007d2600
add esp, 8
lea eax, [esi + 0x34]
mov dword [esi + 0x68], eax
lea eax, [esi + 0x2c]
mov dword [esi + 0x6c], eax
lea eax, [esi + 0xf4]
mov dword [esi + 0x70], eax
lea eax, [esi + 0xa0]
mov dword [esi + 0x74], eax
lea eax, [esi + 0x7c]
mov dword [esi + 0x78], eax
lea eax, [esi + 0xb0]
push eax
call fcn.00659110
add esp, 4
nop
cmp dword [esi + 0xc0], 0
je 0x658be2
nop
mov dword [esi + 0x148], 4
lea ecx, [esi + 0x68]
lea edx, [esi + 0xb0]
call fcn.006593c0
jmp 0x658cd9
nop
mov eax, dword [0xa39318]
mov ebx, dword [esi + 0x1c]
add eax, ebx
mov ecx, dword [0xa392f0]
xor ecx, dword [esi + 0x20]
lea edi, [ecx + eax]
add edi, 0x60e9
mov dword [esi + 0x148], 0xffffffff
mov ecx, edi
call dword [0xa37360]
mov ecx, 0x66e49f9a
call edi
movzx eax, byte [0x9550b4]
sub al, byte [esi + 0xc]
xor ecx, ecx
mov edx, dword [esi + 0x38]
test dword [esi + 0x3c], edx
movzx eax, al
cmovne eax, ecx
add dword [0xa8c3d8], eax
mov eax, dword [0xa3931c]
add eax, ebx
mov ecx, dword [0xa392fc]
add eax, dword [esi + 0x20]
add ecx, eax
add ecx, 0x60e9
lea edi, [esi + 0xcc]
call dword [0xa37360]
lea eax, [esi + 0x68]
push 0x14
push eax
push edi
call ecx
add esp, 0xc
mov dword [esi + 0xc8], 0x954a54
lea edx, [esi + 0xc8]
mov dword [esi + 0xec], edx
mov eax, dword [esi + 0x84]
mov ecx, eax
test eax, eax
je 0x658c8e
mov ecx, dword [esi + 0x80]
mov dword [esi + 0x148], 5
push edx
push eax
push ecx
call fcn.007537e0
add esp, 0xc
nop
mov edi, dword [esi + 0xec]
test edi, edi
je 0x658cd9
xor ebx, ebx
lea eax, [esi + 0xc8]
cmp edi, eax
setne bl
mov eax, dword [edi]
mov ecx, dword [eax + 0x10]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x148], 0xffffffff
call dword [0xa37360]
mov ecx, edi
push ebx
call dword [esi + 0xc]
nop
mov eax, dword [esi + 0x34]
mov dword [esi + 0x10], eax
test eax, eax
je 0x658da1
nop
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0x30]
mov dword [ecx + 0x6a0], eax
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0x214]
mov edi, dword [esi + 0xa4]
mov dword [esi + 0x148], 0xffffffff
call dword [0xa37360]
mov dword [esi + 0x148], 4
push edi
call ecx
nop
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0x214]
mov edi, dword [esi + 0xa0]
mov dword [esi + 0x148], 0xffffffff
call dword [0xa37360]
mov dword [esi + 0x148], 4
push edi
call ecx
xor eax, eax
mov dword [esi + 0xc], eax
cmp eax, 0x1387
ja 0x658da1
nop dword [eax]
nop
mov eax, dword [esi + 0x2c]
mov ecx, dword [eax + 0x1e8]
mov dword [esi + 0x148], 0xffffffff
call dword [0xa37360]
mov dword [esi + 0x148], 4
call ecx
test eax, eax
jne 0x658da1
nop
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
cmp eax, 0x1387
jbe 0x658d60
nop
mov eax, dword [esi + 0xc4]
cmp eax, 8
jb 0x658df3
nop
mov ecx, dword [esi + 0xb0]
lea edi, [eax*2 + 2]
cmp edi, 0x1000
jb 0x658dde
nop
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x658f6e
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
nop
push edi
push ecx
call fcn.0091d82d
add esp, 8
mov dword [esi + 0x148], 0xffffffff
nop
mov eax, dword [0xa39310]
add eax, dword [esi + 0x1c]
add eax, dword [0xa392f8]
mov ebx, dword [esi + 0x20]
lea edi, [ebx + eax]
add edi, 0x60e9
mov dword [esi + 0x148], 0xffffffff
mov ecx, edi
call dword [0xa37360]
lea ecx, [esi + 0x7c]
call edi
mov eax, dword [0xa39310]
mov ecx, dword [0xa392f8]
sub ecx, ebx
add ecx, eax
mov eax, dword [esi + 0x1c]
lea edi, [eax + ecx]
add edi, 0x60e9
mov ecx, edi
call dword [0xa37360]
lea ecx, [esi + 0x44]
call edi
cmp dword [esi + 0x10], 0
je 0x658e5e
nop
mov eax, dword [esi + 0x30]
mov byte [eax + 0x688], 1
nop
mov eax, dword [esi + 0x140]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
xor eax, eax
mov dword [esi + 0x28], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x24], 0
jmp 0x658ea2
mov ecx, dword [esi + 0xc]
xor cl, bl
mov dword [esi + 0xc], ecx
inc eax
cmp eax, dword [esi + 0x18]
jge 0x658980
nop
mov edx, dword [esi + 0x10]
lea ebx, [edx + eax]
mov ecx, edi
sub ecx, ebx
mov ebx, dword [esi + 0x28]
sbb ebx, 0
cmp ecx, 1
sbb ebx, 0
movzx ebx, byte [edx + eax]
jge 0x658e90
nop
mov ebx, dword [esi + 0x24]
lea edx, [ebx + 1]
add eax, ecx
add eax, 3
mov ecx, dword [esi + 0x14]
lea edi, [ecx + ebx*4]
add edi, 4
add edi, dword [ecx + ebx*4 + 4]
xor ebx, ebx
nop
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], 0
jmp 0x658e90
and eax, 0xfffffffe
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x24], eax
mov dword [esi + 0xc], 0
jmp 0x658f16
mov ebx, dword [esi + 0xc]
xor bl, al
xor bl, ah
mov dword [esi + 0xc], ebx
add edx, 2
cmp dword [esi + 0x28], edx
je 0x658ad4
nop
mov ebx, dword [esi + 0x10]
lea eax, [ebx + edx]
cmp eax, edi
mov eax, 0
sbb eax, ecx
movzx eax, byte [ebx + edx]
jl 0x658f40
nop
mov dword [0xa3c234], 0x331bfd51
mov ecx, dword [esi + 0x14]
mov edi, dword [ecx]
add edi, ecx
xor ecx, ecx
nop
mov ebx, dword [esi + 0x24]
add ebx, edx
cmp ebx, edi
mov ebx, 0
sbb ebx, ecx
mov ebx, dword [esi + 0x10]
mov ah, byte [ebx + edx + 1]
jl 0x658f00
nop
mov dword [0xa3c234], 0x331bfd51
mov ecx, dword [esi + 0x14]
mov edi, dword [ecx]
add edi, ecx
xor ecx, ecx
jmp 0x658f00
nop
mov dword [esi + 0x148], 2
call fcn.00900ce1
nop
push ebp
sub esp, 0xc
lea esi, [ebp - 0x14c]
mov ebp, dword [esi + 0x138]
call fcn.009350a0
nop word cs:[eax + eax]
push ebp
sub esp, 0xc
lea esi, [ebp - 0x14c]
mov ebp, dword [esi + 0x138]
nop
mov edi, dword [esi + 0xec]
test edi, edi
je 0x658fe6
xor ebx, ebx
lea eax, [esi + 0xc8]
cmp edi, eax
setne bl
mov eax, dword [edi]
mov ecx, dword [eax + 0x10]
mov dword [esi + 0xc], ecx
call dword [0xa37360]
mov ecx, edi
push ebx
call dword [esi + 0xc]
mov dword [esi + 0xec], 0
add esp, 0xc
pop ebp
ret