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

Disassembly:
sub esp, 0xa8
mov eax, dword [0x1032e6c0]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0x64]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xc4]
push ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xd0]
push ebp
mov dword [esp + 0xc], eax
lea eax, [ebx + 0xe0]
push esi
mov esi, dword [esp + 0xbc]
push edi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0xc8]
push ecx
push eax
mov dword [esp + 0x2c], ebx
lea ebp, [eax + 0x48]
mov dword [esp + 0x24], 1
call fcn.1000bf70
mov ecx, dword [ebx + 0xc4]
add esp, 8
test ecx, ecx
je 0x1002aa55
push ecx
call fcn.10013dc0
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.10015ca0
add esp, 0xc
push dword [ebx + 0x60]
call fcn.1000f2c0
fmul qword [0x102a2940]
add esp, 4
mov ebx, dword [esp + 0x7c]
fstp qword [esp + 0x6c]
test ebx, ebx
je 0x1002b163
mov edx, dword [esp + 0x80]
test edx, edx
je 0x1002b163
mov eax, dword [esp + 0x74]
xorps xmm1, xmm1
mov ecx, dword [esp + 0x78]
movsd xmm0, qword [esp + 0x6c]
movd xmm5, eax
add eax, ebx
cvtdq2pd xmm5, xmm5
movd xmm2, eax
lea eax, [ecx + edx]
movd xmm3, ecx
subsd xmm5, xmm0
movd xmm4, eax
mov edx, 1
cvtdq2pd xmm3, xmm3
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm4, xmm4
movsd qword [esp + 0x40], xmm5
subsd xmm3, xmm0
addsd xmm2, xmm0
addsd xmm4, xmm0
mov ecx, dword [esp + 0x28]
xor ebx, ebx
movsd xmm6, qword [0x102a2928]
movsd qword [esp + 0x48], xmm4
movsd qword [esp + 0x5c], xmm2
movsd xmm0, qword [ecx]
ucomisd xmm0, xmm6
mov dword [esp + 0x38], ebx
movsd qword [esp + 0x64], xmm3
lahf
test ah, 0x44
jp 0x1002ac2d
movsd xmm0, qword [ecx + 8]
lea eax, [ecx + 8]
ucomisd xmm0, xmm1
mov dword [esp + 0x50], eax
lahf
test ah, 0x44
jp 0x1002ac2d
movsd xmm0, qword [ecx + 0x10]
lea eax, [ecx + 0x10]
ucomisd xmm0, xmm1
mov dword [esp + 0x54], eax
lahf
test ah, 0x44
jp 0x1002ac2d
movsd xmm0, qword [ecx + 0x18]
lea eax, [ecx + 0x18]
ucomisd xmm0, xmm6
mov dword [esp + 0x58], eax
lahf
test ah, 0x44
jp 0x1002ac2d
movsd xmm0, qword [ecx + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002ac2d
movsd xmm0, qword [ecx + 0x28]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002ac2d
movsd xmm0, qword [esp + 0x40]
lea eax, [ecx + 8]
movsd qword [esp + 0x6c], xmm0
movaps xmm7, xmm4
movsd xmm0, qword [ebp]
movaps xmm4, xmm3
ucomisd xmm0, xmm6
mov dword [esp + 0x30], eax
lea eax, [ecx + 0x10]
mov dword [esp + 0x18], eax
lea eax, [ecx + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], edx
movaps xmm5, xmm2
lahf
test ah, 0x44
jp 0x1002ac03
movsd xmm0, qword [ebp + 8]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002ac03
movsd xmm0, qword [ebp + 0x10]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002ac03
movsd xmm0, qword [ebp + 0x18]
ucomisd xmm0, xmm6
lahf
test ah, 0x44
jp 0x1002ac03
movsd xmm0, qword [ebp + 0x20]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002ac03
movsd xmm0, qword [ebp + 0x28]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002ac03
mov eax, dword [esp + 0x2c]
movsd xmm2, qword [esp + 0x6c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
movsd qword [esp + 0x40], xmm2
movaps xmm2, xmm5
mov dword [esp + 0x1c], edx
movsd qword [esp + 0x5c], xmm2
movsd xmm0, qword [eax + 0x88]
ucomisd xmm0, xmm1
movsd qword [esp + 0x64], xmm3
movsd qword [esp + 0x48], xmm7
lahf
test ah, 0x44
jp 0x1002ac5a
mov eax, dword [esp + 0x2c]
movsd xmm0, qword [esp + 0x6c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
movsd qword [esp + 0x40], xmm0
mov dword [esp + 0x1c], edx
movsd qword [esp + 0x5c], xmm2
movsd xmm0, qword [eax + 0x90]
ucomisd xmm0, xmm1
movsd qword [esp + 0x64], xmm3
movsd qword [esp + 0x48], xmm7
lahf
test ah, 0x44
jp 0x1002ac5a
cmp edx, ebx
jne 0x1002aa80
lea eax, [edi + edi*2]
shl eax, 3
push eax
push esi
push dword [esp + 0x28]
call fcn.10266230
mov eax, dword [esp + 0xd8]
shl eax, 3
push eax
push dword [esp + 0x4c]
push dword [esp + 0x28]
call fcn.10266230
add esp, 0x18
mov ebx, edi
jmp 0x1002b106
test eax, eax
jne 0x1002a7a8
mov eax, dword [esp + 0x34]
xor edx, edx
xorps xmm1, xmm1
mov dword [esp + 0x1c], edx
movsd qword [esp + 0x40], xmm1
xorps xmm2, xmm2
xorps xmm3, xmm3
xorps xmm4, xmm4
mov dword [eax], edi
jmp 0x1002a829
cmp dword [esp + 0xcc], ebx
jne 0x1002aae7
test edi, edi
jle 0x1002aadc
mov ecx, dword [esp + 0x20]
movsd xmm2, qword [esp + 0x6c]
add ecx, 0x10
add esi, 0x10
nop dword [eax]
mov eax, dword [esi - 0x10]
mov dword [ecx - 0x10], eax
movsd xmm1, qword [esi - 8]
comisd xmm1, xmm2
movsd qword [ecx - 8], xmm1
movsd xmm0, qword [esi]
movsd qword [ecx], xmm0
jb 0x1002aad4
comisd xmm5, xmm1
jb 0x1002aad4
comisd xmm0, xmm4
jb 0x1002aad4
comisd xmm7, xmm0
jb 0x1002aad4
inc ebx
add ecx, 0x18
add esi, 0x18
sub edi, 1
jne 0x1002aaa0
mov eax, dword [esp + 0x34]
mov dword [eax], ebx
jmp 0x1002b16d
mov eax, dword [esp + 0xd0]
and eax, 1
mov dword [esp + 0x30], eax
je 0x1002ab00
lea eax, [edi + edi*2]
lea esi, [esi + eax*8]
add esi, 0xffffffe8
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x10], ebx
test eax, eax
jle 0x1002b10d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
movsd xmm2, qword [esp + 0x6c]
sub ecx, eax
mov dword [esp + 0x2c], ecx
lea ebp, [eax + 4]
nop word [eax + eax]
xor edx, edx
xor edi, edi
cmp dword [ebp], edx
jle 0x1002aba5
mov ecx, dword [esp + 0x20]
lea eax, [ebx + ebx*2]
mov ebx, dword [esp + 0x30]
lea ecx, [ecx + eax*8]
add ecx, 0x10
nop word [eax + eax]
mov eax, dword [esi]
mov dword [ecx - 0x10], eax
movsd xmm1, qword [esi + 8]
comisd xmm1, xmm2
mov dword [esp + 0x18], esi
movsd qword [ecx - 8], xmm1
movsd xmm0, qword [esi + 0x10]
movsd qword [ecx], xmm0
jb 0x1002ab8a
comisd xmm5, xmm1
jb 0x1002ab8a
comisd xmm0, xmm4
jb 0x1002ab8a
comisd xmm7, xmm0
mov eax, 1
cmovae edx, eax
test ebx, ebx
mov eax, 0x18
mov esi, 0xffffffe8
cmove esi, eax
inc edi
add esi, dword [esp + 0x18]
add ecx, eax
cmp edi, dword [ebp]
jl 0x1002ab50
mov ecx, dword [ebp]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebp - 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + ebx*8], eax
mov eax, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx + eax*8 + 4], ecx
mov ebx, dword [esp + 0x38]
test edx, edx
je 0x1002abd8
add ebx, edi
mov dword [esp + 0x38], ebx
jmp 0x1002abe3
mov ecx, dword [esp + 0x2c]
mov dword [ecx + ebp], 0
inc eax
add ebp, 8
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0xcc]
jl 0x1002ab30
mov eax, dword [esp + 0x34]
mov dword [eax], ebx
jmp 0x1002b117
movsd xmm7, qword [esp + 0x40]
movsd xmm4, qword [esp + 0x48]
mov dword [esp + 0x1c], edx
movsd qword [esp + 0x40], xmm7
movsd qword [esp + 0x5c], xmm2
movsd qword [esp + 0x64], xmm3
movsd qword [esp + 0x48], xmm4
jmp 0x1002ac66
mov eax, dword [esp + 0x28]
lea edx, [ecx + 8]
movsd xmm2, qword [esp + 0x5c]
add ecx, 0x10
movsd xmm3, qword [esp + 0x64]
add eax, 0x18
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
movsd xmm4, qword [esp + 0x48]
movsd xmm7, qword [esp + 0x40]
movsd xmm0, qword [ecx]
ucomisd xmm0, xmm6
lahf
test ah, 0x44
jp 0x1002aed7
mov eax, dword [esp + 0x50]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002aed7
mov eax, dword [esp + 0x54]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002aed7
mov eax, dword [esp + 0x58]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm6
lahf
test ah, 0x44
jp 0x1002aed7
movsd xmm0, qword [ebp]
ucomisd xmm0, xmm6
lahf
test ah, 0x44
jp 0x1002aebb
movsd xmm0, qword [ebp + 8]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002aebb
movsd xmm0, qword [ebp + 0x10]
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x1002aebb
movsd xmm0, qword [ebp + 0x18]
ucomisd xmm0, xmm6
lahf
test ah, 0x44
jp 0x1002aebb
mov eax, dword [esp + 0x24]
movsd xmm5, qword [eax + 0x88]
movsd xmm6, qword [eax + 0x90]
addsd xmm5, qword [ecx + 0x20]
addsd xmm6, qword [ecx + 0x28]
addsd xmm5, qword [ebp + 0x20]
addsd xmm6, qword [ebp + 0x28]
test edx, edx
je 0x1002ae59
cmp dword [esp + 0xcc], ebx
je 0x1002ae59
mov eax, dword [esp + 0xd0]
and eax, 1
mov dword [esp + 0x30], eax
je 0x1002ad5c
lea eax, [edi + edi*2]
lea esi, [esi + eax*8]
add esi, 0xffffffe8
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x10], ebx
test eax, eax
jle 0x1002b10d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0x2c], ecx
lea ebp, [eax + 4]
xor edx, edx
xor edi, edi
cmp dword [ebp], edx
jle 0x1002adfb
mov ecx, dword [esp + 0x20]
lea eax, [ebx + ebx*2]
mov ebx, dword [esp + 0x30]
lea ecx, [ecx + eax*8]
add ecx, 0x10
nop word [eax + eax]
mov eax, dword [esi]
movaps xmm1, xmm5
mov dword [ecx - 0x10], eax
movaps xmm0, xmm6
addsd xmm1, qword [esi + 8]
mov dword [esp + 0x18], esi
comisd xmm1, xmm7
movsd qword [ecx - 8], xmm1
addsd xmm0, qword [esi + 0x10]
movsd qword [ecx], xmm0
jb 0x1002ade0
comisd xmm2, xmm1
jb 0x1002ade0
comisd xmm0, xmm3
jb 0x1002ade0
comisd xmm4, xmm0
mov eax, 1
cmovae edx, eax
test ebx, ebx
mov eax, 0x18
mov esi, 0xffffffe8
cmove esi, eax
inc edi
add esi, dword [esp + 0x18]
add ecx, eax
cmp edi, dword [ebp]
jl 0x1002ada0
mov ecx, dword [ebp]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebp - 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + ebx*8], eax
mov eax, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx + eax*8 + 4], ecx
mov ebx, dword [esp + 0x38]
test edx, edx
je 0x1002ae2e
add ebx, edi
mov dword [esp + 0x38], ebx
jmp 0x1002ae39
mov ecx, dword [esp + 0x2c]
mov dword [ecx + ebp], 0
inc eax
add ebp, 8
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0xcc]
jl 0x1002ad80
mov eax, dword [esp + 0x34]
mov dword [eax], ebx
jmp 0x1002b117
test edi, edi
jle 0x1002b0eb
mov ecx, dword [esp + 0x20]
add ecx, 0x10
add esi, 0x10
nop dword [eax + eax]
mov eax, dword [esi - 0x10]
movaps xmm0, xmm5
mov dword [ecx - 0x10], eax
movaps xmm1, xmm6
addsd xmm0, qword [esi - 8]
movsd qword [ecx - 8], xmm0
addsd xmm1, qword [esi]
movsd qword [ecx], xmm1
test edx, edx
je 0x1002aeaa
comisd xmm0, xmm7
jb 0x1002aeae
comisd xmm2, xmm0
jb 0x1002aeae
comisd xmm1, xmm3
jb 0x1002aeae
comisd xmm4, xmm1
jb 0x1002aeae
inc ebx
add ecx, 0x18
add esi, 0x18
sub edi, 1
jne 0x1002ae70
jmp 0x1002b0eb
mov dword [esp + 0x1c], edx
movsd qword [esp + 0x40], xmm7
movsd qword [esp + 0x5c], xmm2
movsd qword [esp + 0x64], xmm3
movsd qword [esp + 0x48], xmm4
mov eax, dword [esp + 0x24]
sub esp, 0x10
movups xmm0, xmmword [eax + 0x88]
lea eax, [esp + 0x94]
movups xmmword [esp], xmm0
push eax
call fcn.10013010
mov eax, dword [esp + 0x3c]
push eax
lea eax, [esp + 0x9c]
push eax
push eax
call fcn.10013210
lea eax, [esp + 0xa4]
push ebp
push eax
push eax
call fcn.10013210
add esp, 0x2c
cmp dword [esp + 0x1c], ebx
je 0x1002b073
cmp dword [esp + 0xcc], ebx
je 0x1002b073
mov eax, dword [esp + 0xd0]
and eax, 1
mov dword [esp + 0x30], eax
je 0x1002af4b
lea eax, [edi + edi*2]
lea esi, [esi + eax*8]
add esi, 0xffffffe8
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x28], ebx
test eax, eax
jle 0x1002b10d
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0x2c], ecx
lea edi, [eax + 4]
mov dword [esp + 0x24], edi
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x10], edx
cmp dword [edi], edx
jle 0x1002b018
mov ecx, dword [esp + 0x20]
lea edi, [ebx + 1]
lea edi, [ebx + edi*2]
mov ebx, edx
lea edi, [ecx + edi*8]
movups xmm0, xmmword [esi]
mov dword [esp + 0x18], esi
lea eax, [esp + 0x84]
push edi
movups xmmword [edi - 0x10], xmm0
movq xmm0, qword [esi + 0x10]
lea esi, [edi - 8]
push esi
push eax
movq qword [edi], xmm0
call fcn.10013500
movsd xmm0, qword [esi]
add esp, 0xc
comisd xmm0, xmmword [esp + 0x40]
jb 0x1002aff1
movsd xmm1, qword [esp + 0x5c]
comisd xmm1, xmm0
jb 0x1002aff1
movsd xmm0, qword [edi]
comisd xmm0, xmmword [esp + 0x64]
jb 0x1002aff1
movsd xmm1, qword [esp + 0x48]
mov eax, 1
comisd xmm1, xmm0
cmovae ebp, eax
cmp dword [esp + 0x30], 0
mov eax, 0x18
mov esi, 0xffffffe8
cmove esi, eax
add edi, eax
mov eax, dword [esp + 0x24]
inc ebx
add esi, dword [esp + 0x18]
cmp ebx, dword [eax]
jl 0x1002af92
mov dword [esp + 0x10], ebx
mov edi, eax
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov eax, dword [edi - 4]
mov ecx, dword [edi]
mov dword [edx + ebx*8], eax
mov eax, ebx
mov ebx, edx
mov edx, dword [esp + 0x10]
mov dword [ebx + eax*8 + 4], ecx
mov ebx, dword [esp + 0x38]
test ebp, ebp
je 0x1002b044
add ebx, edx
mov dword [esp + 0x38], ebx
jmp 0x1002b04f
mov ecx, dword [esp + 0x2c]
mov dword [edi + ecx], 0
inc eax
add edi, 8
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], edi
cmp eax, dword [esp + 0xcc]
jl 0x1002af73
mov eax, dword [esp + 0x34]
mov dword [eax], ebx
jmp 0x1002b117
test edi, edi
jle 0x1002b0eb
mov ebp, dword [esp + 0x20]
add ebp, 0x10
nop
movups xmm0, xmmword [esi]
lea eax, [ebp - 8]
push ebp
push eax
movups xmmword [ebp - 0x10], xmm0
lea eax, [esp + 0x8c]
movq xmm0, qword [esi + 0x10]
push eax
movq qword [ebp], xmm0
call fcn.10013500
add esp, 0xc
cmp dword [esp + 0x1c], 0
je 0x1002b0df
movsd xmm0, qword [ebp - 8]
comisd xmm0, xmmword [esp + 0x40]
jb 0x1002b0e3
movsd xmm1, qword [esp + 0x5c]
comisd xmm1, xmm0
jb 0x1002b0e3
movsd xmm0, qword [ebp]
comisd xmm0, xmmword [esp + 0x64]
jb 0x1002b0e3
movsd xmm1, qword [esp + 0x48]
comisd xmm1, xmm0
jb 0x1002b0e3
inc ebx
add ebp, 0x18
add esi, 0x18
sub edi, 1
jne 0x1002b080
mov eax, dword [esp + 0xcc]
shl eax, 3
push eax
push dword [esp + 0x40]
push dword [esp + 0x1c]
call fcn.10266230
add esp, 0xc
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x34]
mov dword [ecx], ebx
test eax, eax
je 0x1002b16d
test byte [esp + 0xd0], 1
je 0x1002b16d
dec ebx
xor ecx, ecx
test ebx, ebx
jle 0x1002b16d
mov edx, dword [esp + 0x20]
lea eax, [ebx + ebx*2]
lea eax, [edx + eax*8]
movups xmm0, xmmword [eax]
inc ecx
dec ebx
movq xmm2, qword [edx + 0x10]
lea edx, [edx + 0x18]
lea eax, [eax - 0x18]
movups xmm1, xmmword [edx - 0x18]
movups xmmword [edx - 0x18], xmm0
movq xmm0, qword [eax + 0x28]
movq qword [edx - 8], xmm0
movups xmmword [eax + 0x18], xmm1
movq qword [eax + 0x28], xmm2
cmp ecx, ebx
jl 0x1002b132
jmp 0x1002b16d
mov eax, dword [esp + 0x34]
mov dword [eax], 0
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1026465b
add esp, 0xa8
ret