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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1f8
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x160], xmm7
movaps xmmword [rsp + 0x170], xmm8
movaps xmmword [rsp + 0x180], xmm9
movaps xmmword [rsp + 0x190], xmm10
movaps xmmword [rsp + 0x1a0], xmm11
movaps xmmword [rsp + 0x1b0], xmm12
movaps xmmword [rsp + 0x1c0], xmm13
movaps xmmword [rsp + 0x1d0], xmm14
movaps xmmword [rsp + 0x1e0], xmm15
mov dword [rsp + 0x240], ecx
mov qword [rsp + 0x248], rdx
mov qword [rsp + 0x250], r8
mov qword [rsp + 0x258], r9
test ecx, ecx
js 0x410dc8
mov r14, qword [rsp + 0x288]
xor r15d, r15d
mov eax, 6
lea rcx, [rsp + 0xb0]
mov qword [rsp + 0x70], rcx
lea rdx, [rsp + 0xc0]
mov qword [rsp + 8], rdx
jmp 0x40fd9e
add r9, qword [rsp + 0x258]
mov r11, qword [rsp + 0x280]
movss xmm6, dword [r11 + r15*4]
movss dword [rsp + 0x34], xmm6
movaps xmm1, xmm6
movss xmm0, dword [0x00441904]
comiss xmm1, xmm0
jae 0x40fe0f
mov ecx, dword [rsp + 0x30]
add ecx, 1
cmp dword [rsp + 0x240], ecx
jl 0x410dc8
lea rsi, [0x004418e1]
movzx eax, byte [r15 + rsi]
add r15, 1
add r14, 0xc
test al, al
je 0x410dc8
mov dword [rsp + 0x30], r15d
mov ebx, r15d
mov esi, dword [r14 + 4]
cmp dword [r14], esi
jne 0x40fd6e
cmp esi, dword [r14 + 8]
jne 0x40fd6e
mov rdi, qword [rsp + 0x290]
mov ebp, dword [rdi + r15*4]
test ebp, ebp
jne 0x40fd6e
mov r8, qword [rsp + 0x248]
mov r9, r15
shl r9, 6
cmp byte [r8 + r15], 0
jne 0x40fd3e
add r9, qword [rsp + 0x250]
mov r10, qword [rsp + 0x278]
movss xmm6, dword [r10 + r15*4]
movss dword [rsp + 0x34], xmm6
movaps xmm1, xmm6
movss xmm0, dword [0x00441904]
comiss xmm1, xmm0
jb 0x40fd6e
movss xmm1, dword [r9]
movss dword [rsp + 0x10], xmm1
movss xmm2, dword [r9 + 4]
movss dword [rsp + 0x20], xmm2
movss xmm15, dword [r9 + 8]
movss xmm14, dword [r9 + 0xc]
movss xmm13, dword [r9 + 0x10]
movss xmm12, dword [r9 + 0x14]
movss xmm11, dword [r9 + 0x18]
movss xmm3, dword [r9 + 0x1c]
movss xmm4, dword [r9 + 0x20]
movss dword [rsp + 0x38], xmm4
movss xmm4, dword [r9 + 0x24]
movss xmm5, dword [r9 + 0x28]
movss xmm6, dword [r9 + 0x2c]
movss xmm7, dword [r9 + 0x30]
movss xmm8, dword [r9 + 0x34]
movss xmm9, dword [r9 + 0x38]
movss xmm10, dword [r9 + 0x3c]
and ebx, 1
jne 0x410e34
movss xmm2, dword [0x00441908]
movss dword [rsp + 0xac], xmm2
addss xmm1, xmm2
addss xmm1, dword [rsp + 0x20]
addss xmm1, xmm15
addss xmm1, xmm14
addss xmm1, xmm13
addss xmm1, xmm12
addss xmm1, xmm11
addss xmm1, xmm3
addss xmm1, dword [rsp + 0x38]
addss xmm1, xmm4
addss xmm1, xmm5
addss xmm1, xmm6
addss xmm1, xmm7
addss xmm1, xmm8
addss xmm1, xmm9
movaps xmm2, xmm1
addss xmm2, xmm10
movss xmm1, dword [rsp + 0x38]
movss dword [rsp + 0x38], xmm3
movaps xmm3, xmm1
movaps xmm1, xmm4
movaps xmm4, xmm11
movaps xmm11, xmm1
movaps xmm1, xmm5
movaps xmm5, xmm12
movaps xmm12, xmm1
movaps xmm1, xmm6
movaps xmm6, xmm13
movaps xmm13, xmm1
movaps xmm1, xmm7
movaps xmm7, xmm14
movaps xmm14, xmm1
movaps xmm1, xmm8
movaps xmm8, xmm15
movaps xmm15, xmm1
movaps xmm1, xmm9
movss xmm9, dword [rsp + 0x20]
movss dword [rsp + 0x20], xmm1
movaps xmm1, xmm10
movss xmm10, dword [rsp + 0x10]
movss dword [rsp + 0x10], xmm1
movss xmm1, dword [0x0044190c]
divss xmm1, xmm2
mulss xmm10, xmm1
movss dword [rsp + 0x110], xmm10
movaps xmm2, xmm0
divss xmm2, xmm10
movd r11d, xmm2
minss xmm10, dword [0x00441900]
mulss xmm9, xmm1
movss dword [rsp + 0x114], xmm9
movaps xmm2, xmm0
divss xmm2, xmm9
movd edi, xmm2
minss xmm9, xmm10
mulss xmm8, xmm1
movss dword [rsp + 0x118], xmm8
movaps xmm10, xmm0
divss xmm10, xmm8
movd r10d, xmm10
minss xmm8, xmm9
mulss xmm7, xmm1
movss dword [rsp + 0x11c], xmm7
movaps xmm9, xmm0
divss xmm9, xmm7
movd r9d, xmm9
minss xmm7, xmm8
mulss xmm6, xmm1
movss dword [rsp + 0x120], xmm6
movaps xmm8, xmm0
divss xmm8, xmm6
movss dword [rsp + 0x78], xmm8
minss xmm6, xmm7
mulss xmm5, xmm1
movss dword [rsp + 0x124], xmm5
movaps xmm7, xmm0
divss xmm7, xmm5
movss dword [rsp + 0x80], xmm7
minss xmm5, xmm6
mulss xmm4, xmm1
movss dword [rsp + 0x128], xmm4
movaps xmm6, xmm0
divss xmm6, xmm4
movd esi, xmm6
minss xmm4, xmm5
movss xmm5, dword [rsp + 0x38]
mulss xmm5, xmm1
movss dword [rsp + 0x12c], xmm5
movaps xmm2, xmm0
divss xmm2, xmm5
movd ebx, xmm2
minss xmm5, xmm4
mulss xmm3, xmm1
movss dword [rsp + 0x130], xmm3
movaps xmm4, xmm0
divss xmm4, xmm3
movd ebp, xmm4
minss xmm3, xmm5
mulss xmm11, xmm1
movss dword [rsp + 0x134], xmm11
movaps xmm10, xmm0
divss xmm10, xmm11
movd r12d, xmm10
minss xmm11, xmm3
mulss xmm12, xmm1
movss dword [rsp + 0x138], xmm12
movaps xmm9, xmm0
divss xmm9, xmm12
movd r13d, xmm9
minss xmm12, xmm11
movaps xmm3, xmm13
mulss xmm3, xmm1
movss dword [rsp + 0x13c], xmm3
movaps xmm13, xmm0
divss xmm13, xmm3
movss dword [rsp + 0x88], xmm13
minss xmm3, xmm12
movaps xmm7, xmm3
movaps xmm3, xmm14
mulss xmm3, xmm1
movss dword [rsp + 0x140], xmm3
movaps xmm14, xmm0
divss xmm14, xmm3
movss dword [rsp + 0x8c], xmm14
minss xmm3, xmm7
movaps xmm6, xmm3
movaps xmm3, xmm15
mulss xmm3, xmm1
movss dword [rsp + 0x144], xmm3
movaps xmm15, xmm0
divss xmm15, xmm3
movss dword [rsp + 0xa0], xmm15
minss xmm3, xmm6
movss xmm2, dword [rsp + 0x20]
mulss xmm2, xmm1
movss dword [rsp + 0x148], xmm2
movaps xmm4, xmm0
divss xmm4, xmm2
movss dword [rsp + 0xa4], xmm4
minss xmm2, xmm3
mulss xmm1, dword [rsp + 0x10]
movss dword [rsp + 0x14c], xmm1
movaps xmm11, xmm0
divss xmm11, xmm1
movss dword [rsp + 0xa8], xmm11
minss xmm1, xmm2
movss dword [rsp + 0x3c], xmm1
movzx ecx, al
mov dword [rsp + 0x38], ecx
lea r8d, [rcx + 1]
cmp al, 2
jbe 0x4114db
movaps xmm1, xmmword [0x0045a680]
movaps xmm12, xmmword [0x0045a690]
movaps xmm7, xmmword [0x0045a6a0]
movaps xmm14, xmmword [0x0045a6b0]
movaps xmm6, xmmword [0x0045a6c0]
movaps xmm13, xmmword [0x0045a6d0]
movaps xmm9, xmmword [0x0045a6e0]
movaps xmm4, xmmword [0x0045a6f0]
movaps xmm2, xmmword [0x0045a700]
movaps xmm10, xmmword [0x0045a720]
movaps xmm3, xmmword [0x0045a740]
movaps xmm8, xmmword [0x0045a760]
movaps xmm5, xmm1
shufps xmm5, xmm12, 0x88
shufps xmm1, xmm12, 0xdd
movaps xmm15, xmm7
shufps xmm15, xmm14, 0x88
shufps xmm7, xmm14, 0xdd
movaps xmm14, xmm6
shufps xmm14, xmm13, 0x88
shufps xmm6, xmm13, 0xdd
movaps xmm13, xmm9
shufps xmm13, xmm4, 0x88
shufps xmm9, xmm4, 0xdd
movaps xmm4, xmm2
shufps xmm4, xmmword [0x0045a710], 0x88
shufps xmm2, xmmword [0x0045a710], 0xdd
movaps xmm12, xmm10
shufps xmm12, xmmword [0x0045a730], 0x88
shufps xmm10, xmmword [0x0045a730], 0xdd
movaps xmmword [rsp + 0x40], xmm10
movaps xmm11, xmm3
shufps xmm11, xmmword [0x0045a750], 0x88
shufps xmm3, xmmword [0x0045a750], 0xdd
movaps xmm10, xmm8
shufps xmm10, xmmword [0x0045a770], 0x88
shufps xmm8, xmmword [0x0045a770], 0xdd
movaps xmmword [rsp + 0x20], xmm8
movaps xmm8, xmm5
shufps xmm8, xmm15, 0x88
shufps xmm5, xmm15, 0xdd
movaps xmm15, xmm14
shufps xmm15, xmm13, 0x88
shufps xmm14, xmm13, 0xdd
movaps xmm13, xmm4
shufps xmm13, xmm12, 0x88
shufps xmm4, xmm12, 0xdd
movaps xmm12, xmm11
shufps xmm12, xmm10, 0x88
shufps xmm11, xmm10, 0xdd
movaps xmm10, xmm1
shufps xmm10, xmm7, 0x88
shufps xmm1, xmm7, 0xdd
movaps xmmword [rsp + 0x90], xmm1
movaps xmm7, xmm6
shufps xmm7, xmm9, 0x88
shufps xmm6, xmm9, 0xdd
movaps xmmword [rsp + 0x10], xmm6
movaps xmm6, xmm2
movaps xmm1, xmmword [rsp + 0x40]
shufps xmm6, xmm1, 0x88
shufps xmm2, xmm1, 0xdd
movaps xmm1, xmm3
movaps xmm9, xmmword [rsp + 0x20]
shufps xmm1, xmm9, 0x88
shufps xmm3, xmm9, 0xdd
movaps xmm9, xmm8
shufps xmm9, xmm15, 0x88
shufps xmm8, xmm15, 0xdd
movaps xmm15, xmm8
movaps xmm8, xmm13
shufps xmm8, xmm12, 0x88
movaps xmmword [rsp + 0x60], xmm8
shufps xmm13, xmm12, 0xdd
movaps xmm8, xmm10
shufps xmm8, xmm7, 0x88
shufps xmm10, xmm7, 0xdd
movaps xmm12, xmm6
shufps xmm12, xmm1, 0x88
shufps xmm6, xmm1, 0xdd
movaps xmmword [rsp + 0x50], xmm6
movaps xmm6, xmm5
shufps xmm6, xmm14, 0x88
shufps xmm5, xmm14, 0xdd
movaps xmm14, xmm4
shufps xmm14, xmm11, 0x88
movaps xmmword [rsp + 0x40], xmm14
shufps xmm4, xmm11, 0xdd
movaps xmmword [rsp + 0x20], xmm4
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm4, xmm11
movaps xmm7, xmmword [rsp + 0x10]
shufps xmm4, xmm7, 0x88
movaps xmm1, xmm11
shufps xmm1, xmm7, 0xdd
movaps xmm14, xmm2
shufps xmm14, xmm3, 0x88
shufps xmm2, xmm3, 0xdd
movaps xmmword [rsp + 0x10], xmm2
movaps xmm11, xmm8
shufps xmm11, xmm12, 0x88
movd xmm2, edi
shufps xmm2, xmm2, 0
mulps xmm11, xmm2
movaps xmm3, xmm9
shufps xmm3, xmmword [rsp + 0x60], 0x88
movd xmm7, r11d
shufps xmm7, xmm7, 0
mulps xmm3, xmm7
addps xmm11, xmm3
movaps xmm7, xmm11
movaps xmm11, xmm6
shufps xmm11, xmmword [rsp + 0x40], 0x88
movd xmm2, r10d
shufps xmm2, xmm2, 0
mulps xmm11, xmm2
addps xmm7, xmm11
movaps xmm11, xmm4
shufps xmm11, xmm14, 0x88
movd xmm3, r9d
shufps xmm3, xmm3, 0
mulps xmm11, xmm3
addps xmm11, xmm7
movaps xmm7, xmm15
shufps xmm7, xmm13, 0x88
movss xmm2, dword [rsp + 0x78]
shufps xmm2, xmm2, 0
mulps xmm7, xmm2
addps xmm11, xmm7
movaps xmm7, xmm11
movaps xmm11, xmm10
shufps xmm11, xmmword [rsp + 0x50], 0x88
movss xmm3, dword [rsp + 0x80]
shufps xmm3, xmm3, 0
mulps xmm11, xmm3
addps xmm7, xmm11
movaps xmm3, xmm5
shufps xmm3, xmmword [rsp + 0x20], 0x88
movd xmm2, esi
shufps xmm2, xmm2, 0
mulps xmm3, xmm2
addps xmm3, xmm7
movaps xmm11, xmm1
shufps xmm11, xmmword [rsp + 0x10], 0x88
movd xmm7, ebx
shufps xmm7, xmm7, 0
mulps xmm7, xmm11
addps xmm3, xmm7
shufps xmm9, xmmword [rsp + 0x60], 0xdd
movd xmm2, ebp
shufps xmm2, xmm2, 0
mulps xmm9, xmm2
addps xmm3, xmm9
shufps xmm8, xmm12, 0xdd
movd xmm9, r12d
shufps xmm9, xmm9, 0
mulps xmm8, xmm9
addps xmm3, xmm8
shufps xmm6, xmmword [rsp + 0x40], 0xdd
movd xmm8, r13d
shufps xmm8, xmm8, 0
mulps xmm6, xmm8
addps xmm3, xmm6
shufps xmm4, xmm14, 0xdd
movss xmm12, dword [rsp + 0x88]
shufps xmm12, xmm12, 0
mulps xmm4, xmm12
addps xmm3, xmm4
shufps xmm15, xmm13, 0xdd
movss xmm13, dword [rsp + 0x8c]
shufps xmm13, xmm13, 0
mulps xmm13, xmm15
addps xmm3, xmm13
shufps xmm10, xmmword [rsp + 0x50], 0xdd
movss xmm6, dword [rsp + 0xa0]
shufps xmm6, xmm6, 0
mulps xmm10, xmm6
addps xmm3, xmm10
shufps xmm5, xmmword [rsp + 0x20], 0xdd
movss xmm10, dword [rsp + 0xa4]
shufps xmm10, xmm10, 0
mulps xmm5, xmm10
addps xmm3, xmm5
shufps xmm1, xmmword [rsp + 0x10], 0xdd
movss xmm4, dword [rsp + 0xa8]
shufps xmm4, xmm4, 0
mulps xmm1, xmm4
addps xmm1, xmm3
movaps xmmword [rsp + 0xf0], xmm1
mov edx, r8d
and edx, 0xfffffffc
mov eax, edx
shl rax, 6
lea rcx, [0x0045a680]
add rax, rcx
cmp edx, r8d
je 0x4108f5
movsxd r8, edx
movd xmm14, r11d
mulss xmm14, dword [rax]
movd xmm1, edi
mulss xmm1, dword [rax + 4]
addss xmm14, xmm1
movd xmm3, r10d
mulss xmm3, dword [rax + 8]
addss xmm3, xmm14
movd xmm11, r9d
mulss xmm11, dword [rax + 0xc]
addss xmm3, xmm11
movss xmm9, dword [rsp + 0x78]
movss xmm2, dword [rax + 0x10]
mulss xmm2, xmm9
addss xmm2, xmm3
movss xmm7, dword [rsp + 0x80]
movss xmm8, dword [rax + 0x14]
mulss xmm8, xmm7
addss xmm2, xmm8
movd xmm12, esi
mulss xmm12, dword [rax + 0x18]
addss xmm12, xmm2
movd xmm15, ebx
mulss xmm15, dword [rax + 0x1c]
addss xmm12, xmm15
movd xmm13, ebp
mulss xmm13, dword [rax + 0x20]
addss xmm13, xmm12
movd xmm6, r12d
mulss xmm6, dword [rax + 0x24]
addss xmm13, xmm6
movd xmm10, r13d
mulss xmm10, dword [rax + 0x28]
addss xmm10, xmm13
movss xmm5, dword [rsp + 0x88]
movss xmm4, dword [rax + 0x2c]
mulss xmm4, xmm5
addss xmm10, xmm4
movss xmm11, dword [rsp + 0x8c]
movss xmm2, dword [rax + 0x30]
mulss xmm2, xmm11
addss xmm2, xmm10
movss xmm3, dword [rsp + 0xa0]
movss xmm14, dword [rax + 0x34]
mulss xmm14, xmm3
addss xmm2, xmm14
movss xmm8, dword [rsp + 0xa4]
movss xmm1, dword [rax + 0x38]
mulss xmm1, xmm8
addss xmm1, xmm2
movss xmm12, dword [rsp + 0xa8]
movss xmm15, dword [rax + 0x3c]
mulss xmm15, xmm12
addss xmm1, xmm15
movss dword [rsp + r8*4 + 0xf0], xmm1
lea ecx, [rdx + 1]
mov r8d, dword [rsp + 0x38]
cmp r8d, ecx
jl 0x4108f5
movsxd rcx, ecx
movd xmm13, edi
mulss xmm13, dword [rax + 0x44]
movd xmm6, r11d
mulss xmm6, dword [rax + 0x40]
addss xmm13, xmm6
movd xmm10, r10d
mulss xmm10, dword [rax + 0x48]
addss xmm10, xmm13
movd xmm4, r9d
mulss xmm4, dword [rax + 0x4c]
addss xmm10, xmm4
movss xmm2, dword [rax + 0x50]
mulss xmm2, xmm9
addss xmm2, xmm10
movss xmm14, dword [rax + 0x54]
mulss xmm14, xmm7
addss xmm2, xmm14
movd xmm1, esi
mulss xmm1, dword [rax + 0x58]
addss xmm1, xmm2
movd xmm15, ebx
mulss xmm15, dword [rax + 0x5c]
addss xmm1, xmm15
movd xmm13, ebp
mulss xmm13, dword [rax + 0x60]
addss xmm13, xmm1
movd xmm6, r12d
mulss xmm6, dword [rax + 0x64]
addss xmm13, xmm6
movd xmm10, r13d
mulss xmm10, dword [rax + 0x68]
addss xmm10, xmm13
movss xmm4, dword [rax + 0x6c]
mulss xmm4, xmm5
addss xmm10, xmm4
movss xmm2, dword [rax + 0x70]
mulss xmm2, xmm11
addss xmm2, xmm10
movss xmm14, dword [rax + 0x74]
mulss xmm14, xmm3
addss xmm2, xmm14
movss xmm1, dword [rax + 0x78]
mulss xmm1, xmm8
addss xmm1, xmm2
movss xmm15, dword [rax + 0x7c]
mulss xmm15, xmm12
addss xmm1, xmm15
movss dword [rsp + rcx*4 + 0xf0], xmm1
lea edx, [rdx + 2]
cmp r8d, edx
jl 0x4108f5
movsxd r8, edx
movd xmm13, edi
mulss xmm13, dword [rax + 0x84]
movd xmm6, r11d
mulss xmm6, dword [rax + 0x80]
addss xmm13, xmm6
movd xmm10, r10d
mulss xmm10, dword [rax + 0x88]
addss xmm13, xmm10
movd xmm4, r9d
mulss xmm4, dword [rax + 0x8c]
addss xmm13, xmm4
mulss xmm9, dword [rax + 0x90]
addss xmm13, xmm9
mulss xmm7, dword [rax + 0x94]
addss xmm13, xmm7
movd xmm9, esi
mulss xmm9, dword [rax + 0x98]
addss xmm13, xmm9
movd xmm2, ebx
mulss xmm2, dword [rax + 0x9c]
addss xmm13, xmm2
movd xmm14, ebp
mulss xmm14, dword [rax + 0xa0]
addss xmm13, xmm14
movd xmm1, r12d
mulss xmm1, dword [rax + 0xa4]
addss xmm13, xmm1
movd xmm15, r13d
mulss xmm15, dword [rax + 0xa8]
addss xmm13, xmm15
mulss xmm5, dword [rax + 0xac]
addss xmm13, xmm5
mulss xmm11, dword [rax + 0xb0]
addss xmm13, xmm11
movss xmm11, dword [rax + 0xb4]
mulss xmm11, xmm3
addss xmm13, xmm11
movss xmm3, dword [rax + 0xb8]
mulss xmm3, xmm8
addss xmm13, xmm3
movss xmm8, dword [rax + 0xbc]
mulss xmm8, xmm12
addss xmm13, xmm8
movss dword [rsp + r8*4 + 0xf0], xmm13
lea r11, [r15 + r15*2]
mov rdi, qword [rsp + 0x270]
lea r10, [rdi + r11*8]
mov qword [rsp + 0x60], r10
movss xmm10, dword [rsp + 0xf0]
xor r13d, r13d
movaps xmm9, xmm0
mov eax, 1
pxor xmm6, xmm6
lea rcx, [0x0045a4c0]
lea rbp, [0x0045a300]
lea r12, [rsp + 0x110]
movsd xmm11, qword [0x00441918]
movsd xmm12, qword [0x00441910]
movapd xmm14, xmm12
movapd xmm8, xmm12
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], r14
movss xmm15, dword [rsp + 0xac]
cmp eax, 2
je 0x411132
cmp eax, 3
je 0x4111fc
cmp eax, 1
je 0x4111d7
lea r10, [rsp + 0xf4]
lea r11, [rsp + 0xac]
xor edi, edi
movaps xmm4, xmm10
xor r15d, r15d
movaps xmm7, xmm6
lea r14, [rsp + 0xd0]
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x10], eax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x50], r12
mov r12, qword [rsp + 0x70]
mov rsi, r10
movss xmm3, dword [r10]
subss xmm3, xmm7
movaps xmm1, xmm3
divss xmm1, xmm4
movaps xmm2, xmm1
mulss xmm2, xmm1
pxor xmm13, xmm13
cvtss2sd xmm13, xmm2
movapd xmm2, xmm8
subsd xmm2, xmm13
cvtss2sd xmm4, xmm4
mulsd xmm4, xmm2
cvtsd2ss xmm4, xmm4
mov r9, qword [rsp + 0x20]
movss dword [r9 + r15], xmm1
mov r13, r11
movss dword [r11 + 4], xmm1
cmp r11, r12
jbe 0x41131b
mov rdx, r12
lea rax, [r15 - 5]
mov r9, rax
shr r9, 3
lea r13, [r9 + 1]
lea rbx, [r13*4]
neg r9
shl r9, 2
lea r8, [r15 + r9 - 4]
cmp r8, rbx
setge r14b
test r15, r15
setle r8b
or r14b, r8b
je 0x41106c
cmp rax, 0x17
jbe 0x41106c
lea rax, [r11 - 0xc]
movaps xmm3, xmm1
shufps xmm3, xmm3, 0
mov r8, r13
shr r8, 2
shl r8, 4
mov r14, rax
sub r14, r8
sub r8, 0x10
shr r8, 4
add r8, 1
and r8d, 3
je 0x410b62
cmp r8, 1
je 0x410b1f
cmp r8, 2
je 0x410ae5
movaps xmm5, xmmword [r12]
movq xmm2, qword [rax]
movhps xmm2, qword [rax + 8]
shufps xmm2, xmm2, 0x1b
movaps xmm7, xmm3
mulps xmm7, xmm2
movaps xmm13, xmm5
subps xmm13, xmm7
movaps xmmword [r12], xmm13
mulps xmm5, xmm3
subps xmm2, xmm5
shufps xmm2, xmm2, 0x1b
movlps qword [rax], xmm2
movhps qword [rax + 8], xmm2
lea rax, [r11 - 0x1c]
lea rdx, [rsp + 0xc0]
movaps xmm5, xmmword [rdx]
movq xmm2, qword [rax]
movhps xmm2, qword [rax + 8]
shufps xmm2, xmm2, 0x1b
movaps xmm7, xmm3
mulps xmm7, xmm2
movaps xmm13, xmm5
subps xmm13, xmm7
movaps xmmword [rdx], xmm13
mulps xmm5, xmm3
subps xmm2, xmm5
shufps xmm2, xmm2, 0x1b
movlps qword [rax], xmm2
movhps qword [rax + 8], xmm2
sub rax, 0x10
add rdx, 0x10
movaps xmm5, xmmword [rdx]
movq xmm2, qword [rax]
movhps xmm2, qword [rax + 8]
shufps xmm2, xmm2, 0x1b
movaps xmm7, xmm3
mulps xmm7, xmm2
movaps xmm13, xmm5
subps xmm13, xmm7
movaps xmmword [rdx], xmm13
mulps xmm5, xmm3
subps xmm2, xmm5
shufps xmm2, xmm2, 0x1b
movlps qword [rax], xmm2
movhps qword [rax + 8], xmm2
sub rax, 0x10
add rdx, 0x10
cmp rax, r14
je 0x410c47
movaps xmm5, xmmword [rdx]
movq xmm2, qword [rax]
movhps xmm2, qword [rax + 8]
shufps xmm2, xmm2, 0x1b
movaps xmm7, xmm3
mulps xmm7, xmm2
movaps xmm13, xmm5
subps xmm13, xmm7
movaps xmmword [rdx], xmm13
mulps xmm5, xmm3
subps xmm2, xmm5
shufps xmm2, xmm2, 0x1b
movlps qword [rax], xmm2
movhps qword [rax + 8], xmm2
movaps xmm5, xmmword [rdx + 0x10]
movq xmm2, qword [rax - 0x10]
movhps xmm2, qword [rax - 8]
shufps xmm2, xmm2, 0x1b
movaps xmm7, xmm3
mulps xmm7, xmm2
movaps xmm13, xmm5
subps xmm13, xmm7
movaps xmmword [rdx + 0x10], xmm13
mulps xmm5, xmm3
subps xmm2, xmm5
shufps xmm2, xmm2, 0x1b
movlps qword [rax - 0x10], xmm2
movhps qword [rax - 8], xmm2
movaps xmm5, xmmword [rdx + 0x20]
movq xmm2, qword [rax - 0x20]
movhps xmm2, qword [rax - 0x18]
shufps xmm2, xmm2, 0x1b
movaps xmm7, xmm3
mulps xmm7, xmm2
movaps xmm13, xmm5
subps xmm13, xmm7
movaps xmmword [rdx + 0x20], xmm13
mulps xmm5, xmm3
subps xmm2, xmm5
shufps xmm2, xmm2, 0x1b
movlps qword [rax - 0x20], xmm2
movhps qword [rax - 0x18], xmm2
movaps xmm5, xmmword [rdx + 0x30]
movq xmm2, qword [rax - 0x30]
movhps xmm2, qword [rax - 0x28]
shufps xmm2, xmm2, 0x1b
movaps xmm7, xmm3
mulps xmm7, xmm2
movaps xmm13, xmm5
subps xmm13, xmm7
movaps xmmword [rdx + 0x30], xmm13
mulps xmm5, xmm3
subps xmm2, xmm5
shufps xmm2, xmm2, 0x1b
movlps qword [rax - 0x30], xmm2
movhps qword [rax - 0x28], xmm2
sub rax, 0x40
add rdx, 0x40
cmp rax, r14
jne 0x410b62
mov r8, r13
and r8, 0xfffffffffffffffc
lea r14, [r12 + r8*4]
mov rax, r8
neg rax
lea rdx, [r11 + rax*4]
cmp r8, r13
je 0x410d05
movss xmm3, dword [r14]
movss xmm2, dword [rdx]
movaps xmm5, xmm2
mulss xmm5, xmm1
movaps xmm7, xmm3
subss xmm7, xmm5
movss dword [r14], xmm7
mulss xmm3, xmm1
subss xmm2, xmm3
movss dword [rdx], xmm2
lea r13, [r14 + 4]
lea r8, [rdx - 4]
cmp r13, r8
jae 0x410d05
movss xmm13, dword [r14 + 4]
movss xmm3, dword [rdx - 4]
movaps xmm2, xmm1
mulss xmm2, xmm3
movaps xmm5, xmm13
subss xmm5, xmm2
movss dword [r14 + 4], xmm5
mulss xmm13, xmm1
subss xmm3, xmm13
movss dword [rdx - 4], xmm3
lea rax, [r14 + 8]
lea r13, [rdx - 8]
cmp rax, r13
jae 0x410d05
movss xmm13, dword [r14 + 8]
movss xmm3, dword [rdx - 8]
movaps xmm2, xmm1
mulss xmm2, xmm3
movaps xmm5, xmm13
subss xmm5, xmm2
movss dword [r14 + 8], xmm5
mulss xmm13, xmm1
subss xmm3, xmm13
movss dword [rdx - 8], xmm3
add rbx, r12
lea r13, [r11 + r9 - 4]
cmp rbx, r13
je 0x410e98
lea ebx, [rdi + 1]
cmp dword [rsp + 0x10], ebx
je 0x410ed1
add r15, 4
cmp edi, 2
jbe 0x411323
movq xmm7, qword [r10 - 0xc]
movhps xmm7, qword [r10 - 4]
shufps xmm7, xmm7, 0x1b
mulps xmm7, xmmword [rsp + 0xb0]
movaps xmm13, xmm7
addss xmm13, xmm6
movaps xmm2, xmm7
shufps xmm2, xmm7, 0x55
addss xmm13, xmm2
movaps xmm2, xmm7
unpckhps xmm2, xmm7
movaps xmm3, xmm2
addss xmm3, xmm13
shufps xmm7, xmm7, 0xff
addss xmm7, xmm3
lea rsi, [r10 - 0x10]
sub edi, 4
cmp ebx, 4
je 0x410db9
mov r9, qword [rsp + 8]
movss xmm1, dword [r9]
mulss xmm1, dword [rsi]
addss xmm7, xmm1
test edi, edi
je 0x410db9
movss xmm13, dword [r9 + 4]
mulss xmm13, dword [rsi - 4]
addss xmm7, xmm13
cmp edi, 1
je 0x410db9
movss xmm5, dword [rsi - 8]
mulss xmm5, dword [r9 + 8]
addss xmm7, xmm5
add r10, 4
add r11, 4
mov edi, ebx
jmp 0x4109c4
movaps xmm6, xmmword [rsp + 0x150]
movaps xmm7, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
movaps xmm9, xmmword [rsp + 0x180]
movaps xmm10, xmmword [rsp + 0x190]
movaps xmm11, xmmword [rsp + 0x1a0]
movaps xmm12, xmmword [rsp + 0x1b0]
movaps xmm13, xmmword [rsp + 0x1c0]
movaps xmm14, xmmword [rsp + 0x1d0]
movaps xmm15, xmmword [rsp + 0x1e0]
add rsp, 0x1f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movss xmm2, dword [0x00441908]
movss dword [rsp + 0xac], xmm2
addss xmm2, xmm10
addss xmm2, xmm9
addss xmm2, xmm8
addss xmm2, xmm7
addss xmm2, xmm6
addss xmm2, xmm5
addss xmm2, xmm4
addss xmm2, dword [rsp + 0x38]
addss xmm2, xmm3
addss xmm2, xmm11
addss xmm2, xmm12
addss xmm2, xmm13
addss xmm2, xmm14
addss xmm2, xmm15
addss xmm2, dword [rsp + 0x20]
addss xmm2, dword [rsp + 0x10]
jmp 0x40ff52
pxor xmm13, xmm13
cvtss2sd xmm13, dword [rbx]
cvtss2sd xmm1, xmm1
movapd xmm3, xmm8
subsd xmm3, xmm1
movapd xmm2, xmm3
mulsd xmm2, xmm13
pxor xmm5, xmm5
cvtsd2ss xmm5, xmm2
movss dword [rbx], xmm5
lea ebx, [rdi + 1]
cmp dword [rsp + 0x10], ebx
jne 0x410d23
mov eax, dword [rsp + 0x10]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x50]
lea r10, [0x0045a4c0]
lea r9, [0x0045a300]
movaps xmm5, xmmword [rsp + 0xb0]
mov edi, eax
and edi, 0xfffffffc
xor r11d, r11d
movss xmm13, dword [0x00441900]
movaps xmm7, xmm15
jmp 0x411051
movq xmm1, qword [r10]
movhps xmm1, qword [r10 + 8]
mulps xmm1, xmm5
movaps xmm2, xmm0
subss xmm2, xmm1
movaps xmm4, xmm1
shufps xmm4, xmm1, 0x55
subss xmm2, xmm4
movaps xmm3, xmm1
unpckhps xmm3, xmm1
subss xmm2, xmm3
shufps xmm1, xmm1, 0xff
subss xmm2, xmm1
movq xmm1, qword [r9]
movhps xmm1, qword [r9 + 8]
mulps xmm1, xmm5
movaps xmm4, xmm1
addss xmm4, xmm6
movaps xmm3, xmm1
shufps xmm3, xmm1, 0x55
addss xmm4, xmm3
movaps xmm3, xmm1
unpckhps xmm3, xmm1
addss xmm3, xmm4
shufps xmm1, xmm1, 0xff
addss xmm3, xmm1
cmp eax, edi
je 0x411014
mov r14d, edi
movsxd r8, r14d
movss xmm4, dword [rsp + r8*4 + 0xb0]
movsxd rsi, r15d
lea rbx, [rsi*8]
sub rbx, rsi
add r8, rbx
movss xmm1, dword [rcx + r8*4]
mulss xmm1, xmm4
subss xmm2, xmm1
mulss xmm4, dword [rbp + r8*4]
addss xmm3, xmm4
lea edx, [r14 + 1]
cmp edx, eax
jge 0x411014
movsxd r15, edx
movss xmm4, dword [rsp + r15*4 + 0xb0]
add r15, rbx
movss xmm1, dword [rcx + r15*4]
mulss xmm1, xmm4
subss xmm2, xmm1
mulss xmm4, dword [rbp + r15*4]
addss xmm3, xmm4
add r14d, 2
cmp r14d, eax
jge 0x411014
movsxd r14, r14d
movss xmm4, dword [rsp + r14*4 + 0xb0]
add rbx, r14
movss xmm1, dword [rcx + rbx*4]
mulss xmm1, xmm4
subss xmm2, xmm1
mulss xmm4, dword [rbp + rbx*4]
addss xmm3, xmm4
mulss xmm2, xmm2
mulss xmm3, xmm3
addss xmm3, xmm2
addss xmm7, xmm3
movss xmm4, dword [r12 + r11*4]
movaps xmm2, xmm3
mulss xmm2, xmm13
comiss xmm2, xmm4
jbe 0x41103f
divss xmm4, xmm3
movaps xmm13, xmm4
add r11, 1
add r10, 0x1c
add r9, 0x1c
cmp r11, 0x10
je 0x4110b0
mov r15d, r11d
cmp r13, 2
ja 0x410f0f
xor r14d, r14d
movaps xmm3, xmm6
movaps xmm2, xmm0
jmp 0x410f7c
mov r14, r11
mov rdx, r12
movss xmm13, dword [rdx]
movss xmm3, dword [r14]
movaps xmm2, xmm1
mulss xmm2, xmm3
movaps xmm5, xmm13
subss xmm5, xmm2
movss dword [rdx], xmm5
mulss xmm13, xmm1
subss xmm3, xmm13
movss dword [r14], xmm3
add rdx, 4
sub r14, 4
cmp r14, rdx
ja 0x411072
jmp 0x410d05
pxor xmm5, xmm5
cvtss2sd xmm5, xmm13
mulsd xmm5, xmm11
movss xmm3, dword [rsp + 0x3c]
mulss xmm3, xmm7
pxor xmm1, xmm1
cvtss2sd xmm1, xmm3
divsd xmm5, xmm1
pxor xmm2, xmm2
cvtsd2ss xmm2, xmm5
comiss xmm2, xmm9
jbe 0x4110f1
movss xmm4, dword [rsp + 0x34]
comiss xmm4, xmm7
ja 0x41132e
add r13, 1
add eax, 1
cmp dword [rsp + 0x38], eax
jge 0x41096d
mov r15, qword [rsp + 0x78]
mov r14, qword [rsp + 0x80]
comiss xmm9, xmm0
jbe 0x40fd6e
mov rax, qword [rsp + 0x268]
mulss xmm9, dword [rax + r15*4]
movss dword [rax + r15*4], xmm9
jmp 0x40fd6e
movss xmm13, dword [rsp + 0xf4]
movaps xmm2, xmm13
divss xmm2, xmm10
movaps xmm7, xmm2
mulss xmm7, xmm2
pxor xmm1, xmm1
cvtss2sd xmm1, xmm7
movapd xmm3, xmm12
subsd xmm3, xmm1
movapd xmm5, xmm3
pxor xmm4, xmm4
cvtss2sd xmm4, xmm10
mulsd xmm5, xmm4
pxor xmm7, xmm7
cvtsd2ss xmm7, xmm5
movss dword [rsp + 0xd0], xmm2
mulss xmm13, xmm2
movss xmm1, dword [rsp + 0xf8]
subss xmm1, xmm13
divss xmm1, xmm7
movss dword [rsp + 0xd4], xmm1
movss dword [rsp + 0xb4], xmm1
pxor xmm3, xmm3
cvtss2sd xmm3, xmm1
movapd xmm1, xmm12
subsd xmm1, xmm3
cvtss2sd xmm2, xmm2
mulsd xmm2, xmm1
pxor xmm4, xmm4
cvtsd2ss xmm4, xmm2
movss dword [rsp + 0xb0], xmm4
jmp 0x410edf
movss xmm1, dword [rsp + 0xf4]
divss xmm1, xmm10
movss dword [rsp + 0xd0], xmm1
movss dword [rsp + 0xb0], xmm1
jmp 0x410edf
movss xmm5, dword [rsp + 0xf4]
movaps xmm3, xmm5
divss xmm3, xmm10
movaps xmm7, xmm3
mulss xmm7, xmm3
pxor xmm13, xmm13
cvtss2sd xmm13, xmm7
movapd xmm2, xmm14
subsd xmm2, xmm13
pxor xmm1, xmm1
cvtss2sd xmm1, xmm10
mulsd xmm2, xmm1
cvtsd2ss xmm2, xmm2
movss dword [rsp + 0xd0], xmm3
movss xmm7, dword [rsp + 0xf8]
movaps xmm13, xmm5
mulss xmm13, xmm3
movaps xmm1, xmm7
subss xmm1, xmm13
divss xmm1, xmm2
movaps xmm4, xmm1
mulss xmm4, xmm1
cvtss2sd xmm4, xmm4
movapd xmm13, xmm14
subsd xmm13, xmm4
movapd xmm4, xmm13
cvtss2sd xmm2, xmm2
mulsd xmm4, xmm2
movss dword [rsp + 0xd4], xmm1
pxor xmm13, xmm13
cvtss2sd xmm13, xmm1
movapd xmm2, xmm14
subsd xmm2, xmm13
cvtss2sd xmm3, xmm3
mulsd xmm3, xmm2
cvtsd2ss xmm3, xmm3
mulss xmm7, xmm3
movss xmm2, dword [rsp + 0xfc]
movaps xmm13, xmm2
subss xmm13, xmm7
mulss xmm5, xmm1
subss xmm13, xmm5
pxor xmm5, xmm5
cvtsd2ss xmm5, xmm4
divss xmm13, xmm5
movss dword [rsp + 0xd8], xmm13
movss dword [rsp + 0xb8], xmm13
movaps xmm4, xmm1
mulss xmm4, xmm13
movaps xmm7, xmm3
subss xmm7, xmm4
movss dword [rsp + 0xb0], xmm7
mulss xmm13, xmm3
subss xmm1, xmm13
movss dword [rsp + 0xb4], xmm1
jmp 0x410edf
mov rbx, r12
jmp 0x410d0d
movaps xmm7, xmm6
mov r9, r12
jmp 0x410d83
mov r9, qword [rsp + 0x260]
mov rdi, qword [rsp + 0x78]
mov dword [r9 + rdi*4], eax
add r13, 1
lea r10, [r13*4]
mov r9d, r10d
mov r11, qword [rsp + 0x60]
mov r8, r11
mov rsi, qword [rsp + 0x70]
cmp r10d, 8
jae 0x41138f
test r9b, 4
je 0x41136e
mov rdi, r8
movsd dword [rdi], dword [rsi]
mov r8, rdi
test r9b, 2
je 0x41137c
mov rdi, r8
movsw word [rdi], word [rsi]
mov r8, rdi
and r9d, 1
je 0x411386
mov rdi, r8
movsb byte [rdi], byte [rsi]
movaps xmm9, xmm2
jmp 0x4110f5
test r11b, 1
jne 0x411501
test r8b, 2
jne 0x4114e9
test r8b, 4
jne 0x41151d
cmp r9d, 8
jb 0x411361
mov r15d, r9d
and r15d, 0xfffffff8
lea r14d, [r15 - 1]
shr r14d, 3
and r14d, 7
mov r10, qword [rsi]
mov qword [r8], r10
mov edi, 8
cmp edi, r15d
jae 0x4114d0
test r14d, r14d
je 0x41146b
cmp r14d, 1
je 0x411459
cmp r14d, 2
je 0x41144b
cmp r14d, 3
je 0x41143d
cmp r14d, 4
je 0x41142f
cmp r14d, 5
je 0x411421
cmp r14d, 6
je 0x411414
mov r11, qword [rsi + 8]
mov qword [r8 + 8], r11
mov edi, 0x10
mov edx, edi
mov rbx, qword [rsi + rdx]
mov qword [r8 + rdx], rbx
add edi, 8
mov r14d, edi
mov r10, qword [rsi + r14]
mov qword [r8 + r14], r10
add edi, 8
mov r11d, edi
mov rdx, qword [rsi + r11]
mov qword [r8 + r11], rdx
add edi, 8
mov r14d, edi
mov rbx, qword [rsi + r14]
mov qword [r8 + r14], rbx
add edi, 8
mov r10d, edi
mov r11, qword [rsi + r10]
mov qword [r8 + r10], r11
add edi, 8
mov edx, edi
mov r14, qword [rsi + rdx]
mov qword [r8 + rdx], r14
add edi, 8
cmp edi, r15d
jae 0x4114d0
mov r10d, edi
mov rbx, qword [rsi + r10]
mov qword [r8 + r10], rbx
lea r11d, [rdi + 8]
mov rdx, qword [rsi + r11]
mov qword [r8 + r11], rdx
lea r14d, [rdi + 0x10]
mov r10, qword [rsi + r14]
mov qword [r8 + r14], r10
lea r11d, [rdi + 0x18]
mov rbx, qword [rsi + r11]
mov qword [r8 + r11], rbx
lea edx, [rdi + 0x20]
mov r14, qword [rsi + rdx]
mov qword [r8 + rdx], r14
lea r10d, [rdi + 0x28]
mov r11, qword [rsi + r10]
mov qword [r8 + r10], r11
lea edx, [rdi + 0x30]
mov rbx, qword [rsi + rdx]
mov qword [r8 + rdx], rbx
lea r14d, [rdi + 0x38]
mov r10, qword [rsi + r14]
mov qword [r8 + r14], r10
add edi, 0x40
cmp edi, r15d
jb 0x41146b
add r8, rdi
add rsi, rdi
jmp 0x411361
xor edx, edx
lea rax, [0x0045a680]
jmp 0x410585
movzx ebx, word [rsi]
mov word [r8], bx
add r8, 2
add rsi, 2
sub r9d, 2
jmp 0x4113a3
movzx r8d, byte [rsi]
mov byte [r11], r8b
lea r8, [r11 + 1]
lea rsi, [rsp + 0xb1]
lea r9d, [r10 - 1]
jmp 0x411399
mov edx, dword [rsi]
mov dword [r8], edx
add r8, 4
add rsi, 4
sub r9d, 4
jmp 0x4113ad