Function at 0x140022380
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rsi, qword [rcx + 0x18]
mov rbx, rcx
mov rdi, qword [rcx + 0x10]
movaps xmmword [rsp + 0xa0], xmm12
movaps xmm12, xmm1
cmp rdi, rsi
je 0x1400223c9
mov rcx, rdi
call fcn.140024f20
add rdi, 0x18
cmp rdi, rsi
jne 0x1400223b0
mov rax, qword [rbx + 0x10]
mov qword [rbx + 0x18], rax
comisd xmm12, xmmword [0x14030f820]
mov qword [rsp + 0x118], r14
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm7
movaps xmmword [rsp + 0xe0], xmm8
movaps xmmword [rsp + 0xd0], xmm9
movaps xmmword [rsp + 0xc0], xmm10
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0x90], xmm13
movaps xmmword [rsp + 0x80], xmm14
movsd qword [rbx + 0x70], xmm12
jbe 0x14002251a
movsd xmm0, qword [0x14030ed20]
comisd xmm0, xmm12
jbe 0x14002251a
lea rcx, [rbx + 0xb0]
call fcn.14001b0c0
mov rcx, qword [rbx + 0x20]
sub rcx, qword [rbx + 0x10]
movsxd r8, eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [rbp + 0x50], r8
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x14002249a
movabs rax, 0xaaaaaaaaaaaaaaa
cmp r8, rax
ja 0x140023247
lea rdx, [rbp + 0x50]
lea rcx, [rbx + 0x10]
call fcn.140026180
lea rcx, [rbx + 0xb0]
xor r14d, r14d
call fcn.14001b0c0
test eax, eax
jle 0x140022ae5
mov edi, r14d
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rbx + 0xd0]
mov rcx, qword [rdi + rax]
cmp dword [rcx + 0x4c], 0
jne 0x1400224fd
mov rax, qword [rbx + 0x18]
lea r8, [rcx + 8]
cmp rax, qword [rbx + 0x20]
je 0x1400224f1
mov rdx, r8
mov rcx, rax
call fcn.140028e50
add qword [rbx + 0x18], 0x18
jmp 0x1400224fd
mov rdx, rax
lea rcx, [rbx + 0x10]
call fcn.140028010
lea rcx, [rbx + 0xb0]
inc r14d
add rdi, 8
call fcn.14001b0c0
cmp r14d, eax
jl 0x1400224c0
jmp 0x140022ae5
movsd xmm1, qword [rbx]
movsd xmm0, qword [0x14030f160]
comisd xmm1, xmm0
movsd xmm8, qword [0x14030f048]
jbe 0x14002253f
mulsd xmm1, xmm1
divsd xmm0, xmm1
jmp 0x140022543
movaps xmm0, xmm8
movsd qword [rbx + 0x90], xmm0
xorps xmm11, xmm11
movsd xmm2, qword [rbx + 8]
comisd xmm11, xmm2
movsd xmm3, qword [0x140314ca0]
jb 0x14002256d
movsd xmm1, qword [0x14030f008]
jmp 0x140022580
movaps xmm1, xmm12
andps xmm1, xmm3
mulsd xmm1, qword [0x14030f008]
minsd xmm1, xmm2
movsd xmm13, qword [0x14030f0b8]
movaps xmm0, xmm12
movsd xmm6, qword [0x14030f1b0]
andps xmm0, xmm3
divsd xmm1, xmm0
movaps xmm14, xmm0
movaps xmm0, xmm13
subsd xmm0, xmm1
mulsd xmm14, xmm6
call fcn.1402295e0
divsd xmm6, xmm0
minsd xmm14, xmm6
movsd xmm6, qword [0x14030f1e0]
divsd xmm6, xmm14
movaps xmm0, xmm6
call fcn.14022e7d0
movsd qword [rbx + 0x80], xmm0
movaps xmm9, xmm0
movaps xmm0, xmm6
call fcn.14022aaa0
comisd xmm11, xmm12
movaps xmm10, xmmword [0x140314cb0]
movaps xmm1, xmm14
divsd xmm1, qword [0x14030f1e0]
movsd qword [rbx + 0x88], xmm0
movsd qword [rbx + 0x98], xmm1
jbe 0x14002261c
xorps xmm9, xmm10
movsd qword [rbx + 0x80], xmm9
lea rcx, [rbx + 0xb0]
call fcn.14001b0c0
mov rcx, qword [rbx + 0x20]
add eax, eax
sub rcx, qword [rbx + 0x10]
movsxd r8, eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [rbp + 0x50], r8
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jbe 0x140022679
movabs rax, 0xaaaaaaaaaaaaaaa
cmp r8, rax
ja 0x140023247
lea rdx, [rbp + 0x50]
lea rcx, [rbx + 0x10]
call fcn.140026180
mov qword [rsp + 0x110], r15
lea rcx, [rbx + 0xb0]
xor r15d, r15d
mov r9d, r15d
mov dword [rbp + 0x50], r15d
call fcn.14001b0c0
test eax, eax
jle 0x140022add
movsd xmm9, qword [0x14030f840]
mov edx, r15d
mov qword [rsp + 0x168], r12
lea r12, [rbx + 0x28]
mov qword [rbp + 0x60], rdx
mov rax, qword [rbx + 0xd0]
movabs r10, 0xfffffffffffffff
mov r14, qword [rax + rdx*8]
lea r8, [r14 + 8]
cmp r12, r8
je 0x140022701
mov rdx, qword [r8]
mov rcx, r12
mov r8, qword [r8 + 8]
sub r8, rdx
sar r8, 4
call fcn.140026280
mov rdx, qword [rbp + 0x60]
movabs r10, 0xfffffffffffffff
mov r9d, dword [rbp + 0x50]
mov rsi, qword [r12 + 8]
sub rsi, qword [r12]
sar rsi, 4
test esi, esi
je 0x140022ab2
comisd xmm11, xmm12
jb 0x140022731
cmp esi, 3
jl 0x140022ab2
cmp dword [r14 + 0x4c], 0
jne 0x140022ab2
mov rdx, qword [rbx + 0x48]
mov rax, qword [rbx + 0x40]
cmp rax, rdx
je 0x140022745
mov qword [rbx + 0x48], rax
mov rdx, rax
cmp esi, 1
jne 0x140022b4a
cmp dword [r14 + 0x48], esi
jne 0x14002284a
comisd xmm14, xmm13
mov esi, 1
movaps xmm7, xmm13
movaps xmm6, xmm11
jb 0x140022a7d
mov rax, qword [r12]
xorps xmm1, xmm1
movaps xmm0, xmm6
mulsd xmm0, xmm12
cvtsi2sd xmm1, qword [rax + 8]
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x140022797
subsd xmm1, xmm8
jmp 0x14002279c
addsd xmm1, xmm8
cvttsd2si rcx, xmm1
movaps xmm1, xmm7
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax]
mulsd xmm1, xmm12
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x1400227c3
subsd xmm1, xmm8
jmp 0x1400227c8
addsd xmm1, xmm8
mov rdx, qword [rbx + 0x48]
cvttsd2si rax, xmm1
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
cmp rdx, qword [rbx + 0x50]
je 0x1400227f0
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rdx], xmm0
add qword [rbx + 0x48], 0x10
jmp 0x1400227fe
lea r8, [rsp + 0x40]
lea rcx, [rbx + 0x40]
call fcn.140027a20
movsd xmm3, qword [rbx + 0x80]
movaps xmm2, xmm7
movsd xmm4, qword [rbx + 0x88]
movaps xmm0, xmm3
mulsd xmm0, xmm6
inc rsi
mulsd xmm7, xmm4
mulsd xmm4, xmm6
mulsd xmm3, xmm2
subsd xmm7, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rsi
movaps xmm6, xmm3
comisd xmm14, xmm0
addsd xmm6, xmm4
jae 0x140022770
jmp 0x140022a7d
mov rax, qword [r12]
xorps xmm0, xmm0
movaps xmm1, xmm12
mulsd xmm1, xmm9
cvtsi2sd xmm0, qword [rax + 8]
addsd xmm0, xmm1
comisd xmm11, xmm0
jbe 0x140022872
subsd xmm0, xmm8
jmp 0x140022877
addsd xmm0, xmm8
cvttsd2si rcx, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax]
addsd xmm0, xmm1
comisd xmm11, xmm0
jbe 0x140022896
subsd xmm0, xmm8
jmp 0x14002289b
addsd xmm0, xmm8
cvttsd2si rax, xmm0
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
cmp rdx, qword [rbx + 0x50]
je 0x1400228bf
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rdx], xmm0
add qword [rbx + 0x48], 0x10
jmp 0x1400228cd
lea r8, [rsp + 0x20]
lea rcx, [rbx + 0x40]
call fcn.140027a20
mov rax, qword [r12]
movaps xmm1, xmm9
xorps xmm0, xmm0
mulsd xmm1, xmm12
cvtsi2sd xmm0, qword [rax + 8]
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x1400228f5
subsd xmm1, xmm8
jmp 0x1400228fa
addsd xmm1, xmm8
cvttsd2si rcx, xmm1
movaps xmm1, xmm13
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax]
mulsd xmm1, xmm12
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x140022922
subsd xmm1, xmm8
jmp 0x140022927
addsd xmm1, xmm8
mov rdx, qword [rbx + 0x48]
cvttsd2si rax, xmm1
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
cmp rdx, qword [rbx + 0x50]
je 0x14002294f
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rdx], xmm0
add qword [rbx + 0x48], 0x10
jmp 0x14002295d
lea r8, [rsp + 0x20]
lea rcx, [rbx + 0x40]
call fcn.140027a20
mov rax, qword [r12]
xorps xmm1, xmm1
movaps xmm0, xmm13
mulsd xmm0, xmm12
cvtsi2sd xmm1, qword [rax + 8]
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x140022985
subsd xmm1, xmm8
jmp 0x14002298a
addsd xmm1, xmm8
cvttsd2si rcx, xmm1
movaps xmm1, xmm13
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax]
mulsd xmm1, xmm12
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x1400229b2
subsd xmm1, xmm8
jmp 0x1400229b7
addsd xmm1, xmm8
mov rdx, qword [rbx + 0x48]
cvttsd2si rax, xmm1
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
cmp rdx, qword [rbx + 0x50]
je 0x1400229df
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rdx], xmm0
add qword [rbx + 0x48], 0x10
jmp 0x1400229ed
lea r8, [rsp + 0x20]
lea rcx, [rbx + 0x40]
call fcn.140027a20
mov rax, qword [r12]
xorps xmm1, xmm1
movaps xmm0, xmm13
mulsd xmm0, xmm12
cvtsi2sd xmm1, qword [rax + 8]
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x140022a15
subsd xmm1, xmm8
jmp 0x140022a1a
addsd xmm1, xmm8
cvttsd2si rcx, xmm1
movaps xmm1, xmm9
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax]
mulsd xmm1, xmm12
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x140022a42
subsd xmm1, xmm8
jmp 0x140022a47
addsd xmm1, xmm8
mov rdx, qword [rbx + 0x48]
cvttsd2si rax, xmm1
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
cmp rdx, qword [rbx + 0x50]
je 0x140022a6f
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rdx], xmm0
add qword [rbx + 0x48], 0x10
jmp 0x140022a7d
lea r8, [rsp + 0x20]
lea rcx, [rbx + 0x40]
call fcn.140027a20
mov rax, qword [rbx + 0x18]
cmp rax, qword [rbx + 0x20]
je 0x140022a9a
lea rdx, [rbx + 0x40]
mov rcx, rax
call fcn.140028e50
add qword [rbx + 0x18], 0x18
jmp 0x140022aaa
lea r8, [rbx + 0x40]
mov rdx, rax
lea rcx, [rbx + 0x10]
call fcn.140028010
mov r9d, dword [rbp + 0x50]
mov rdx, qword [rbp + 0x60]
inc r9d
lea rcx, [rbx + 0xb0]
inc rdx
mov dword [rbp + 0x50], r9d
mov qword [rbp + 0x60], rdx
call fcn.14001b0c0
cmp r9d, eax
jl 0x1400226bb
mov r12, qword [rsp + 0x168]
mov r15, qword [rsp + 0x110]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm13, xmmword [rsp + 0x90]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
mov r14, qword [rsp + 0x118]
movaps xmm12, xmmword [rsp + 0xa0]
add rsp, 0x120
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rbx + 0x58]
cmp rax, qword [rbx + 0x60]
je 0x140022b58
mov qword [rbx + 0x60], rax
mov rax, qword [rbx + 0x68]
lea r15, [rbx + 0x58]
sub rax, qword [rbx + 0x58]
movsxd rcx, esi
sar rax, 4
mov qword [rbp + 0x58], rcx
cmp rcx, rax
jbe 0x140022b8e
cmp rcx, r10
ja 0x14002324d
lea rdx, [rbp + 0x58]
lea rcx, [rbx + 0x58]
call fcn.1400260a0
lea r15, [rbx + 0x58]
lea eax, [rsi - 1]
test eax, eax
jle 0x140022bee
xor ecx, ecx
mov r12d, eax
nop word [rax + rax]
mov rax, qword [rbx + 0x28]
lea r15, [rcx + 0x10]
lea rdx, [rcx + rax]
lea rcx, [rsp + 0x60]
lea r8, [r15 + rax]
call fcn.140021bd0
mov rdx, qword [rbx + 0x60]
cmp rdx, qword [rbx + 0x68]
je 0x140022bd1
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
add qword [rbx + 0x60], 0x10
jmp 0x140022bdd
mov r8, rax
lea rcx, [rbx + 0x58]
call fcn.140027a20
mov rcx, r15
sub r12, 1
jne 0x140022ba0
lea r15, [rbx + 0x58]
lea r12, [rbx + 0x28]
cmp dword [r14 + 0x4c], 1
jbe 0x140022c26
mov rax, qword [r15]
mov rdx, qword [r15 + 8]
movsxd rcx, esi
sub rcx, 2
add rcx, rcx
movups xmm0, xmmword [rax + rcx*8]
movups xmmword [rsp + 0x50], xmm0
cmp rdx, qword [r15 + 0x10]
je 0x140022c1f
movups xmmword [rdx], xmm0
add qword [r15 + 8], 0x10
jmp 0x140022c64
lea r8, [rsp + 0x50]
jmp 0x140022c5c
mov r8, qword [r12]
lea rcx, [rsp + 0x70]
movsxd rdx, esi
shl rdx, 4
add rdx, 0xfffffffffffffff0
add rdx, r8
call fcn.140021bd0
mov rdx, qword [r15 + 8]
cmp rdx, qword [r15 + 0x10]
je 0x140022c59
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
add qword [r15 + 8], 0x10
jmp 0x140022c64
mov r8, rax
mov rcx, r15
call fcn.140027a20
mov eax, dword [r14 + 0x4c]
lea r15d, [rsi - 1]
test eax, eax
jne 0x140022cbf
xor edi, edi
mov dword [rbp + 0x58], r15d
test esi, esi
jle 0x140022c98
nop word [rax + rax]
mov r9d, dword [r14 + 0x48]
lea r8, [rbp + 0x58]
mov edx, edi
mov rcx, rbx
call fcn.140023260
inc edi
cmp edi, esi
jl 0x140022c80
mov rax, qword [rbx + 0x18]
lea r8, [rbx + 0x40]
cmp rax, qword [rbx + 0x20]
je 0x140022a9e
mov rdx, r8
mov rcx, rax
call fcn.140028e50
add qword [rbx + 0x18], 0x18
jmp 0x140022aaa
cmp eax, 1
jne 0x140022e3c
mov dword [rbp + 0x58], r15d
xor r15d, r15d
mov edi, r15d
test esi, esi
jle 0x140022cf8
nop word [rax + rax]
mov r9d, dword [r14 + 0x48]
lea r8, [rbp + 0x58]
mov edx, edi
mov rcx, rbx
call fcn.140023260
inc edi
cmp edi, esi
jl 0x140022ce0
mov rax, qword [rbx + 0x18]
lea r8, [rbx + 0x40]
cmp rax, qword [rbx + 0x20]
je 0x140022d18
mov rdx, r8
mov rcx, rax
call fcn.140028e50
add qword [rbx + 0x18], 0x18
jmp 0x140022d24
mov rdx, rax
lea rcx, [rbx + 0x10]
call fcn.140028010
mov rax, qword [rbx + 0x40]
cmp rax, qword [rbx + 0x48]
je 0x140022d32
mov qword [rbx + 0x48], rax
lea eax, [rsi - 1]
movsxd rdx, eax
mov rax, qword [rbx + 0x58]
mov rcx, rdx
shl rcx, 4
movsd xmm3, qword [rcx + rax]
movsd xmm4, qword [rcx + rax + 8]
cmp rdx, 4
jl 0x140022dd3
lea r8, [rdx - 4]
shr r8, 2
inc r8
lea rax, [r8*4]
sub rdx, rax
nop word [rax + rax]
mov rax, qword [rbx + 0x58]
lea rcx, [rcx - 0x40]
movups xmm0, xmmword [rcx + rax + 0x30]
xorps xmm0, xmm10
movups xmmword [rcx + rax + 0x40], xmm0
mov rax, qword [rbx + 0x58]
movups xmm0, xmmword [rcx + rax + 0x20]
xorps xmm0, xmm10
movups xmmword [rcx + rax + 0x30], xmm0
mov rax, qword [rbx + 0x58]
movups xmm0, xmmword [rcx + rax + 0x10]
xorps xmm0, xmm10
movups xmmword [rax + rcx + 0x20], xmm0
mov rax, qword [rbx + 0x58]
movsd xmm0, qword [rax + rcx]
movsd xmm2, qword [rcx + rax + 8]
xorps xmm0, xmm10
movsd qword [rcx + rax + 0x10], xmm0
xorps xmm2, xmm10
movsd qword [rcx + rax + 0x18], xmm2
sub r8, 1
jne 0x140022d70
test rdx, rdx
jle 0x140022dfc
mov rcx, rdx
shl rcx, 4
mov rax, qword [rbx + 0x58]
lea rcx, [rcx - 0x10]
dec rdx
movups xmm0, xmmword [rcx + rax]
xorps xmm0, xmm10
movups xmmword [rcx + rax + 0x10], xmm0
test rdx, rdx
jg 0x140022ddf
mov rax, qword [rbx + 0x58]
lea edi, [rsi - 1]
xorps xmm3, xmm10
xorps xmm4, xmm10
movsd qword [rax], xmm3
movsd qword [rax + 8], xmm4
mov dword [rbp + 0x58], r15d
test edi, edi
js 0x140022c98
mov r9d, dword [r14 + 0x48]
lea r8, [rbp + 0x58]
mov edx, edi
mov rcx, rbx
call fcn.140023260
sub edi, 1
jns 0x140022e20
jmp 0x140022c98
mov edi, 1
mov dword [rbp + 0x58], 0
cmp r15d, edi
jle 0x140022e69
nop dword [rax]
mov r9d, dword [r14 + 0x48]
lea r8, [rbp + 0x58]
mov edx, edi
mov rcx, rbx
call fcn.140023260
inc edi
cmp edi, r15d
jl 0x140022e50
cmp dword [r14 + 0x4c], 2
lea edx, [rsi - 1]
jne 0x140022fb5
mov rax, qword [rbx + 0x58]
movaps xmm1, xmm12
mov rcx, qword [r12]
xorps xmm0, xmm0
movsxd rdi, esi
add rdi, rdi
mulsd xmm1, qword [rax + rdi*8 - 8]
cvtsi2sd xmm0, qword [rcx + rdi*8 - 8]
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x140022eab
subsd xmm1, xmm8
jmp 0x140022eb0
addsd xmm1, xmm8
cvttsd2si r8, xmm1
movaps xmm1, xmm12
xorps xmm0, xmm0
mulsd xmm1, qword [rax + rdi*8 - 0x10]
cvtsi2sd xmm0, qword [rcx + rdi*8 - 0x10]
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x140022edb
subsd xmm1, xmm8
jmp 0x140022ee0
addsd xmm1, xmm8
mov rdx, qword [rbx + 0x48]
lea rcx, [rbx + 0x40]
cvttsd2si rax, xmm1
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rax
cmp rdx, qword [rbx + 0x50]
je 0x140022f0b
mov qword [rdx], rax
mov qword [rdx + 8], r8
add qword [rcx + 8], 0x10
jmp 0x140022f15
lea r8, [rsp + 0x30]
call fcn.140027a20
mov rax, qword [r12]
xorps xmm1, xmm1
mov rcx, qword [rbx + 0x58]
movaps xmm0, xmm12
cvtsi2sd xmm1, qword [rax + rdi*8 - 8]
mulsd xmm0, qword [rcx + rdi*8 - 8]
subsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x140022f43
subsd xmm1, xmm8
jmp 0x140022f48
addsd xmm1, xmm8
cvttsd2si r8, xmm1
xorps xmm1, xmm1
movaps xmm0, xmm12
cvtsi2sd xmm1, qword [rax + rdi*8 - 0x10]
mulsd xmm0, qword [rcx + rdi*8 - 0x10]
subsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x140022f73
subsd xmm1, xmm8
jmp 0x140022f78
addsd xmm1, xmm8
mov rdx, qword [rbx + 0x48]
lea rcx, [rbx + 0x40]
cvttsd2si rax, xmm1
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rax
cmp rdx, qword [rbx + 0x50]
je 0x140022fa6
mov qword [rdx], rax
mov qword [rdx + 8], r8
add qword [rcx + 8], 0x10
xor r15d, r15d
jmp 0x140022fee
lea r8, [rsp + 0x30]
call fcn.140027a20
xor r15d, r15d
jmp 0x140022fee
xor r15d, r15d
movsxd rcx, esi
mov qword [rbx + 0x78], r15
lea r8d, [rsi - 2]
mov rax, qword [rbx + 0x58]
add rcx, rcx
movups xmm0, xmmword [rax + rcx*8 - 0x10]
xorps xmm0, xmm10
movups xmmword [rax + rcx*8 - 0x10], xmm0
cmp dword [r14 + 0x4c], 3
mov rcx, rbx
jne 0x140022fe9
call fcn.1400235c0
jmp 0x140022fee
call fcn.1400238b0
lea eax, [rsi - 1]
movsxd rdx, eax
cmp rdx, 4
jl 0x140023083
lea r8, [rdx - 4]
mov rcx, rdx
shr r8, 2
inc r8
shl rcx, 4
lea rax, [r8*4]
sub rdx, rax
nop dword [rax + rax]
mov rax, qword [rbx + 0x58]
lea rcx, [rcx - 0x40]
movups xmm0, xmmword [rcx + rax + 0x30]
xorps xmm0, xmm10
movups xmmword [rcx + rax + 0x40], xmm0
mov rax, qword [rbx + 0x58]
movups xmm0, xmmword [rax + rcx + 0x20]
xorps xmm0, xmm10
movups xmmword [rax + rcx + 0x30], xmm0
mov rax, qword [rbx + 0x58]
movups xmm0, xmmword [rax + rcx + 0x10]
xorps xmm0, xmm10
movups xmmword [rcx + rax + 0x20], xmm0
mov rax, qword [rbx + 0x58]
movsd xmm0, qword [rcx + rax]
movsd xmm2, qword [rax + rcx + 8]
xorps xmm0, xmm10
movsd qword [rax + rcx + 0x10], xmm0
xorps xmm2, xmm10
movsd qword [rax + rcx + 0x18], xmm2
sub r8, 1
jne 0x140023020
test rdx, rdx
jle 0x1400230ac
mov rcx, rdx
shl rcx, 4
mov rax, qword [rbx + 0x58]
lea rcx, [rcx - 0x10]
dec rdx
movups xmm0, xmmword [rcx + rax]
xorps xmm0, xmm10
movups xmmword [rcx + rax + 0x10], xmm0
test rdx, rdx
jg 0x14002308f
mov rax, qword [rbx + 0x58]
movups xmm0, xmmword [rax + 0x10]
xorps xmm0, xmm10
movups xmmword [rax], xmm0
lea eax, [rsi - 1]
lea edi, [rax - 1]
mov dword [rbp + 0x58], eax
test edi, edi
jle 0x1400230e8
nop dword [rax + rax]
mov r9d, dword [r14 + 0x48]
lea r8, [rbp + 0x58]
mov edx, edi
mov rcx, rbx
call fcn.140023260
dec edi
test edi, edi
jg 0x1400230d0
cmp dword [r14 + 0x4c], 2
jne 0x14002321f
mov rax, qword [r12]
xorps xmm1, xmm1
mov rcx, qword [rbx + 0x58]
movaps xmm0, xmm12
cvtsi2sd xmm1, qword [rax + 8]
mulsd xmm0, qword [rcx + 8]
subsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x14002311f
subsd xmm1, xmm8
jmp 0x140023124
addsd xmm1, xmm8
cvttsd2si r8, xmm1
xorps xmm1, xmm1
movaps xmm0, xmm12
cvtsi2sd xmm1, qword [rax]
mulsd xmm0, qword [rcx]
subsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x14002314b
subsd xmm1, xmm8
jmp 0x140023150
addsd xmm1, xmm8
mov rdx, qword [rbx + 0x48]
lea rcx, [rbx + 0x40]
cvttsd2si rax, xmm1
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rax
cmp rdx, qword [rbx + 0x50]
je 0x14002317b
mov qword [rdx], rax
mov qword [rdx + 8], r8
add qword [rcx + 8], 0x10
jmp 0x140023185
lea r8, [rsp + 0x30]
call fcn.140027a20
mov rax, qword [rbx + 0x58]
movaps xmm1, xmm12
mov rcx, qword [r12]
xorps xmm0, xmm0
mulsd xmm1, qword [rax + 8]
cvtsi2sd xmm0, qword [rcx + 8]
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x1400231b1
subsd xmm1, xmm8
jmp 0x1400231b6
addsd xmm1, xmm8
cvttsd2si r8, xmm1
movaps xmm1, xmm12
xorps xmm0, xmm0
mulsd xmm1, qword [rax]
cvtsi2sd xmm0, qword [rcx]
addsd xmm1, xmm0
comisd xmm11, xmm1
jbe 0x1400231dd
subsd xmm1, xmm8
jmp 0x1400231e2
addsd xmm1, xmm8
mov rdx, qword [rbx + 0x48]
lea rcx, [rbx + 0x40]
cvttsd2si rax, xmm1
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], rax
cmp rdx, qword [rbx + 0x50]
je 0x140023210
mov qword [rdx], rax
mov qword [rdx + 8], r8
add qword [rcx + 8], 0x10
jmp 0x140022c98
lea r8, [rsp + 0x30]
call fcn.140027a20
jmp 0x140022c98
xor edx, edx
mov qword [rbx + 0x78], r15
cmp dword [r14 + 0x4c], 3
mov rcx, rbx
lea r8d, [rdx + 1]
jne 0x14002323d
call fcn.1400235c0
jmp 0x140022c98
call fcn.1400238b0
jmp 0x140022c98
call fcn.140016e00
int3
call fcn.140016e00
int3