Function at 0x140048790
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x178
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xe0], xmm15
movaps xmmword [rbp + 0xd0], xmm14
movaps xmmword [rbp + 0xc0], xmm13
movaps xmmword [rbp + 0xb0], xmm12
movaps xmmword [rbp + 0xa0], xmm11
movaps xmmword [rbp + 0x90], xmm10
movaps xmmword [rbp + 0x80], xmm9
movaps xmmword [rbp + 0x70], xmm8
movaps xmmword [rbp + 0x60], xmm7
movaps xmmword [rbp + 0x50], xmm6
mov qword [rbp - 0x70], r8
mov ebx, edx
mov rax, qword [0x1406de900]
xor rax, rbp
mov qword [rbp + 0x48], rax
mov eax, dword [0x1406e8068]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete al
cmp dword [0x1406e806c], 0xa
setl r8b
or r8b, al
nop word cs:[rax + rax]
nop
mov eax, 0xc0
call fcn.1401fc5d0
sub rsp, rax
mov rdx, rsp
mov eax, 0xa0
call fcn.1401fc5d0
sub rsp, rax
mov rdi, rsp
mov eax, reloc.WS2_32.dll_recv
call fcn.1401fc5d0
sub rsp, rax
mov r12, rsp
mov eax, reloc.WS2_32.dll_recv
call fcn.1401fc5d0
sub rsp, rax
mov r15, rsp
test r8b, r8b
je 0x140048830
mov qword [rbp - 0x78], rdx
mov qword [rbp - 0x50], rdi
lea rsi, [rcx + 0x70]
mov qword [rbp - 0x48], rcx
add rcx, 0x50
mov dword [rbp - 0x20], ebx
mov qword [rbp - 0x30], r12
mov qword [rbp + 8], r15
nop word cs:[rax + rax]
nop
mov eax, reloc.WS2_32.dll_recv
call fcn.1401fc5d0
sub rsp, rax
mov rdi, rsp
mov eax, reloc.WS2_32.dll_recv
call fcn.1401fc5d0
sub rsp, rax
mov rdx, rsp
mov eax, reloc.WS2_32.dll_recv
call fcn.1401fc5d0
sub rsp, rax
mov r14, rsp
mov eax, reloc.WS2_32.dll_recv
call fcn.1401fc5d0
sub rsp, rax
mov qword [rbp - 0x58], rsp
mov eax, reloc.WS2_32.dll_recv
call fcn.1401fc5d0
sub rsp, rax
mov qword [rbp - 0x38], rsp
mov r13, rsi
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
sub rsp, 0x20
mov rsi, rcx
mov rcx, rdi
mov r8d, ebx
call fcn.140047800
add rsp, 0x20
movups xmm0, xmmword [rdi]
movups xmmword [r15], xmm0
mov edx, dword [0x1406e8068]
mov ecx, dword [0x1406e806c]
cmp ecx, 0xa
jl 0x14004899c
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x14004899c
mov eax, reloc.WS2_32.dll_recv
call fcn.1401fc5d0
sub rsp, rax
mov rdi, rsp
mov eax, reloc.WS2_32.dll_recv
call fcn.1401fc5d0
sub rsp, rax
mov rdx, rsp
movups xmm0, xmmword [r13]
mov r12, qword [rbp - 0x30]
movups xmmword [r12], xmm0
movups xmm0, xmmword [rsi]
movups xmmword [rdx], xmm0
sub rsp, 0x20
mov rcx, rdi
mov ebx, dword [rbp - 0x20]
mov r8d, ebx
call fcn.140047800
mov rcx, rsi
mov rsi, r13
add rsp, 0x20
movups xmm0, xmmword [rdi]
mov r15, qword [rbp + 8]
movups xmmword [r15], xmm0
jmp 0x1400488a0
mov rax, qword [rbp + 8]
mov edi, dword [rax + 8]
mov eax, dword [rax + 0xc]
xor r13d, r13d
cmp edi, eax
mov r15, qword [rbp - 0x78]
mov qword [rbp - 0x28], r14
mov rsi, qword [rbp - 0x70]
jge 0x14004a495
mov r8, qword [rbp - 0x48]
lea rbx, [r8 + 0x80]
mov qword [rbp - 0x40], rbx
lea r12, [r8 + 0x40]
lea rbx, [r8 + 0x60]
mov qword [rbp - 0x60], rbx
mov dword [rbp - 0x1c], 0
mov dword [rbp - 8], 1
xorps xmm11, xmm11
xorps xmm14, xmm14
movaps xmm8, xmmword [0x140250d40]
movaps xmm9, xmmword [0x140250d10]
mov dword [rbp - 0xc], 0
xor ebx, ebx
mov qword [rbp - 0x18], rbx
xor r13d, r13d
mov r14, qword [rbp + 8]
mov qword [rbp - 0x68], r12
jmp 0x140048a59
or r14b, 2
cmp r14b, 3
jne 0x14004a492
mov rcx, qword [rbp]
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
add dword [rbp - 0x1c], eax
xor r13d, r13d
mov r14, qword [rbp + 8]
mov edx, dword [0x1406e8068]
mov ecx, dword [0x1406e806c]
mov edi, dword [r14 + 8]
mov eax, dword [r14 + 0xc]
cmp edi, eax
jge 0x14004a492
mov qword [rbp], r13
mov r9, qword [r14]
movsxd rbx, edi
lea r8, [rbx + 1]
mov dword [r14 + 8], r8d
mov r14b, byte [r9 + rbx]
cmp r14b, 0x12
jae 0x140048b20
cmp r14b, 7
jae 0x140048b70
cmp r14b, 4
jb 0x140048a18
jne 0x140048f01
mov rax, qword [rbp]
test eax, eax
mov r14, qword [rbp + 8]
jle 0x14004a492
add eax, 0xffffffff
movd xmm6, dword [r15 + rax*4]
movss xmm1, dword [rsi + 8]
movss xmm2, dword [rsi + 0xc]
movss xmm0, dword [rsi + 0x10]
ucomiss xmm1, xmm0
jne 0x140048ace
jp 0x140048ace
movss xmm3, dword [rsi + 0x14]
ucomiss xmm2, xmm3
jne 0x140048ace
jnp 0x140049a34
cvttss2si r9d, xmm2
cvttss2si r8d, xmm1
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
movsd xmm0, qword [rsi + 0x10]
movq xmm1, xmm6
shufps xmm1, xmm11, 0xe2
jmp 0x14004923e
cmp r14b, 0x18
jae 0x140048bb0
cmp r14b, 0x15
jae 0x140048cc9
cmp r14b, 0x13
jb 0x140048a26
cmp dword [rbp - 8], 0
je 0x14004978a
mov rdi, qword [rbp]
mov ebx, edi
shr ebx, 0x1f
add ebx, edi
sar ebx, 1
mov edi, dword [rbp - 0x1c]
add edi, ebx
mov r14, qword [rbp + 8]
cmp ecx, 0xa
jge 0x140049796
jmp 0x1400497a5
cmp r14b, 0xb
jae 0x140048eb4
cmp r14b, 8
jae 0x140048f92
xor r13d, r13d
mov rbx, qword [rbp]
test ebx, ebx
jle 0x14004a495
cmp r13d, ebx
jge 0x140048a36
jmp 0x14004a3a4
cmp r14b, 0x1d
jae 0x140048eea
cmp r14b, 0x19
jae 0x140049065
xor r13d, r13d
mov rax, qword [rbp]
cmp eax, 8
jl 0x14004a495
lea r14d, [rax - 2]
mov edi, 5
nop dword [rax]
lea eax, [rdi - 5]
cdqe
movss xmm0, dword [r15 + rax*4]
lea eax, [rdi - 4]
cdqe
movss xmm1, dword [r15 + rax*4]
lea eax, [rdi - 3]
cdqe
lea ecx, [rdi - 2]
movsxd rcx, ecx
lea edx, [rdi - 1]
movsxd rdx, edx
movsxd rdi, edi
addss xmm0, dword [rsi + 0x10]
addss xmm1, dword [rsi + 0x14]
cvttss2si ebx, xmm0
addss xmm0, dword [r15 + rax*4]
cvttss2si eax, xmm1
addss xmm1, dword [r15 + rcx*4]
cvttss2si ecx, xmm0
addss xmm0, dword [r15 + rdx*4]
cvttss2si edx, xmm1
addss xmm1, dword [r15 + rdi*4]
movss dword [rsi + 0x10], xmm0
movss dword [rsi + 0x14], xmm1
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
add edi, 6
cmp edi, r14d
jl 0x140048be0
lea eax, [rdi - 4]
cmp eax, dword [rbp]
jge 0x14004a495
add edi, 0xfffffffb
cdqe
movss xmm6, dword [r15 + rax*4]
movsxd rax, edi
movss xmm7, dword [r15 + rax*4]
cmp dword [0x1406e806c], 0xa
mov r14, qword [rbp + 8]
jl 0x14004a0bc
mov eax, dword [0x1406e8068]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x14004a139
jmp 0x14004a0bc
jne 0x1400491ad
mov rbx, qword [rbp]
cmp ebx, 2
jl 0x14004a492
lea edi, [rbx - 1]
add ebx, 0xfffffffe
mov r14, qword [rbp + 8]
jmp 0x140048d81
cvttss2si r9d, xmm2
cvttss2si r8d, xmm1
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
movsd xmm0, qword [rsi + 0x10]
unpcklps xmm6, xmm7
addps xmm6, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
cvttss2si r8d, xmm6
movlhps xmm6, xmm6
movups xmmword [rsi + 8], xmm6
cvttss2si r9d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 1
call fcn.14004a570
add rsp, 0x40
movss xmm7, dword [r15 + rdi*4]
movss xmm6, dword [r15 + rbx*4]
movss xmm1, dword [rsi + 8]
movss xmm2, dword [rsi + 0xc]
movss xmm0, dword [rsi + 0x10]
ucomiss xmm1, xmm0
jne 0x140048db3
jp 0x140048db3
movss xmm3, dword [rsi + 0x14]
ucomiss xmm2, xmm3
jne 0x140048db3
jnp 0x140048eac
cvttss2si r9d, xmm2
cvttss2si r8d, xmm1
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
movsd xmm0, qword [rsi + 0x10]
unpcklps xmm6, xmm7
addps xmm6, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
cvttss2si r8d, xmm6
movlhps xmm6, xmm6
movups xmmword [rsi + 8], xmm6
cvttss2si r9d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 1
call fcn.14004a570
add rsp, 0x40
cmp dword [0x1406e806c], 0xa
jl 0x1400497c9
mov eax, dword [0x1406e8068]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400497c9
movss xmm7, dword [r15 + rdi*4]
movss xmm6, dword [r15 + rbx*4]
movss xmm1, dword [rsi + 8]
movss xmm2, dword [rsi + 0xc]
movss xmm0, dword [rsi + 0x10]
ucomiss xmm1, xmm0
jne 0x140048cf0
jp 0x140048cf0
movss xmm3, dword [rsi + 0x14]
ucomiss xmm2, xmm3
jne 0x140048cf0
jp 0x140048cf0
unpcklps xmm0, xmm3
jmp 0x140048d31
unpcklps xmm0, xmm3
jmp 0x140048df4
jne 0x140049290
mov rax, qword [rbp - 0x18]
test eax, eax
jle 0x14004a492
add eax, 0xffffffff
mov qword [rbp - 0x18], rax
shl rax, 4
mov rcx, qword [rbp - 0x50]
movups xmm0, xmmword [rcx + rax]
mov r14, qword [rbp + 8]
movups xmmword [r14], xmm0
mov r13, qword [rbp]
jmp 0x140048a3d
jne 0x1400492c4
mov r11d, dword [rbp - 0xc]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp]
jmp 0x140049f93
cmp r14b, 6
jae 0x1400492e3
mov rbx, qword [rbp]
cmp ebx, 2
jl 0x14004a492
mov eax, 1
nop dword [rax]
movsxd rdi, eax
add eax, 0xffffffff
movss xmm0, dword [r15 + rdi*4]
cdqe
movss xmm1, dword [r15 + rax*4]
addss xmm1, dword [rsi + 0x10]
movss dword [rsi + 0x10], xmm1
addss xmm0, dword [rsi + 0x14]
movss dword [rsi + 0x14], xmm0
cvttss2si r9d, xmm0
cvttss2si r8d, xmm1
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
add edi, 2
mov eax, edi
cmp edi, ebx
jl 0x140048f20
jmp 0x140048a36
cmp r14b, 9
mov rcx, qword [rbp - 0x48]
ja 0x140049300
xor r13d, r13d
cmp r14b, 8
mov rax, qword [rbp]
jne 0x14004a495
cmp eax, 6
jl 0x14004a495
mov eax, 5
nop
lea ecx, [rax - 5]
lea edx, [rax - 3]
movsxd rdx, edx
lea ebx, [rax - 2]
movsxd rbx, ebx
lea edi, [rax - 1]
movsxd r8, edi
movsxd rdi, eax
lea eax, [rdi - 4]
cdqe
movss xmm0, dword [r15 + rax*4]
movsxd rax, ecx
movss xmm1, dword [r15 + rax*4]
addss xmm1, dword [rsi + 0x10]
addss xmm0, dword [rsi + 0x14]
cvttss2si eax, xmm1
addss xmm1, dword [r15 + rdx*4]
cvttss2si ecx, xmm0
addss xmm0, dword [r15 + rbx*4]
cvttss2si edx, xmm1
addss xmm1, dword [r15 + r8*4]
cvttss2si ebx, xmm0
addss xmm0, dword [r15 + rdi*4]
movss dword [rsi + 0x10], xmm1
movss dword [rsi + 0x14], xmm0
cvttss2si r9d, xmm0
cvttss2si r8d, xmm1
sub rsp, 0x40
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
lea eax, [rdi + 6]
cmp eax, dword [rbp]
jl 0x140048fc0
jmp 0x140048a36
jne 0x14004931d
mov rax, qword [rbp]
cmp eax, 8
jl 0x14004a492
lea r14d, [rax - 6]
xor ebx, ebx
mov eax, 1
jmp 0x1400490a1
lea ebx, [rdi + 2]
mov eax, ebx
or eax, 1
cmp eax, r14d
jge 0x1400493e1
mov edi, ebx
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
sete dl
cmp ecx, 0xa
setl cl
or cl, dl
nop word [rax + rax]
test cl, cl
je 0x1400490c0
cdqe
movss xmm6, dword [r15 + rax*4]
movsxd rbx, edi
nop
movss xmm0, dword [r15 + rbx*4]
addss xmm0, dword [rsi + 0x10]
movss dword [rsi + 0x10], xmm0
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm6
movss dword [rsi + 0x14], xmm1
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
mov edx, dword [0x1406e8068]
mov ecx, dword [0x1406e806c]
cmp ecx, 0xa
jl 0x140049090
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
je 0x140049090
movss xmm0, dword [r15 + rbx*4]
addss xmm0, dword [rsi + 0x10]
movss dword [rsi + 0x10], xmm0
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm6
movss dword [rsi + 0x14], xmm1
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
jmp 0x1400490d0
cmp r14b, 0x17
jae 0x140048a26
mov rax, qword [rbp]
test eax, eax
jle 0x14004a492
add eax, 0xffffffff
movss xmm6, dword [r15 + rax*4]
movss xmm1, dword [rsi + 8]
movss xmm2, dword [rsi + 0xc]
movss xmm0, dword [rsi + 0x10]
ucomiss xmm1, xmm0
jne 0x1400491f2
jp 0x1400491f2
movss xmm3, dword [rsi + 0x14]
ucomiss xmm2, xmm3
jne 0x1400491f2
jnp 0x140049c00
cvttss2si r9d, xmm2
cvttss2si r8d, xmm1
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
movsd xmm0, qword [rsi + 0x10]
mov r14, qword [rbp + 8]
xorps xmm1, xmm1
movss xmm1, xmm6
addps xmm1, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
cvttss2si r8d, xmm1
movlhps xmm1, xmm1
movups xmmword [rsi + 8], xmm1
cvttss2si r9d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 1
call fcn.14004a570
add rsp, 0x40
jmp 0x1400497c9
cmp r14b, 0xe
jae 0x14004a505
cmp r14b, 0xc
jne 0x14004a492
cmp r8d, eax
mov rcx, qword [rbp]
jge 0x140049480
add edi, 2
mov rax, qword [rbp + 8]
mov dword [rax + 8], edi
mov al, byte [r9 + r8]
jmp 0x140049482
cmp r14b, 0x1f
jae 0x1400493b2
xor r13d, r13d
mov rcx, qword [rbp]
cmp ecx, 4
jge 0x14004a196
jmp 0x14004a495
xor r13d, r13d
mov rbx, qword [rbp]
test ebx, ebx
jle 0x14004a495
cmp r13d, ebx
jge 0x140048a36
jmp 0x14004a339
mov r11d, 1
cmp dword [rbp - 0xc], 0
mov rdx, qword [rbp]
je 0x1400499ab
mov rax, qword [rbp - 0x18]
jmp 0x140049f93
cmp r14b, 0x1c
mov r13, qword [rbp]
jae 0x14004974f
cmp r13d, 4
jl 0x14004a492
mov edi, r13d
and edi, 1
lea eax, [rdi + 3]
cmp eax, r13d
jge 0x140048a36
xor ecx, ecx
xorps xmm0, xmm0
test edi, edi
setne bl
je 0x140049358
movss xmm0, dword [r15]
mov edx, edi
mov eax, eax
mov cl, bl
lea ebx, [rdi + 2]
cmp r14b, 0x1b
jne 0x140049c08
movss xmm6, dword [r15 + rcx*4]
addss xmm6, dword [rsi + 0x10]
addss xmm0, dword [rsi + 0x14]
movss xmm1, dword [r15 + rdx*4 + 4]
addss xmm1, xmm6
movss xmm2, dword [r15 + rbx*4]
addss xmm2, xmm0
movss xmm3, dword [r15 + rax*4]
addss xmm3, xmm1
movss dword [rsi + 0x10], xmm3
movaps xmm5, xmm2
addss xmm5, xmm14
movaps xmm4, xmm0
movaps xmm0, xmm6
jmp 0x140049c44
cmp r14b, 0xff
mov r13, qword [rbp]
je 0x1400499f6
cmp r14b, 0x1f
jne 0x14004974f
xor edi, edi
cmp r13d, 4
jl 0x14004a492
lea eax, [rdx - 1]
imul eax, edx
jmp 0x14004a254
lea ecx, [rdi + 7]
cmp ecx, dword [rbp]
jge 0x14004a492
lea edx, [rdi + 5]
movsxd r8, edx
lea edx, [rdi + 6]
movsxd rdx, edx
movsxd rcx, ecx
add edi, 4
movsxd rdi, edi
cdqe
movss xmm0, dword [r15 + rax*4]
movsxd rax, ebx
movss xmm1, dword [r15 + rax*4]
addss xmm1, dword [rsi + 0x10]
addss xmm0, dword [rsi + 0x14]
cvttss2si eax, xmm1
addss xmm1, dword [r15 + rdi*4]
cvttss2si ebx, xmm0
addss xmm0, dword [r15 + r8*4]
cvttss2si edi, xmm1
addss xmm1, dword [r15 + rdx*4]
cvttss2si edx, xmm0
addss xmm0, dword [r15 + rcx*4]
movss dword [rsi + 0x10], xmm1
movss dword [rsi + 0x14], xmm0
cvttss2si r9d, xmm0
cvttss2si r8d, xmm1
sub rsp, 0x40
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
jmp 0x140048a36
xor eax, eax
xor r13d, r13d
cmp al, 0x24
jae 0x1400496e0
cmp al, 0x23
je 0x1400497d8
cmp al, 0x22
jne 0x14004a495
cmp ecx, 7
jl 0x14004a495
movaps xmm11, xmm9
movaps xmm9, xmm8
movss xmm12, dword [r15]
movss xmm13, dword [r15 + 4]
movss xmm6, dword [r15 + 8]
movss xmm8, dword [r15 + 0xc]
movss xmm15, dword [r15 + 0x10]
movss xmm10, dword [r15 + 0x14]
mov r14, qword [rbp + 8]
nop word cs:[rax + rax]
nop
movss xmm7, dword [r15 + 0x18]
movss xmm0, dword [rsi + 0x10]
addss xmm0, xmm12
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm14
movaps xmm2, xmm13
addss xmm2, xmm0
movaps xmm3, xmm6
addss xmm3, xmm1
movaps xmm4, xmm8
addss xmm4, xmm2
movss dword [rsi + 0x10], xmm4
cvttss2si eax, xmm3
addss xmm3, xmm14
movss dword [rsi + 0x14], xmm3
cvttss2si ecx, xmm2
cvttss2si edx, xmm1
cvttss2si ebx, xmm0
cvttss2si r9d, xmm3
cvttss2si r8d, xmm4
sub rsp, 0x40
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
movss xmm0, dword [rsi + 0x10]
addss xmm0, xmm15
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm14
movaps xmm2, xmm10
cvttss2si eax, xmm1
addss xmm2, xmm0
subss xmm1, xmm6
addss xmm7, xmm2
movss dword [rsi + 0x10], xmm7
cvttss2si ecx, xmm1
addss xmm1, xmm14
movss dword [rsi + 0x14], xmm1
cvttss2si edx, xmm2
cvttss2si ebx, xmm0
cvttss2si r9d, xmm1
cvttss2si r8d, xmm7
sub rsp, 0x40
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
xor r13d, r13d
cmp dword [0x1406e806c], 0xa
jl 0x14004999a
mov eax, dword [0x1406e8068]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14004999a
movss xmm7, dword [r15 + 0x18]
movss xmm0, dword [rsi + 0x10]
addss xmm0, xmm12
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm14
movaps xmm2, xmm13
addss xmm2, xmm0
movaps xmm3, xmm6
addss xmm3, xmm1
movaps xmm4, xmm8
addss xmm4, xmm2
movss dword [rsi + 0x10], xmm4
cvttss2si eax, xmm3
addss xmm3, xmm14
movss dword [rsi + 0x14], xmm3
cvttss2si ecx, xmm2
cvttss2si edx, xmm1
cvttss2si ebx, xmm0
cvttss2si r9d, xmm3
cvttss2si r8d, xmm4
sub rsp, 0x40
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
movss xmm0, dword [rsi + 0x10]
addss xmm0, xmm15
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm14
movaps xmm2, xmm10
cvttss2si eax, xmm1
addss xmm2, xmm0
subss xmm1, xmm6
addss xmm7, xmm2
movss dword [rsi + 0x10], xmm7
cvttss2si ecx, xmm1
addss xmm1, xmm14
movss dword [rsi + 0x14], xmm1
cvttss2si edx, xmm2
cvttss2si ebx, xmm0
cvttss2si r9d, xmm1
cvttss2si r8d, xmm7
sub rsp, 0x40
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
jmp 0x1400494e0
cmp al, 0x24
je 0x1400498a6
cmp al, 0x25
jne 0x14004a495
cmp ecx, 0xb
jl 0x14004a495
movsd xmm0, qword [r15]
movsd xmm2, qword [r15 + 8]
movsd xmm1, qword [r15 + 0x10]
movsd xmm13, qword [r15 + 0x18]
movsd xmm12, qword [r15 + 0x20]
movss xmm3, dword [r15 + 0x28]
movaps xmm4, xmm0
addps xmm4, xmm2
addps xmm4, xmm1
addps xmm4, xmm13
addps xmm4, xmm12
movaps xmm5, xmm4
andps xmm5, xmm8
pshufd xmm6, xmm5, 0x55
ucomiss xmm5, xmm6
cmpltss xmm6, xmm5
ja 0x140049a3c
movaps xmm7, xmm3
jmp 0x140049a47
cmp eax, edi
mov ecx, edi
cmovl ecx, eax
test edi, edi
cmovs ecx, eax
mov r14, qword [rbp + 8]
mov dword [r14 + 8], ecx
sub rsp, 0x20
mov rcx, r14
call fcn.140047fb0
add rsp, 0x20
cwde
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
cmp r13d, 0x2f
jle 0x140049bee
jmp 0x14004a492
mov r14, qword [rbp + 8]
mov edi, dword [rbp - 0x1c]
cmp ecx, 0xa
jl 0x1400497a5
lea ecx, [rdx - 1]
imul ecx, edx
and ecx, 1
jne 0x14004a490
mov ecx, edi
add ecx, 7
mov dword [rbp - 0x1c], edi
cmovns ecx, edi
add ecx, 7
sar ecx, 3
add ecx, r8d
cmp eax, ecx
mov edx, ecx
cmovl edx, eax
test ecx, ecx
cmovs edx, eax
mov dword [r14 + 8], edx
mov dword [rbp - 8], 0
xor r13d, r13d
jmp 0x140048a3d
cmp ecx, 0xd
jl 0x14004a495
movss xmm10, dword [r15 + 0x20]
movss xmm13, dword [r15 + 0x1c]
movss xmm15, dword [r15 + 0x18]
movss xmm0, dword [r15]
movss xmm1, dword [r15 + 4]
movss xmm12, dword [r15 + 0x24]
movss xmm6, dword [r15 + 0x28]
movss xmm7, dword [r15 + 0x2c]
addss xmm0, dword [rsi + 0x10]
addss xmm1, dword [rsi + 0x14]
cvttss2si eax, xmm0
addss xmm0, dword [r15 + 8]
cvttss2si ecx, xmm1
addss xmm1, dword [r15 + 0xc]
cvttss2si edx, xmm0
addss xmm0, dword [r15 + 0x10]
cvttss2si ebx, xmm1
addss xmm1, dword [r15 + 0x14]
movss dword [rsi + 0x10], xmm0
movss dword [rsi + 0x14], xmm1
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
addss xmm15, dword [rsi + 0x10]
addss xmm13, dword [rsi + 0x14]
addss xmm10, xmm15
addss xmm12, xmm13
addss xmm6, xmm10
movss dword [rsi + 0x10], xmm6
addss xmm7, xmm12
mov r14, qword [rbp + 8]
jmp 0x140049b06
cmp ecx, 9
jl 0x14004a495
movss xmm0, dword [r15]
movaps xmm11, xmm9
movaps xmm9, xmm8
movss xmm8, dword [r15 + 4]
movss xmm7, dword [r15 + 0xc]
movss xmm15, dword [r15 + 0x14]
movss xmm10, dword [r15 + 0x18]
movss xmm12, dword [r15 + 0x1c]
movss xmm6, dword [r15 + 0x20]
addss xmm0, dword [rsi + 0x10]
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm8
cvttss2si eax, xmm0
addss xmm0, dword [r15 + 8]
movaps xmm2, xmm7
cvttss2si ecx, xmm0
addss xmm0, dword [r15 + 0x10]
addss xmm2, xmm1
movss dword [rsi + 0x10], xmm0
cvttss2si edx, xmm2
addss xmm2, xmm14
movss dword [rsi + 0x14], xmm2
cvttss2si ebx, xmm1
cvttss2si r9d, xmm2
cvttss2si r8d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
addss xmm8, xmm7
addss xmm15, dword [rsi + 0x10]
addss xmm8, xmm12
movss xmm13, dword [rsi + 0x14]
addss xmm13, xmm14
addss xmm10, xmm15
addss xmm12, xmm13
addss xmm6, xmm10
movss dword [rsi + 0x10], xmm6
movaps xmm7, xmm12
subss xmm7, xmm8
movaps xmm8, xmm9
movaps xmm9, xmm11
xorps xmm11, xmm11
mov r14, qword [rbp + 8]
jmp 0x140049b06
movaps xmm8, xmm9
movaps xmm9, xmm11
xorps xmm11, xmm11
jmp 0x140048a3d
mov eax, dword [rcx + 0x9c]
test eax, eax
je 0x140049314
mov r11, qword [rcx + 0x90]
mov ecx, eax
sar ecx, 0x1f
and ecx, eax
test eax, eax
jle 0x140049db5
movsxd rdx, ecx
mov bl, byte [r11 + rdx]
add rdx, 1
cmp bl, 3
je 0x140049dde
mov r8d, 0xffffffff
test bl, bl
je 0x140049db7
jmp 0x140049e9b
mov ecx, dword [0x1406e8028]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x1406e802c], 0xa
setl dl
or dl, cl
cmp r8d, eax
jge 0x140049b53
add edi, 2
mov r14, qword [rbp + 8]
mov dword [r14 + 8], edi
mov cl, byte [r9 + r8]
mov r8d, edi
jmp 0x140049b59
unpcklps xmm0, xmm3
jmp 0x140048b0f
movaps xmm7, xmm4
shufps xmm7, xmm4, 0x55
xorps xmm7, xmm9
mov r14, qword [rbp + 8]
xorps xmm4, xmm9
andps xmm3, xmm6
andnps xmm6, xmm4
orps xmm6, xmm3
movss xmm3, dword [rsi + 0x10]
addss xmm3, xmm0
shufps xmm0, xmm0, 0x55
addss xmm0, dword [rsi + 0x14]
movaps xmm4, xmm2
addss xmm4, xmm3
shufps xmm2, xmm2, 0x55
addss xmm2, xmm0
movaps xmm5, xmm1
addss xmm5, xmm4
movss dword [rsi + 0x10], xmm5
shufps xmm1, xmm1, 0x55
addss xmm1, xmm2
movss dword [rsi + 0x14], xmm1
cvttss2si eax, xmm2
cvttss2si ecx, xmm4
cvttss2si edx, xmm0
cvttss2si ebx, xmm3
cvttss2si r9d, xmm1
cvttss2si r8d, xmm5
sub rsp, 0x40
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
movss xmm15, dword [rsi + 0x10]
addss xmm15, xmm13
shufps xmm13, xmm13, 0x55
addss xmm13, dword [rsi + 0x14]
movaps xmm10, xmm12
addss xmm10, xmm15
shufps xmm12, xmm12, 0x55
addss xmm12, xmm13
addss xmm6, xmm10
movss dword [rsi + 0x10], xmm6
addss xmm7, xmm12
movss dword [rsi + 0x14], xmm7
cvttss2si eax, xmm12
cvttss2si ecx, xmm10
cvttss2si edx, xmm13
cvttss2si ebx, xmm15
cvttss2si r9d, xmm7
cvttss2si r8d, xmm6
sub rsp, 0x40
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
xor r13d, r13d
jmp 0x140048a3d
xor ecx, ecx
mov r14, qword [rbp + 8]
test dl, dl
jne 0x140049b68
xor edi, edi
nop
test dil, 1
mov edi, edx
je 0x140049b60
cmp r8d, eax
jge 0x140049b81
movsxd rdx, r8d
lea ebx, [r8 + 1]
mov dword [r14 + 8], ebx
mov dl, byte [r9 + rdx]
mov r8d, ebx
jmp 0x140049b83
xor edx, edx
movzx ebx, cl
movzx ecx, dl
shl ebx, 0x10
shl ecx, 8
or ecx, ebx
cmp r8d, eax
jge 0x140049baa
movsxd rdx, r8d
lea ebx, [r8 + 1]
mov dword [r14 + 8], ebx
mov dl, byte [r9 + rdx]
mov r8d, ebx
jmp 0x140049bac
xor edx, edx
mov r13, qword [rbp]
movzx edx, dl
or ecx, edx
shl ecx, 8
cmp r8d, eax
jge 0x140049bce
lea eax, [r8 + 1]
mov dword [r14 + 8], eax
movsxd rax, r8d
mov al, byte [r9 + rax]
jmp 0x140049bd0
xor eax, eax
movzx eax, al
or ecx, eax
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
mulss xmm0, dword [0x1402586e4]
cmp r13d, 0x2f
jg 0x14004a492
movsxd rax, r13d
movss dword [r15 + rax*4], xmm0
add r13d, 1
jmp 0x140048a3d
unpcklps xmm0, xmm3
jmp 0x140049233
movss xmm4, dword [r15 + rcx*4]
addss xmm0, dword [rsi + 0x10]
addss xmm4, dword [rsi + 0x14]
movss xmm1, dword [r15 + rdx*4 + 4]
addss xmm1, xmm0
movss xmm2, dword [r15 + rbx*4]
addss xmm2, xmm4
movaps xmm3, xmm1
addss xmm3, xmm14
movss xmm5, dword [r15 + rax*4]
addss xmm5, xmm2
movss dword [rsi + 0x10], xmm3
movss dword [rsi + 0x14], xmm5
cvttss2si eax, xmm2
cvttss2si ecx, xmm1
cvttss2si edx, xmm4
cvttss2si ebx, xmm0
cvttss2si r9d, xmm5
cvttss2si r8d, xmm3
sub rsp, 0x40
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
cmp edi, 1
mov eax, 8
sbb eax, 0
cmp eax, dword [rbp]
jge 0x140048a36
or edi, 4
jmp 0x140049d55
lea ecx, [rdi + 2]
movsxd rcx, ecx
cdqe
lea edx, [rdi + 1]
movsxd rdx, edx
movsxd rbx, edi
movss xmm1, dword [r15 + rbx*4]
movss xmm0, dword [rsi + 0x10]
addss xmm0, xmm14
addss xmm1, dword [rsi + 0x14]
movss xmm2, dword [r15 + rdx*4]
addss xmm2, xmm0
movss xmm3, dword [r15 + rcx*4]
addss xmm3, xmm1
movaps xmm4, xmm2
addss xmm4, xmm14
movss xmm5, dword [r15 + rax*4]
addss xmm5, xmm3
movss dword [rsi + 0x10], xmm4
movss dword [rsi + 0x14], xmm5
cvttss2si eax, xmm3
cvttss2si ecx, xmm2
cvttss2si edx, xmm1
cvttss2si ebx, xmm0
cvttss2si r9d, xmm5
cvttss2si r8d, xmm4
sub rsp, 0x40
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
lea ecx, [rdi + 4]
add edi, 7
mov eax, edi
cmp edi, dword [rbp]
mov edi, ecx
jge 0x140048a36
cmp r14b, 0x1b
jne 0x140049cb0
lea ecx, [rdi + 1]
lea edx, [rdi + 2]
movsxd rdx, edx
cdqe
movsxd rcx, ecx
movsxd rbx, edi
movss xmm0, dword [r15 + rbx*4]
addss xmm0, dword [rsi + 0x10]
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm14
movss xmm2, dword [r15 + rcx*4]
addss xmm2, xmm0
movss xmm3, dword [r15 + rdx*4]
addss xmm3, xmm1
movss xmm4, dword [r15 + rax*4]
addss xmm4, xmm2
movss dword [rsi + 0x10], xmm4
movaps xmm5, xmm3
addss xmm5, xmm14
jmp 0x140049d01
mov edx, ecx
add edx, dword [rbp - 0x20]
cmp eax, edx
mov ecx, edx
cmovl ecx, eax
test edx, edx
cmovs ecx, eax
xor r8d, r8d
cmp ecx, eax
jge 0x140049e9b
movsxd rax, ecx
movzx r8d, byte [r11 + rax]
jmp 0x140049e9b
xor ebx, ebx
mov r10d, 0
cmp edx, eax
jge 0x140049df8
add ecx, 2
movzx r10d, byte [r11 + rdx]
shl r10d, 8
mov edx, ecx
cmp edx, eax
jge 0x140049e07
movsxd rcx, edx
add edx, 1
movzx ebx, byte [r11 + rcx]
xor edi, edi
cmp edx, eax
jge 0x140049e1e
movsxd rcx, edx
add edx, 1
movzx r9d, byte [r11 + rcx]
shl r9d, 8
jmp 0x140049e21
xor r9d, r9d
or ebx, r10d
cmp edx, eax
jge 0x140049e33
movsxd rcx, edx
add edx, 1
movzx edi, byte [r11 + rcx]
test ebx, ebx
jle 0x140049e95
or edi, r9d
jmp 0x140049e41
add ebx, 0xffffffff
je 0x140049e95
mov r9d, edi
xor r8d, r8d
cmp edx, eax
jge 0x140049e56
movsxd rcx, edx
add edx, 1
movzx r8d, byte [r11 + rcx]
cmp edx, eax
jge 0x140049e67
movsxd rcx, edx
add edx, 1
movzx edi, byte [r11 + rcx]
jmp 0x140049e69
xor edi, edi
movzx edi, dil
shl edi, 8
cmp edx, eax
jge 0x140049e81
movsxd rcx, edx
add edx, 1
movzx ecx, byte [r11 + rcx]
jmp 0x140049e83
xor ecx, ecx
movzx ecx, cl
or edi, ecx
cmp r9d, dword [rbp - 0x20]
jg 0x140049e3c
cmp edi, dword [rbp - 0x20]
jle 0x140049e3c
jmp 0x140049e9b
mov r8d, 0xffffffff
mov byte [rbp - 1], r14b
lea rdi, [rbp + 0x20]
mov rax, qword [rbp - 0x40]
mov rbx, qword [rbp - 0x28]
lea r12, [rbp + 0x30]
lea r14, [rbp + 0x10]
mov dword [rbp - 0xc], r8d
nop word [rax + rax]
mov r13, rax
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x20], xmm0
sub rsp, 0x20
mov rcx, r12
mov rdx, rdi
call fcn.140047800
add rsp, 0x20
mov rdi, qword [rbp - 0x68]
movups xmm0, xmmword [rdi]
movaps xmmword [rbp + 0x10], xmm0
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8, r12
call fcn.140047dd0
add rsp, 0x20
cmp dword [0x1406e8070], 0xa
jl 0x140049f73
mov eax, dword [0x1406e8074]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140049f73
mov rbx, rdi
movups xmm0, xmmword [r13]
movaps xmmword [rbp + 0x20], xmm0
sub rsp, 0x20
lea r12, [rbp + 0x30]
mov rcx, r12
lea rdi, [rbp + 0x20]
mov rdx, rdi
mov r13d, dword [rbp - 0xc]
mov r8d, r13d
call fcn.140047800
add rsp, 0x20
movups xmm0, xmmword [rbx]
movaps xmmword [rbp + 0x10], xmm0
sub rsp, 0x20
mov rbx, qword [rbp - 0x28]
mov rcx, rbx
mov rdx, r14
mov r8, r12
call fcn.140047dd0
mov rax, qword [rbp - 0x40]
mov r8d, r13d
add rsp, 0x20
jmp 0x140049ec0
mov rax, qword [rbp - 0x28]
movups xmm0, xmmword [rax]
mov rax, qword [rbp - 0x30]
movups xmmword [rax], xmm0
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp]
mov r14b, byte [rbp - 1]
mov r11d, 1
xor r13d, r13d
test edx, edx
jle 0x14004a495
cmp eax, 9
jg 0x14004a495
add edx, 0xffffffff
mov r13, rdx
cvttss2si r9d, dword [r15 + rdx*4]
movsxd rcx, dword [rbp - 0x18]
shl rcx, 4
mov rax, qword [rbp + 8]
movups xmm0, xmmword [rax]
mov rax, qword [rbp - 0x50]
movups xmmword [rax + rcx], xmm0
cmp r14b, 0xa
mov rcx, qword [rbp - 0x60]
cmove rcx, qword [rbp - 0x30]
movups xmm0, xmmword [rcx]
mov rdi, qword [rbp - 0x38]
movups xmmword [rdi], xmm0
mov ebx, dword [rdi + 0xc]
mov eax, ebx
sar eax, 0x1f
and eax, ebx
mov dword [rdi + 8], eax
xor ecx, ecx
test ebx, ebx
jle 0x14004a00c
mov r8, qword [rdi]
movsxd r10, eax
lea edx, [rax + 1]
mov dword [rdi + 8], edx
movzx edi, byte [r8 + r10]
shl edi, 8
mov eax, edx
jmp 0x14004a00e
xor edi, edi
mov r14, qword [rbp + 8]
lea rdx, [rbp + 0x30]
cmp eax, ebx
jge 0x14004a02f
mov rbx, qword [rbp - 0x38]
mov r8, qword [rbx]
lea ecx, [rax + 1]
mov dword [rbx + 8], ecx
movsxd rcx, eax
movzx ecx, byte [r8 + rcx]
or ecx, edi
xor r8d, r8d
cmp ecx, 0x4d8
setge r8b
shl r8d, 0xa
or r8d, 0x6b
cmp ecx, 0x846c
mov eax, 0x8000
cmovge r8d, eax
add r8d, r9d
js 0x14004a086
cmp r8d, ecx
jge 0x14004a086
mov rax, qword [rbp - 0x38]
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x30], xmm0
sub rsp, 0x20
mov rdi, qword [rbp - 0x58]
mov rcx, rdi
mov ebx, r11d
call fcn.140047800
mov r11d, ebx
add rsp, 0x20
jmp 0x14004a08e
mov rdi, qword [rbp - 0x58]
movups xmmword [rdi], xmm11
movups xmm0, xmmword [rdi]
movups xmmword [r14], xmm0
cmp dword [r14 + 0xc], 0
je 0x14004a492
mov rax, qword [rbp - 0x18]
add eax, 1
mov qword [rbp - 0x18], rax
mov dword [r14 + 8], 0
mov dword [rbp - 0xc], r11d
jmp 0x140048a3d
movss xmm0, dword [rsi + 0x10]
addss xmm0, xmm7
movss dword [rsi + 0x10], xmm0
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm6
movss dword [rsi + 0x14], xmm1
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
xor r13d, r13d
cmp dword [0x1406e806c], 0xa
jl 0x140048a3d
mov eax, dword [0x1406e8068]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140048a3d
movss xmm0, dword [rsi + 0x10]
addss xmm0, xmm7
movss dword [rsi + 0x10], xmm0
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm6
movss dword [rsi + 0x14], xmm1
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
jmp 0x14004a0bc
lea eax, [r13 + 3]
cmp eax, ecx
jge 0x140048a36
sub ecx, r13d
lea edi, [r13 + 4]
xorps xmm0, xmm0
cmp ecx, 5
jne 0x14004a1ba
movsxd rcx, edi
movss xmm0, dword [r15 + rcx*4]
lea ecx, [r13 + 2]
movsxd rcx, ecx
lea edx, [r13 + 1]
movsxd rdx, edx
movsxd rbx, r13d
movss xmm1, dword [r15 + rbx*4]
movss xmm2, dword [rsi + 0x10]
addss xmm2, xmm14
addss xmm1, dword [rsi + 0x14]
cvttss2si ebx, xmm2
addss xmm2, dword [r15 + rdx*4]
cvttss2si edx, xmm1
addss xmm1, dword [r15 + rcx*4]
cvttss2si ecx, xmm2
cdqe
addss xmm2, dword [r15 + rax*4]
movss dword [rsi + 0x10], xmm2
addss xmm0, xmm1
movss dword [rsi + 0x14], xmm0
cvttss2si eax, xmm1
cvttss2si r9d, xmm0
cvttss2si r8d, xmm2
sub rsp, 0x40
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ebx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
mov edx, dword [0x1406e8068]
mov ecx, dword [0x1406e806c]
lea eax, [rdx - 1]
imul eax, edx
mov r13, qword [rbp]
test al, 1
sete dl
cmp ecx, 0xa
setl al
or al, dl
nop word cs:[rax + rax]
nop dword [rax + rax]
test al, al
je 0x14004a270
lea eax, [rdi + 3]
cmp eax, r13d
mov r14, qword [rbp + 8]
jge 0x1400497d0
mov ecx, r13d
sub ecx, edi
lea r13d, [rdi + 4]
xorps xmm0, xmm0
cmp ecx, 5
jne 0x14004a29e
movsxd rcx, r13d
movss xmm0, dword [r15 + rcx*4]
cdqe
movss xmm1, dword [r15 + rax*4]
lea eax, [rdi + 2]
cdqe
lea ecx, [rdi + 1]
movsxd rcx, ecx
movsxd rdx, edi
movss xmm2, dword [r15 + rdx*4]
addss xmm2, dword [rsi + 0x10]
movss xmm3, dword [rsi + 0x14]
addss xmm3, xmm14
cvttss2si edx, xmm2
addss xmm2, dword [r15 + rcx*4]
cvttss2si ecx, xmm3
addss xmm3, dword [r15 + rax*4]
addss xmm0, xmm2
movss dword [rsi + 0x10], xmm0
addss xmm1, xmm3
movss dword [rsi + 0x14], xmm1
cvttss2si eax, xmm3
cvttss2si ebx, xmm2
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], edx
mov rcx, rsi
mov dl, 4
call fcn.14004a570
add rsp, 0x40
mov rcx, qword [rbp]
jmp 0x14004a196
add r13d, 1
cmp r13d, ebx
jge 0x140048a36
movsxd rax, r13d
movss xmm0, dword [r15 + rax*4]
addss xmm0, dword [rsi + 0x10]
movss dword [rsi + 0x10], xmm0
movss xmm1, dword [rsi + 0x14]
addss xmm1, xmm14
movss dword [rsi + 0x14], xmm1
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
add r13d, 1
cmp r13d, ebx
jge 0x140048a36
movsxd rdi, r13d
nop word [rax + rax]
movss xmm0, dword [r15 + rdi*4]
movss xmm1, dword [rsi + 0x10]
addss xmm1, xmm14
movss dword [rsi + 0x10], xmm1
addss xmm0, dword [rsi + 0x14]
movss dword [rsi + 0x14], xmm0
cvttss2si r9d, xmm0
cvttss2si r8d, xmm1
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
cmp dword [0x1406e806c], 0xa
jl 0x14004a32c
mov eax, dword [0x1406e8068]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14004a32c
movss xmm0, dword [r15 + rdi*4]
movss xmm1, dword [rsi + 0x10]
addss xmm1, xmm14
movss dword [rsi + 0x10], xmm1
addss xmm0, dword [rsi + 0x14]
movss dword [rsi + 0x14], xmm0
cvttss2si r9d, xmm0
cvttss2si r8d, xmm1
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
jmp 0x14004a3b0
jmp 0x14004a490
xor r13d, r13d
mov rcx, qword [rbp + 0x48]
xor rcx, rbp
sub rsp, 0x20
call fcn.1401fc630
add rsp, 0x20
mov eax, r13d
movaps xmm6, xmmword [rbp + 0x50]
movaps xmm7, xmmword [rbp + 0x60]
movaps xmm8, xmmword [rbp + 0x70]
movaps xmm9, xmmword [rbp + 0x80]
movaps xmm10, xmmword [rbp + 0x90]
movaps xmm11, xmmword [rbp + 0xa0]
movaps xmm12, xmmword [rbp + 0xb0]
movaps xmm13, xmmword [rbp + 0xc0]
movaps xmm14, xmmword [rbp + 0xd0]
movaps xmm15, xmmword [rbp + 0xe0]
lea rsp, [rbp + 0xf8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor r13d, r13d
cmp r14b, 0xe
jne 0x14004a495
movss xmm0, dword [rsi + 8]
movss xmm1, dword [rsi + 0xc]
ucomiss xmm0, dword [rsi + 0x10]
jne 0x14004a528
jp 0x14004a528
ucomiss xmm1, dword [rsi + 0x14]
jne 0x14004a528
jnp 0x14004a564
cvttss2si r9d, xmm1
cvttss2si r8d, xmm0
sub rsp, 0x40
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov dl, 2
call fcn.14004a570
add rsp, 0x40
mov r13d, 1
jmp 0x14004a495