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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1cc
mov eax, dword [0x1065e7ec]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, ecx
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x98], esi
mov al, byte [edi + 0x84]
test al, 0x10
je 0x10088d75
or byte [edi + 0x87], 1
lea ecx, [ebp - 0xac]
and al, 0xef
mov byte [edi + 0x84], al
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x50]
mov al, byte [edi + 0x84]
mov ecx, edi
and al, 0xf
mov byte [ebp - 0x8d], al
call fcn.1008c230
mov edx, dword [edi + 0x30]
mov ch, al
mov cl, byte [ebp - 0x8d]
test ch, ch
je 0x10088b7c
movss xmm1, dword [0x1034096c]
mov al, cl
movaps xmm0, xmm1
shr al, 1
subss xmm0, dword [edx + 0x2c]
subss xmm1, dword [edi + 0x3c]
xor al, cl
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [ebp - 0xac]
mulsd xmm1, qword [ebp - 0xac]
subsd xmm0, qword [edx + 0x24]
subsd xmm1, qword [edi + 0x34]
test al, 1
je 0x10088ba6
xor cl, 3
jmp 0x10088ba6
movss xmm0, dword [edi + 0x3c]
movss xmm1, dword [edx + 0x2c]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
mulsd xmm0, qword [ebp - 0xac]
mulsd xmm1, qword [ebp - 0xac]
addsd xmm0, qword [edi + 0x34]
addsd xmm1, qword [edx + 0x24]
mov al, cl
and al, 3
cmp al, 1
jne 0x10088bb9
movsd xmm1, qword [edi + 0x70]
addsd xmm1, xmm0
jmp 0x10088bc5
cmp al, 2
jne 0x10088bc5
movaps xmm0, xmm1
subsd xmm0, qword [edi + 0x70]
movss xmm2, dword [edi + 0x48]
and cl, 0xc
movss xmm3, dword [edx + 0x38]
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
mulsd xmm2, qword [ebp - 0xa4]
mulsd xmm3, qword [ebp - 0xa4]
addsd xmm2, qword [edi + 0x40]
addsd xmm3, qword [edx + 0x30]
cmp cl, 4
jne 0x10088c02
movsd xmm3, qword [edi + 0x78]
addsd xmm3, xmm2
jmp 0x10088c0f
cmp cl, 8
jne 0x10088c0f
movaps xmm2, xmm3
subsd xmm2, qword [edi + 0x78]
mov eax, dword [edx + 0x89]
shl eax, 0x1d
sar eax, 0x1d
test eax, eax
je 0x10088c25
cmp eax, 2
sete ch
comisd xmm0, xmmword [edi + 0x50]
jbe 0x10088c36
movaps xmm4, xmm0
subsd xmm4, qword [edi + 0x50]
jmp 0x10088c3f
movsd xmm4, qword [edi + 0x50]
subsd xmm4, xmm0
movsd xmm5, qword [0x10341e18]
comisd xmm5, xmm4
jb 0x10088cba
comisd xmm2, xmmword [edi + 0x58]
jbe 0x10088c5e
movaps xmm4, xmm2
subsd xmm4, qword [edi + 0x58]
jmp 0x10088c67
movsd xmm4, qword [edi + 0x58]
subsd xmm4, xmm2
comisd xmm5, xmm4
jb 0x10088cba
comisd xmm1, xmmword [edi + 0x60]
jbe 0x10088c7e
movaps xmm4, xmm1
subsd xmm4, qword [edi + 0x60]
jmp 0x10088c87
movsd xmm4, qword [edi + 0x60]
subsd xmm4, xmm1
comisd xmm5, xmm4
jb 0x10088cba
comisd xmm3, xmmword [edi + 0x68]
jbe 0x10088c9e
movaps xmm4, xmm3
subsd xmm4, qword [edi + 0x68]
jmp 0x10088ca7
movsd xmm4, qword [edi + 0x68]
subsd xmm4, xmm3
comisd xmm5, xmm4
jb 0x10088cba
mov al, byte [edi + 0x84]
shr al, 7
cmp ch, al
je 0x10088cf1
mov al, byte [edi + 0x84]
shl ch, 7
and al, 0x7f
or al, ch
movsd qword [edi + 0x50], xmm0
push 1
mov ecx, edi
movsd qword [edi + 0x58], xmm2
movsd qword [edi + 0x60], xmm1
movsd qword [edi + 0x68], xmm3
mov byte [edi + 0x84], al
call fcn.100889fa
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x20]
mov ecx, edi
call fcn.1008c219
test al, al
je 0x10088d56
mov eax, dword [edi + 0x30]
xorps xmm0, xmm0
movsd xmm1, qword [eax + 0x3c]
comisd xmm1, xmm0
jbe 0x10088d13
subsd xmm1, xmm0
jmp 0x10088d1a
subsd xmm0, xmm1
movaps xmm1, xmm0
movsd xmm0, qword [0x103547c0]
comisd xmm0, xmm1
jb 0x10088d56
movss xmm0, dword [eax + 0x44]
movss xmm1, dword [0x10341f20]
movss xmm2, dword [0x10341e10]
andps xmm0, xmm1
comiss xmm2, xmm0
jb 0x10088d56
movss xmm0, dword [eax + 0x48]
andps xmm0, xmm1
comiss xmm2, xmm0
jb 0x10088d56
mov cl, 1
jmp 0x10088d58
xor cl, cl
mov al, byte [edi + 0x86]
xor al, cl
mov ecx, dword [edi + 0x24]
and al, 1
xor byte [edi + 0x86], al
test ecx, ecx
je 0x10088d75
mov eax, dword [ecx]
push edi
call dword [eax + 0x58]
and byte [ebp - 0xc4], 0xfc
lea eax, [ebp - 0x144]
push eax
call fcn.1003d8aa
cmp dword [ebp - 0x94], 0
je 0x10088e7e
mov ecx, edi
test esi, esi
jne 0x10088daa
lea eax, [ebp - 0x144]
push eax
push esi
call fcn.10087461
jmp 0x10088def
and byte [ebp - 0xc], 0xfc
lea eax, [ebp - 0x8c]
push eax
push dword [edi + 0x1c]
call fcn.10087461
and byte [ebp - 0x14c], 0xfc
lea eax, [ebp - 0x8c]
push esi
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.1003e8c2
push 0x22
pop ecx
lea esi, [ebp - 0x1cc]
lea edi, [ebp - 0x144]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x9c]
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x144]
mov dword [ebp - 0x98], eax
cmp dword [edi + 0x10], edx
je 0x10088e81
movsd xmm1, qword [edi + 0x60]
lea eax, [ebp - 0x64]
subsd xmm1, qword [edi + 0x50]
push 4
xorps xmm0, xmm0
lea ecx, [ebp - 0x144]
xorps xmm2, xmm2
push eax
movsd qword [ebp - 0x4c], xmm1
movsd qword [ebp - 0x34], xmm1
movsd xmm1, qword [edi + 0x68]
subsd xmm1, qword [edi + 0x58]
push eax
movups xmmword [ebp - 0x64], xmm0
movsd qword [ebp - 0x54], xmm2
movups xmmword [ebp - 0x44], xmm0
movsd qword [ebp - 0x2c], xmm1
movups xmmword [ebp - 0x24], xmm0
movsd qword [ebp - 0x14], xmm1
movsd qword [ebp - 0xc], xmm2
call fcn.1003fa88
push 4
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xbc]
call fcn.1003d0f9
lea eax, [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0x94]
push eax
push eax
call fcn.1003ff20
mov edx, dword [ebp + 0xc]
mov eax, dword [edi + 0x20]
test eax, eax
je 0x10088eae
mov esi, dword [eax]
jmp 0x10088ea9
mov ecx, dword [esi]
push dword [ebp - 0x98]
push edx
mov eax, dword [ecx]
push dword [ebp - 0x94]
call dword [eax + 0x40]
mov eax, dword [edi + 0x20]
add esi, 4
mov edx, dword [ebp + 0xc]
cmp esi, dword [eax + 4]
jne 0x10088e8c
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.102790a9
mov esp, ebp
pop ebp
ret 0xc