Function at 0x140010e10
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r14
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rdx, qword [rcx + 0x18]
lea r14, [rcx + 0x10]
mov r12, rcx
movaps xmmword [rsp + 0x90], xmm12
mov rcx, qword [r14]
movaps xmm12, xmm1
cmp rcx, rdx
je 0x140010e4e
call fcn.1400133f0
mov rax, qword [r14]
mov qword [r14 + 8], rax
comisd xmm12, xmmword [0x140157960]
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x118], rdi
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0xe0], xmm7
movaps xmmword [rsp + 0xd0], xmm8
movaps xmmword [rsp + 0xc0], xmm9
movaps xmmword [rsp + 0xb0], xmm10
movaps xmmword [rsp + 0xa0], xmm11
movaps xmmword [rsp + 0x80], xmm13
movaps xmmword [rsp + 0x70], xmm14
movsd qword [r12 + 0x70], xmm12
jbe 0x140010fab
movsd xmm0, qword [0x1401576a0]
comisd xmm0, xmm12
jbe 0x140010fab
mov rax, qword [r12 + 0xd8]
sub rax, qword [r12 + 0xd0]
mov rcx, qword [r14 + 0x10]
sub rcx, qword [r14]
sar rax, 3
movsxd r8, eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x140010f26
movabs rax, 0xaaaaaaaaaaaaaaa
cmp r8, rax
ja 0x140011ce7
mov rdx, r8
mov rcx, r14
call fcn.140012db0
mov rcx, qword [r12 + 0xd0]
xor edi, edi
mov rax, qword [r12 + 0xd8]
sub rax, rcx
sar rax, 3
test eax, eax
jle 0x140011c7e
mov ebx, edi
nop dword [rax]
mov rax, qword [rbx + rcx]
cmp dword [rax + 0x4c], 0
jne 0x140010f85
lea r8, [rax + 8]
mov rax, qword [r14 + 8]
cmp rax, qword [r14 + 0x10]
je 0x140010f7a
mov rdx, r8
mov rcx, rax
call fcn.140014930
add qword [r14 + 8], 0x18
jmp 0x140010f85
mov rdx, rax
mov rcx, r14
call fcn.1400141f0
mov rcx, qword [r12 + 0xd0]
inc edi
mov rax, qword [r12 + 0xd8]
add rbx, 8
sub rax, rcx
sar rax, 3
cmp edi, eax
jl 0x140010f50
jmp 0x140011c7e
movsd xmm1, qword [r12]
movsd xmm0, qword [0x140157798]
comisd xmm1, xmm0
movsd xmm8, qword [0x140157770]
jbe 0x140010fd2
mulsd xmm1, xmm1
divsd xmm0, xmm1
jmp 0x140010fd6
movaps xmm0, xmm8
movsd qword [r12 + 0x90], xmm0
xorps xmm10, xmm10
movsd xmm2, qword [r12 + 8]
comisd xmm10, xmm2
movsd xmm3, qword [0x140159410]
jb 0x140011004
movsd xmm1, qword [0x140157760]
jmp 0x140011017
movaps xmm1, xmm12
andps xmm1, xmm3
mulsd xmm1, qword [0x140157760]
minsd xmm1, xmm2
movsd xmm13, qword [0x140157778]
movaps xmm0, xmm12
movsd xmm6, qword [0x1401577a8]
andps xmm0, xmm3
divsd xmm1, xmm0
movaps xmm14, xmm0
movaps xmm0, xmm13
subsd xmm0, xmm1
mulsd xmm14, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_acos
divsd xmm6, xmm0
minsd xmm14, xmm6
movsd xmm6, qword [0x1401577c8]
divsd xmm6, xmm14
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movsd qword [r12 + 0x80], xmm0
movaps xmm9, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
comisd xmm10, xmm12
movaps xmm11, xmmword [0x140159420]
movaps xmm1, xmm14
divsd xmm1, qword [0x1401577c8]
movsd qword [r12 + 0x88], xmm0
movsd qword [r12 + 0x98], xmm1
jbe 0x1400110ba
xorps xmm9, xmm11
movsd qword [r12 + 0x80], xmm9
mov rax, qword [r12 + 0xd8]
sub rax, qword [r12 + 0xd0]
mov rcx, qword [r14 + 0x10]
sub rcx, qword [r14]
sar rax, 3
add eax, eax
movsxd r8, eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x140011118
movabs rax, 0xaaaaaaaaaaaaaaa
cmp r8, rax
ja 0x140011ce7
mov rdx, r8
mov rcx, r14
call fcn.140012db0
mov rcx, qword [r12 + 0xd0]
mov rax, qword [r12 + 0xd8]
sub rax, rcx
mov qword [rsp + 0x108], r15
xor r15d, r15d
sar rax, 3
mov dword [rbp + 0x50], r15d
mov r10d, r15d
test eax, eax
jle 0x140011c76
movsd xmm9, qword [0x140157980]
lea r9, [r12 + 0x28]
mov edx, r15d
mov qword [rsp + 0x120], rsi
mov qword [rbp + 0x68], rdx
mov qword [rsp + 0x110], r13
mov r13, qword [rcx + rdx*8]
movabs r11, 0xfffffffffffffff
lea r8, [r13 + 8]
cmp r9, r8
je 0x1400111b2
mov rdx, qword [r8]
mov rcx, r9
mov r8, qword [r8 + 8]
sub r8, rdx
sar r8, 4
call fcn.140013480
mov rdx, qword [rbp + 0x68]
lea r9, [r12 + 0x28]
mov r10d, dword [rbp + 0x50]
movabs r11, 0xfffffffffffffff
mov r15, qword [r9 + 8]
sub r15, qword [r9]
sar r15, 4
test r15d, r15d
je 0x140011c38
comisd xmm10, xmm12
jb 0x1400111e2
cmp r15d, 3
jl 0x140011c38
cmp dword [r13 + 0x4c], 0
jne 0x140011c38
mov rax, qword [r12 + 0x40]
lea rbx, [r12 + 0x40]
cmp rax, qword [rbx + 8]
je 0x1400111f6
mov qword [rbx + 8], rax
cmp r15d, 1
jne 0x1400113ec
cmp dword [r13 + 0x48], r15d
jne 0x140011301
comisd xmm14, xmm13
mov edi, r15d
movaps xmm7, xmm13
movaps xmm6, xmm10
jb 0x1400113c9
mov rax, qword [r9]
xorps xmm1, xmm1
movaps xmm0, xmm6
mulsd xmm0, xmm12
cvtsi2sd xmm1, qword [rax + 8]
addsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x140011246
subsd xmm1, xmm8
jmp 0x14001124b
addsd xmm1, xmm8
cvttsd2si rcx, xmm1
movaps xmm1, xmm7
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax]
mulsd xmm1, xmm12
addsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x140011272
subsd xmm1, xmm8
jmp 0x140011277
addsd xmm1, xmm8
mov rdx, qword [rbx + 8]
cvttsd2si rax, xmm1
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rax
cmp rdx, qword [rbx + 0x10]
je 0x14001129f
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdx], xmm0
add qword [rbx + 8], 0x10
jmp 0x1400112b1
lea r8, [rsp + 0x38]
mov rcx, rbx
call fcn.140014430
lea r9, [r12 + 0x28]
movsd xmm3, qword [r12 + 0x80]
movaps xmm2, xmm7
movsd xmm4, qword [r12 + 0x88]
movaps xmm0, xmm3
mulsd xmm0, xmm6
inc rdi
mulsd xmm7, xmm4
mulsd xmm4, xmm6
mulsd xmm3, xmm2
subsd xmm7, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdi
movaps xmm6, xmm3
comisd xmm14, xmm0
addsd xmm6, xmm4
jae 0x140011220
jmp 0x1400113c9
movaps xmm6, xmm9
movaps xmm7, xmm9
mov edi, 4
nop
mov rax, qword [r9]
xorps xmm1, xmm1
movaps xmm0, xmm7
mulsd xmm0, xmm12
cvtsi2sd xmm1, qword [rax + 8]
addsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x140011336
subsd xmm1, xmm8
jmp 0x14001133b
addsd xmm1, xmm8
cvttsd2si rcx, xmm1
movaps xmm1, xmm6
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax]
mulsd xmm1, xmm12
addsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x140011362
subsd xmm1, xmm8
jmp 0x140011367
addsd xmm1, xmm8
mov rdx, qword [rbx + 8]
cvttsd2si rax, xmm1
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rax
cmp rdx, qword [rbx + 0x10]
je 0x14001138f
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rdx], xmm0
add qword [rbx + 8], 0x10
jmp 0x1400113a1
lea r8, [rsp + 0x48]
mov rcx, rbx
call fcn.140014430
lea r9, [r12 + 0x28]
comisd xmm10, xmm6
jbe 0x1400113ae
movaps xmm6, xmm13
jmp 0x1400113bf
comisd xmm10, xmm7
jbe 0x1400113bb
movaps xmm7, xmm13
jmp 0x1400113bf
movaps xmm6, xmm9
sub rdi, 1
jne 0x140011310
mov rax, qword [r14 + 8]
cmp rax, qword [r14 + 0x10]
je 0x140011c1d
mov rdx, rbx
mov rcx, rax
call fcn.140014930
add qword [r14 + 8], 0x18
jmp 0x140011c2b
mov rax, qword [r12 + 0x58]
cmp rax, qword [r12 + 0x60]
je 0x1400113fd
mov qword [r12 + 0x60], rax
mov rax, qword [r12 + 0x68]
sub rax, qword [r12 + 0x58]
movsxd rcx, r15d
sar rax, 4
mov qword [rsp + 0x20], rcx
cmp rcx, rax
jbe 0x140011433
cmp rcx, r11
ja 0x140011ced
mov rdx, rcx
lea rcx, [r12 + 0x58]
call fcn.140012cb0
lea r9, [r12 + 0x28]
lea r14d, [r15 - 1]
mov dword [rbp + 0x58], r14d
movsxd rsi, r14d
test r14d, r14d
jle 0x140011535
xor r14d, r14d
mov qword [rbp + 0x60], rsi
mov r10, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r9]
mov r8, qword [r14 + rax + 0x10]
lea rcx, [r14 + rax]
mov r9, qword [r14 + rax]
lea rdx, [r14 + rax]
cmp r8, r9
jne 0x140011488
mov rax, qword [rdx + 8]
cmp qword [rcx + 0x18], rax
jne 0x140011488
xorps xmm0, xmm0
jmp 0x1400114eb
mov rax, qword [rcx + 0x18]
sub r8, r9
sub rax, qword [rdx + 8]
xorps xmm6, xmm6
xorps xmm7, xmm7
cvtsi2sd xmm6, r8
cvtsi2sd xmm7, rax
movaps xmm0, xmm6
mulsd xmm0, xmm6
movaps xmm1, xmm7
mulsd xmm1, xmm7
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x1400114c4
sqrtpd xmm0, xmm1
jmp 0x1400114d0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
mov r10, qword [rbp + 0x60]
movaps xmm1, xmm13
divsd xmm1, xmm0
movaps xmm0, xmm1
mulsd xmm1, xmm6
mulsd xmm0, xmm7
xorps xmm1, xmm11
unpcklpd xmm0, xmm1
mov rdx, qword [r12 + 0x60]
movups xmmword [rsp + 0x58], xmm0
cmp rdx, qword [r12 + 0x68]
je 0x140011507
movups xmmword [rdx], xmm0
add qword [r12 + 0x60], 0x10
jmp 0x14001151a
lea r8, [rsp + 0x58]
lea rcx, [r12 + 0x58]
call fcn.140013a90
mov r10, qword [rbp + 0x60]
add r14, 0x10
lea r9, [r12 + 0x28]
sub r10, 1
mov qword [rbp + 0x60], r10
jne 0x140011460
mov r14d, dword [rbp + 0x58]
cmp dword [r13 + 0x4c], 1
jbe 0x140011574
mov rcx, qword [rsp + 0x20]
mov rax, qword [r12 + 0x58]
add rcx, 0xfffffffffffffffe
mov rdx, qword [r12 + 0x60]
add rcx, rcx
movups xmm0, xmmword [rax + rcx*8]
movups xmmword [rsp + 0x58], xmm0
cmp rdx, qword [r12 + 0x68]
je 0x140011619
movups xmmword [rdx], xmm0
add qword [r12 + 0x60], 0x10
jmp 0x140011628
mov rcx, qword [r12 + 0x28]
mov rax, rsi
add rax, rax
mov r8, qword [rcx]
mov r9, qword [rcx + rax*8]
lea rdx, [rcx + rax*8]
cmp r8, r9
jne 0x14001159e
mov rax, qword [rdx + 8]
cmp qword [rcx + 8], rax
jne 0x14001159e
xorps xmm0, xmm0
jmp 0x1400115fd
mov rax, qword [rcx + 8]
sub r8, r9
sub rax, qword [rdx + 8]
xorps xmm6, xmm6
xorps xmm7, xmm7
cvtsi2sd xmm6, r8
cvtsi2sd xmm7, rax
movaps xmm0, xmm6
mulsd xmm0, xmm6
movaps xmm1, xmm7
mulsd xmm1, xmm7
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x1400115da
sqrtpd xmm0, xmm1
jmp 0x1400115e2
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm1, xmm13
divsd xmm1, xmm0
movaps xmm0, xmm1
mulsd xmm1, xmm6
mulsd xmm0, xmm7
xorps xmm1, xmm11
unpcklpd xmm0, xmm1
mov rdx, qword [r12 + 0x60]
movups xmmword [rsp + 0x58], xmm0
cmp rdx, qword [r12 + 0x68]
je 0x140011619
movups xmmword [rdx], xmm0
add qword [r12 + 0x60], 0x10
jmp 0x140011628
lea r8, [rsp + 0x58]
lea rcx, [r12 + 0x58]
call fcn.140013a90
mov eax, dword [r13 + 0x4c]
test eax, eax
jne 0x140011682
xor edi, edi
mov dword [rbp + 0x58], r14d
test r15d, r15d
jle 0x140011659
nop dword [rax + rax]
mov r9d, dword [r13 + 0x48]
lea r8, [rbp + 0x58]
mov edx, edi
mov rcx, r12
call fcn.140011d00
inc edi
cmp edi, r15d
jl 0x140011640
mov rax, qword [r12 + 0x18]
lea r14, [r12 + 0x10]
cmp rax, qword [r14 + 0x10]
je 0x140011c1d
mov rdx, rbx
mov rcx, rax
call fcn.140014930
add qword [r14 + 8], 0x18
jmp 0x140011c2b
cmp eax, 1
jne 0x14001180d
mov dword [rbp + 0x60], r14d
xor r14d, r14d
test r15d, r15d
jle 0x1400116bb
nop word [rax + rax]
mov r9d, dword [r13 + 0x48]
lea r8, [rbp + 0x60]
mov edx, r14d
mov rcx, r12
call fcn.140011d00
inc r14d
cmp r14d, r15d
jl 0x1400116a0
mov rax, qword [r12 + 0x18]
lea r14, [r12 + 0x10]
cmp rax, qword [r14 + 0x10]
je 0x1400116dd
mov rdx, rbx
mov rcx, rax
call fcn.140014930
add qword [r14 + 8], 0x18
jmp 0x1400116eb
mov r8, rbx
mov rdx, rax
mov rcx, r14
call fcn.1400141f0
mov rax, qword [rbx]
cmp rax, qword [rbx + 8]
je 0x1400116f8
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x58]
mov rcx, rsi
shl rcx, 4
movsd xmm3, qword [rax + rcx]
movsd xmm4, qword [rax + rcx + 8]
cmp rsi, 4
jl 0x140011785
lea rdx, [rsi - 4]
shr rdx, 2
inc rdx
lea rax, [rdx*4]
sub rsi, rax
nop dword [rax + rax]
mov rax, qword [r12 + 0x58]
lea rcx, [rcx - 0x40]
movups xmm0, xmmword [rax + rcx + 0x30]
xorps xmm0, xmm11
movups xmmword [rax + rcx + 0x40], xmm0
mov rax, qword [r12 + 0x58]
movups xmm0, xmmword [rcx + rax + 0x20]
xorps xmm0, xmm11
movups xmmword [rcx + rax + 0x30], xmm0
mov rax, qword [r12 + 0x58]
movups xmm0, xmmword [rcx + rax + 0x10]
xorps xmm0, xmm11
movups xmmword [rcx + rax + 0x20], xmm0
mov rax, qword [r12 + 0x58]
movups xmm0, xmmword [rcx + rax]
xorps xmm0, xmm11
movups xmmword [rcx + rax + 0x10], xmm0
sub rdx, 1
jne 0x140011730
test rsi, rsi
jle 0x1400117af
mov rcx, rsi
shl rcx, 4
mov rax, qword [r12 + 0x58]
lea rcx, [rcx - 0x10]
dec rsi
movups xmm0, xmmword [rcx + rax]
xorps xmm0, xmm11
movups xmmword [rcx + rax + 0x10], xmm0
test rsi, rsi
jg 0x140011791
mov rax, qword [r12 + 0x58]
xorps xmm3, xmm11
xorps xmm4, xmm11
movsd qword [rax], xmm3
movsd qword [rax + 8], xmm4
mov edi, dword [rbp + 0x58]
mov dword [rbp + 0x60], 0
test edi, edi
js 0x1400117ea
mov r9d, dword [r13 + 0x48]
lea r8, [rbp + 0x60]
mov edx, edi
mov rcx, r12
call fcn.140011d00
sub edi, 1
jns 0x1400117d3
mov rax, qword [r14 + 8]
cmp rax, qword [r14 + 0x10]
je 0x140011c1d
mov rdx, rbx
mov rcx, rax
call fcn.140014930
add qword [r14 + 8], 0x18
jmp 0x140011c2b
mov ecx, dword [rbp + 0x58]
mov r14d, 1
mov dword [rbp + 0x60], 0
cmp ecx, r14d
jle 0x140011853
mov ebx, ecx
nop dword [rax]
nop dword [rax + rax]
mov r9d, dword [r13 + 0x48]
lea r8, [rbp + 0x60]
mov edx, r14d
mov rcx, r12
call fcn.140011d00
inc r14d
cmp r14d, ebx
jl 0x140011830
mov ecx, dword [rbp + 0x58]
lea rbx, [r12 + 0x40]
mov r14, rsi
shl r14, 4
cmp dword [r13 + 0x4c], 2
jne 0x14001199f
mov rax, qword [r12 + 0x58]
movaps xmm1, xmm12
mov rdx, qword [r12 + 0x28]
xorps xmm0, xmm0
mulsd xmm1, qword [r14 + rax + 8]
cvtsi2sd xmm0, qword [rdx + r14 + 8]
addsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x140011896
subsd xmm1, xmm8
jmp 0x14001189b
addsd xmm1, xmm8
cvttsd2si rcx, xmm1
movaps xmm1, xmm12
xorps xmm0, xmm0
mulsd xmm1, qword [r14 + rax]
cvtsi2sd xmm0, qword [rdx + r14]
addsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x1400118c5
subsd xmm1, xmm8
jmp 0x1400118ca
addsd xmm1, xmm8
mov rdx, qword [rbx + 8]
cvttsd2si rax, xmm1
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
cmp rdx, qword [rbx + 0x10]
je 0x1400118f1
mov qword [rdx], rax
mov qword [rdx + 8], rcx
add qword [rbx + 8], 0x10
jmp 0x1400118fe
lea r8, [rsp + 0x28]
mov rcx, rbx
call fcn.140014430
mov rax, qword [r12 + 0x28]
xorps xmm1, xmm1
mov r8, qword [r12 + 0x58]
movaps xmm0, xmm12
mov rdx, qword [rbx + 8]
cvtsi2sd xmm1, qword [r14 + rax + 8]
mulsd xmm0, qword [r14 + r8 + 8]
subsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x140011933
subsd xmm1, xmm8
jmp 0x140011938
addsd xmm1, xmm8
cvttsd2si rcx, xmm1
xorps xmm1, xmm1
movaps xmm0, xmm12
cvtsi2sd xmm1, qword [r14 + rax]
mulsd xmm0, qword [r14 + r8]
subsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x140011962
subsd xmm1, xmm8
jmp 0x140011967
addsd xmm1, xmm8
cvttsd2si rax, xmm1
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
cmp rdx, qword [rbx + 0x10]
je 0x14001198d
mov qword [rdx], rax
mov qword [rdx + 8], rcx
add qword [rbx + 8], 0x10
xor r15d, r15d
jmp 0x1400119d6
lea r8, [rsp + 0x28]
mov rcx, rbx
call fcn.140014430
xor r15d, r15d
jmp 0x1400119d6
lea r8d, [r15 - 2]
mov edx, ecx
xor r15d, r15d
mov rcx, r12
mov qword [r12 + 0x78], r15
mov rax, qword [r12 + 0x58]
movups xmm0, xmmword [r14 + rax]
xorps xmm0, xmm11
movups xmmword [r14 + rax], xmm0
cmp dword [r13 + 0x4c], 3
jne 0x1400119d1
call fcn.1400120f0
jmp 0x1400119d6
call fcn.140012310
cmp rsi, 4
jl 0x140011a5d
lea rcx, [rsi - 4]
shr rcx, 2
inc rcx
lea rax, [rcx*4]
sub rsi, rax
nop word [rax + rax]
mov rax, qword [r12 + 0x58]
lea r14, [r14 - 0x40]
movups xmm0, xmmword [r14 + rax + 0x30]
xorps xmm0, xmm11
movups xmmword [r14 + rax + 0x40], xmm0
mov rax, qword [r12 + 0x58]
movups xmm0, xmmword [r14 + rax + 0x20]
xorps xmm0, xmm11
movups xmmword [r14 + rax + 0x30], xmm0
mov rax, qword [r12 + 0x58]
movups xmm0, xmmword [r14 + rax + 0x10]
xorps xmm0, xmm11
movups xmmword [r14 + rax + 0x20], xmm0
mov rax, qword [r12 + 0x58]
movups xmm0, xmmword [r14 + rax]
xorps xmm0, xmm11
movups xmmword [r14 + rax + 0x10], xmm0
sub rcx, 1
jne 0x140011a00
test rsi, rsi
jle 0x140011a87
mov rcx, rsi
shl rcx, 4
mov rax, qword [r12 + 0x58]
lea rcx, [rcx - 0x10]
dec rsi
movups xmm0, xmmword [rcx + rax]
xorps xmm0, xmm11
movups xmmword [rcx + rax + 0x10], xmm0
test rsi, rsi
jg 0x140011a69
mov rax, qword [r12 + 0x58]
movups xmm0, xmmword [rax + 0x10]
xorps xmm0, xmm11
movups xmmword [rax], xmm0
mov esi, dword [rbp + 0x58]
mov dword [rbp + 0x60], esi
dec esi
test esi, esi
jle 0x140011abb
mov r9d, dword [r13 + 0x48]
lea r8, [rbp + 0x60]
mov edx, esi
mov rcx, r12
call fcn.140011d00
dec esi
test esi, esi
jg 0x140011aa3
cmp dword [r13 + 0x4c], 2
jne 0x140011bf4
mov rax, qword [r12 + 0x28]
xorps xmm1, xmm1
mov rcx, qword [r12 + 0x58]
movaps xmm0, xmm12
cvtsi2sd xmm1, qword [rax + 8]
mulsd xmm0, qword [rcx + 8]
subsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x140011af4
subsd xmm1, xmm8
jmp 0x140011af9
addsd xmm1, xmm8
xorps xmm2, xmm2
movaps xmm0, xmm12
cvtsi2sd xmm2, qword [rax]
mulsd xmm0, qword [rcx]
cvttsd2si r8, xmm1
subsd xmm2, xmm0
comisd xmm10, xmm2
jbe 0x140011b20
subsd xmm2, xmm8
jmp 0x140011b25
addsd xmm2, xmm8
mov rdx, qword [rbx + 8]
cvttsd2si rax, xmm2
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rax
cmp rdx, qword [rbx + 0x10]
je 0x140011b4c
mov qword [rdx], rax
mov qword [rdx + 8], r8
add qword [rbx + 8], 0x10
jmp 0x140011b59
lea r8, [rsp + 0x28]
mov rcx, rbx
call fcn.140014430
mov rax, qword [r12 + 0x58]
movaps xmm1, xmm12
mov r8, qword [r12 + 0x28]
xorps xmm0, xmm0
mov rdx, qword [rbx + 8]
mulsd xmm1, qword [rax + 8]
cvtsi2sd xmm0, qword [r8 + 8]
addsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x140011b8b
subsd xmm1, xmm8
jmp 0x140011b90
addsd xmm1, xmm8
cvttsd2si rcx, xmm1
movaps xmm1, xmm12
xorps xmm0, xmm0
mulsd xmm1, qword [rax]
cvtsi2sd xmm0, qword [r8]
addsd xmm1, xmm0
comisd xmm10, xmm1
jbe 0x140011bb7
subsd xmm1, xmm8
jmp 0x140011bbc
addsd xmm1, xmm8
cvttsd2si rax, xmm1
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
cmp rdx, qword [rbx + 0x10]
je 0x140011be2
mov qword [rdx], rax
mov qword [rdx + 8], rcx
add qword [rbx + 8], 0x10
jmp 0x140011659
lea r8, [rsp + 0x28]
mov rcx, rbx
call fcn.140014430
jmp 0x140011659
xor edx, edx
mov qword [r12 + 0x78], r15
cmp dword [r13 + 0x4c], 3
mov rcx, r12
lea r8d, [rdx + 1]
jne 0x140011c13
call fcn.1400120f0
jmp 0x140011659
call fcn.140012310
jmp 0x140011659
mov r8, rbx
mov rdx, rax
mov rcx, r14
call fcn.1400141f0
mov r10d, dword [rbp + 0x50]
lea r9, [r12 + 0x28]
mov rdx, qword [rbp + 0x68]
mov rcx, qword [r12 + 0xd0]
inc r10d
mov rax, qword [r12 + 0xd8]
inc rdx
sub rax, rcx
mov dword [rbp + 0x50], r10d
sar rax, 3
mov qword [rbp + 0x68], rdx
cmp r10d, eax
jl 0x14001116e
mov r13, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x120]
mov r15, qword [rsp + 0x108]
movaps xmm14, xmmword [rsp + 0x70]
movaps xmm13, xmmword [rsp + 0x80]
movaps xmm11, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0xf0]
mov rdi, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x128]
movaps xmm12, xmmword [rsp + 0x90]
add rsp, 0x130
pop r14
pop r12
pop rbp
ret
call fcn.140007180
int3
call fcn.140007180
int3