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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0xb4
inc dword [0x102109e4]
xor eax, eax
cmp dword [ebp + 0x28], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
je 0x1008fbe4
mov eax, dword [ebp + 0x28]
mov dword [eax], 0xffffffff
mov eax, dword [ebp + 0xc]
push 0x10
lea ebx, [eax + eax]
imul ebx, dword [ebp + 0x18]
push ebx
call fcn.101beb7a
mov esi, eax
push 4
push ebx
call fcn.101beb7a
mov dword [esp + 0x9c], eax
push 4
push ebx
call fcn.101beb7a
mov dword [esp + 0xa0], eax
push 4
push ebx
call fcn.101beb7a
mov dword [esp + 0xb4], eax
push 4
push ebx
call fcn.101beb7a
add esp, 0x28
mov dword [esp + 0x90], eax
cmp dword [ebp + 0x4c], 0
je 0x1008fc56
movsd xmm0, qword [0x101e5410]
movsd qword [esp + 0x60], xmm0
movsd qword [esp + 0x70], xmm0
jmp 0x1008fd8c
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
movsd xmm0, qword [0x101e5408]
addsd xmm0, qword [ebp + 0x20]
mov edx, dword [ebp + 0x28]
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x34], 1
mov dword [esp + 0xc], ebx
mov ebx, dword [ebp + 0x34]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x24], esi
lea ecx, [esp + 0x80]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x90]
lea edi, [esp + 0x70]
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x44], ebx
call fcn.1009054c
mov ebx, dword [esp + 0x80]
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
movsd xmm0, qword [ebp + 0x20]
mov ecx, dword [ebp + 0x28]
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], 1
mov eax, ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
shl eax, 4
add eax, esi
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x34]
lea edi, [esp + 0x84]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
lea edi, [ecx + ebx*4]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
lea edx, [esp + 0x60]
mov dword [esp + 0x30], edx
lea edx, [eax + ebx*4]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
lea edi, [ecx + ebx*4]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x40], edi
lea ebx, [eax + ebx*4]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x44], ebx
call fcn.1009054c
movsd xmm0, qword [esp + 0x70]
movsd xmm1, qword [0x101e5418]
comisd xmm1, xmm0
jbe 0x1008fede
comisd xmm1, xmmword [esp + 0x60]
jbe 0x1008fede
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x1c]
movsd xmm0, qword [ebp + 0x20]
mov edx, dword [ebp + 0x28]
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x34], 0
mov dword [esp + 0xc], ebx
mov ebx, dword [ebp + 0x34]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x24], esi
lea ecx, [esp + 0x80]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x90]
lea edi, [esp + 0x70]
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x44], ebx
call fcn.1009054c
mov ebx, dword [esp + 0x80]
mov edi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
movsd xmm0, qword [0x101e5408]
addsd xmm0, qword [ebp + 0x20]
mov ecx, dword [ebp + 0x28]
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x34], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov eax, ebx
shl eax, 4
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x88]
lea edi, [esp + 0x84]
add eax, esi
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x34]
mov dword [esp + 0x28], edi
lea edi, [ecx + ebx*4]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x90]
lea edx, [esp + 0x60]
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], edi
lea edx, [eax + ebx*4]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 0x18]
lea edi, [ecx + ebx*4]
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x40], edi
lea ebx, [eax + ebx*4]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x44], ebx
call fcn.1009054c
xor ebx, ebx
jmp 0x1008fee3
mov ebx, 1
cmp dword [ebp + 0x2c], 0
je 0x10090393
cmp dword [ebp + 0x30], 0
je 0x10090393
movsd xmm1, qword [0x101e5408]
movsd xmm0, qword [ebp + 0x20]
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
movsd xmm2, qword [esp + 0x60]
movsd qword [esp + 0x58], xmm2
addsd xmm1, xmm0
mov dword [esp + 0x7c], eax
test ebx, ebx
jne 0x1008ff2d
movaps xmm1, xmm0
movsd qword [esp + 0x50], xmm1
test edi, edi
jle 0x100900ed
cmp edi, 8
jl 0x100904f6
movsd xmm0, qword [esp + 0x50]
mov dword [esp + 0x6c], 0
mov eax, edi
and eax, 7
neg eax
add eax, edi
mov dword [esp + 0x68], eax
call fcn.101b8d30
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x78], esi
shl eax, 4
movaps xmm2, xmm0
unpcklpd xmm1, xmm1
movsd xmm0, qword [esp + 0x58]
unpcklpd xmm2, xmm2
add eax, esi
mov esi, dword [esp + 0x6c]
unpcklpd xmm0, xmm0
mulpd xmm1, xmm0
mulpd xmm0, xmm2
mov edx, esi
shl edx, 4
movsd xmm2, qword [edx + eax]
movhpd xmm2, qword [edx + eax + 0x10]
addpd xmm2, xmm1
movlpd qword [edx + eax], xmm2
movhpd qword [edx + eax + 0x10], xmm2
movsd xmm2, qword [edx + eax + 8]
movhpd xmm2, qword [edx + eax + 0x18]
addpd xmm2, xmm0
movlpd qword [edx + eax + 8], xmm2
movhpd qword [edx + eax + 0x18], xmm2
movsd xmm2, qword [edx + eax + 0x20]
movhpd xmm2, qword [edx + eax + 0x30]
addpd xmm2, xmm1
movlpd qword [edx + eax + 0x20], xmm2
movhpd qword [edx + eax + 0x30], xmm2
movsd xmm2, qword [edx + eax + 0x28]
movhpd xmm2, qword [edx + eax + 0x38]
addpd xmm2, xmm0
movlpd qword [edx + eax + 0x28], xmm2
movhpd qword [edx + eax + 0x38], xmm2
movsd xmm2, qword [edx + eax + 0x40]
movhpd xmm2, qword [edx + eax + 0x50]
addpd xmm2, xmm1
movlpd qword [edx + eax + 0x40], xmm2
movhpd qword [edx + eax + 0x50], xmm2
movsd xmm2, qword [edx + eax + 0x48]
movhpd xmm2, qword [edx + eax + 0x58]
addpd xmm2, xmm0
movlpd qword [edx + eax + 0x48], xmm2
movhpd qword [edx + eax + 0x58], xmm2
movsd xmm2, qword [edx + eax + 0x60]
movhpd xmm2, qword [edx + eax + 0x70]
addpd xmm2, xmm1
movlpd qword [edx + eax + 0x60], xmm2
movhpd qword [edx + eax + 0x70], xmm2
movsd xmm2, qword [edx + eax + 0x68]
movhpd xmm2, qword [edx + eax + 0x78]
addpd xmm2, xmm0
movlpd qword [edx + eax + 0x68], xmm2
movhpd qword [edx + eax + 0x78], xmm2
add esi, 8
cmp esi, ecx
jb 0x1008ff96
mov esi, dword [esp + 0x78]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x68]
mov eax, edx
shl eax, 4
mov dword [esp + 0x6c], eax
cmp edx, edi
jae 0x100900ed
movsd xmm0, qword [esp + 0x50]
call fcn.101b8d30
mov eax, dword [esp + 0x7c]
movsd xmm2, qword [esp + 0x58]
mulsd xmm1, xmm2
mulsd xmm0, xmm2
shl eax, 4
add eax, esi
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
movsd xmm2, qword [edx + eax]
movsd xmm3, qword [edx + eax + 8]
addsd xmm2, xmm1
movsd qword [edx + eax], xmm2
addsd xmm3, xmm0
movsd qword [edx + eax + 8], xmm3
inc ecx
add edx, 0x10
cmp ecx, edi
jb 0x100900c7
movsd xmm3, qword [0x1020c050]
movsd xmm7, qword [esp + 0x70]
mulsd xmm7, xmm3
addsd xmm7, qword [0x101e5420]
movsd xmm0, qword [0x101e5430]
movsd xmm4, qword [0x101e5438]
movsd xmm2, qword [0x101e5440]
andps xmm0, xmm7
movaps xmm6, xmm0
pxor xmm6, xmm7
cmpltsd xmm6, xmm4
andps xmm6, xmm4
orps xmm6, xmm0
movaps xmm5, xmm6
addsd xmm5, xmm7
subsd xmm5, xmm6
movaps xmm1, xmm5
subsd xmm1, xmm7
cmpnlesd xmm1, xmm0
andps xmm1, xmm2
subsd xmm5, xmm1
divsd xmm5, xmm3
movsd xmm1, qword [esp + 0x58]
movsd xmm0, qword [0x101e5430]
movsd qword [esp + 0x70], xmm5
mulsd xmm1, xmm3
addsd xmm1, qword [0x101e5420]
andps xmm0, xmm1
movaps xmm6, xmm0
pxor xmm6, xmm1
cmpltsd xmm6, xmm4
andps xmm6, xmm4
orps xmm6, xmm0
movaps xmm7, xmm6
addsd xmm7, xmm1
subsd xmm7, xmm6
movaps xmm4, xmm7
subsd xmm4, xmm1
cmpnlesd xmm4, xmm0
andps xmm4, xmm2
subsd xmm7, xmm4
divsd xmm7, xmm3
movsd qword [esp + 0x60], xmm7
ucomisd xmm5, xmm7
jp 0x100901bf
je 0x10090492
comisd xmm7, xmm5
jbe 0x100901e4
test ebx, ebx
jne 0x100901e4
mov edi, dword [esp + 0x7c]
mov eax, dword [ebp + 0x30]
mov dword [eax], edi
lea edx, [edi - 1]
xor ecx, ecx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x7c], ecx
jmp 0x10090203
comisd xmm5, xmm7
jbe 0x100901ef
cmp ebx, 1
je 0x100901c9
mov eax, dword [ebp + 0x30]
mov edx, dword [esp + 0x7c]
mov dword [eax], edi
lea ecx, [edi + edx - 1]
mov dword [esp + 0xa0], ecx
test edi, edi
jle 0x10090378
push 0x10
push edi
call fcn.101beb7a
add esp, 8
cmp dword [ebp + 0x3c], 0
mov edx, dword [ebp + 0x2c]
mov dword [edx], eax
je 0x10090286
mov eax, dword [ebp + 0x30]
push 4
push dword [eax]
call fcn.101beb7a
mov edx, dword [ebp + 0x3c]
push 4
mov dword [edx], eax
mov eax, dword [ebp + 0x30]
push dword [eax]
call fcn.101beb7a
mov edx, dword [ebp + 0x44]
push 4
mov dword [edx], eax
mov eax, dword [ebp + 0x30]
push dword [eax]
call fcn.101beb7a
mov edx, dword [ebp + 0x40]
push 4
mov dword [edx], eax
mov eax, dword [ebp + 0x30]
push dword [eax]
call fcn.101beb7a
add esp, 0x20
mov ecx, dword [ebp + 0x48]
mov edx, dword [ebp + 0x2c]
mov edi, dword [esp + 0xa0]
sub edi, dword [esp + 0x7c]
mov dword [ecx], eax
mov ecx, dword [edx]
mov dword [esp + 0xa0], edi
jns 0x100902a3
jmp 0x1009043f
mov edx, dword [esp + 0xa0]
sub edx, dword [esp + 0x7c]
mov dword [esp + 0xa0], edx
js 0x1009047a
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x6c], ebx
mov ebx, dword [ebp + 0x3c]
mov dword [esp + 0x78], esi
mov dword [esp + 0x68], 0
mov edx, eax
shl edx, 4
add edx, esi
mov esi, dword [esp + 0x68]
lea edi, [edi + eax*4]
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x94]
lea edi, [edi + eax*4]
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0x88]
lea edi, [edi + eax*4]
mov dword [esp + 0x9c], edi
mov edi, dword [esp + 0x90]
lea eax, [edi + eax*4]
mov edi, esi
shl edi, 4
movsd xmm0, qword [edi + edx]
movsd qword [edi + ecx], xmm0
test ebx, ebx
movsd xmm1, qword [edi + edx + 8]
movsd qword [edi + ecx + 8], xmm1
je 0x10090518
mov edi, dword [esp + 0x98]
mov ecx, dword [ebx]
mov edi, dword [edi + esi*4]
mov dword [ecx + esi*4], edi
mov ecx, dword [ebp + 0x40]
mov edi, dword [ecx]
mov ecx, dword [esp + 0xa4]
mov ecx, dword [ecx + esi*4]
mov dword [edi + esi*4], ecx
mov edi, dword [ebp + 0x44]
mov ecx, dword [edi]
mov edi, dword [esp + 0x9c]
mov edi, dword [edi + esi*4]
mov dword [ecx + esi*4], edi
mov ecx, dword [ebp + 0x48]
mov edi, dword [ecx]
mov ecx, dword [eax + esi*4]
mov dword [edi + esi*4], ecx
inc esi
cmp esi, dword [esp + 0xa0]
jg 0x10090501
mov ecx, dword [ebp + 0x2c]
mov ecx, dword [ecx]
jmp 0x10090302
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x3c]
mov edi, dword [ebp + 0x44]
xor eax, eax
mov dword [edx], eax
mov edx, dword [ebp + 0x40]
mov dword [ecx], eax
mov ecx, dword [ebp + 0x48]
mov dword [edi], eax
mov dword [edx], eax
mov dword [ecx], eax
push esi
call fcn.101bceaa
push dword [esp + 0x90]
call fcn.101bceaa
push dword [esp + 0x9c]
call fcn.101bceaa
push dword [esp + 0x94]
call fcn.101bceaa
push dword [esp + 0xa0]
call fcn.101bceaa
add esp, 0x14
cmp dword [ebp + 0x28], 0
je 0x100903fb
movsd xmm1, qword [0x101e5428]
movsd xmm0, qword [esp + 0x70]
comisd xmm0, xmm1
jbe 0x100903fb
movsd xmm0, qword [esp + 0x60]
comisd xmm0, xmm1
jbe 0x100903fb
mov eax, dword [ebp + 0x28]
mov dword [eax], 2
mov eax, dword [ebp + 0x38]
test eax, eax
je 0x10090430
test ebx, ebx
je 0x10090420
movsd xmm0, qword [esp + 0x70]
maxsd xmm0, qword [esp + 0x60]
pxor xmm1, xmm1
subsd xmm1, xmm0
movsd qword [eax], xmm1
jmp 0x10090430
movsd xmm0, qword [esp + 0x70]
minsd xmm0, qword [esp + 0x60]
movsd qword [eax], xmm0
xor eax, eax
add esp, 0xb4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x3c]
mov edi, dword [edx]
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x50], edi
mov edi, dword [edx]
mov edx, dword [ebp + 0x44]
mov dword [esp + 0x54], edi
mov edi, dword [edx]
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x50]
push 4
push eax
push 3
push 0
push dword [ebp + 0x30]
push ecx
call fcn.100acb70
add esp, 0x18
jmp 0x10090393
xor edx, edx
push edx
push edx
push 3
push edx
push dword [ebp + 0x30]
push eax
call fcn.100acb70
add esp, 0x18
jmp 0x10090393
add edi, dword [esp + 0x7c]
mov eax, dword [ebp + 0x30]
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x90]
mov dword [eax], edi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edx
lea ecx, [esp + 0x50]
push 4
push ecx
push 3
push 0
push eax
push esi
call fcn.100acb70
add esp, 0x18
mov edi, dword [ebp + 0x30]
mov edi, dword [edi]
lea eax, [edi - 1]
mov dword [esp + 0xa0], eax
xor edx, edx
mov dword [esp + 0x7c], edx
jmp 0x10090203
xor eax, eax
mov dword [esp + 0x68], eax
jmp 0x1009008c
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x78]
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x48]
mov ecx, dword [ecx]
mov eax, dword [eax]
jmp 0x1009043f
inc esi
cmp esi, dword [esp + 0xa0]
jg 0x1009052c
mov ecx, dword [ebp + 0x2c]
mov ecx, dword [ecx]
jmp 0x10090302
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x78]
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
jmp 0x1009047a