Function at 0x140036600
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], rbx
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [rcx + 0xa0]
mov rsi, rdx
xor edx, edx
mov dword [rsp + 0x20], 1
shl rax, 6
mov rdi, r9
mov qword [r11 - 0x60], rdx
mov r13, r8
mov qword [r11 - 0x58], rdx
mov r15, rcx
mov r14d, edx
mov ebx, edx
test rax, rax
je 0x140036b48
mov rax, qword [rcx + 0xa8]
test byte [rax], 1
je 0x140036b48
mov rcx, qword [rsi + 8]
mov rax, rcx
mov qword [r11 + 8], rbp
shl rax, 6
mov qword [r11 + 0x10], r12
test rax, rax
jne 0x140036676
mov eax, edx
jmp 0x14003667f
mov rax, qword [rsi + 0x10]
mov eax, dword [rax]
and eax, 1
mov r12, qword [rsp + 0xb8]
xor al, 1
mov byte [r12], al
lea rax, [rsp + 0x38]
cmp rax, rsi
je 0x14003671e
test rcx, rcx
je 0x14003671e
sub rcx, 1
je 0x1400366c1
mov rax, qword [rsi + 0x10]
lea rdx, [rax + rcx*8]
cmp qword [rdx], rbx
jne 0x1400366c1
sub rdx, 8
sub rcx, 1
jne 0x1400366b2
lea rbp, [rcx + 1]
test rbp, rbp
je 0x1400366f7
cmp rbp, 0x2710
jbe 0x1400366dd
mov ebp, 0xfffffff0
jmp 0x140036b34
mov edx, 8
mov rcx, rbp
call fcn.140087e2c
mov rbx, rax
test rax, rax
je 0x1400366d3
mov r14, rbp
jmp 0x14003670a
imul r8, rbp, 0xfffffffffffffff8
lea rcx, [rbp*8]
xor edx, edx
call fcn.140080540
mov rdx, qword [rsi + 0x10]
lea r8, [rbp*8]
mov rcx, rbx
call fcn.140080780
mov eax, dword [rsi]
imul eax, dword [r15 + 0x98]
movaps xmmword [rsp + 0x50], xmm6
test eax, eax
jle 0x140036777
mov rdx, rsi
lea rcx, [r15 + 0x98]
call fcn.140026080
lea rcx, [rsp + 0x20]
test eax, eax
js 0x140036760
mov r8, rsi
lea rdx, [r15 + 0x98]
call fcn.140026410
mov ebp, eax
test eax, eax
jne 0x14003678d
jmp 0x140036795
lea r8, [r15 + 0x98]
mov rdx, rsi
call fcn.140026410
mov ebp, eax
test eax, eax
jne 0x14003678d
jmp 0x140036795
mov r8, rsi
lea rdx, [r15 + 0x98]
lea rcx, [rsp + 0x20]
call fcn.1400262f0
mov ebp, eax
test ebp, ebp
jne 0x140036acf
movzx r12d, byte [r12]
mov r15, qword [rsp + 0x28]
mov esi, r12d
neg rsi
shr rsi, 0x3f
neg rsi
movq xmm6, rsi
punpcklqdq xmm6, xmm6
cmp r15, 0x2710
jbe 0x1400367c8
mov ebp, 0xfffffff0
jmp 0x140036ad4
cmp r14, r15
jae 0x14003682e
mov edx, 8
mov rcx, r15
call fcn.140087e2c
mov rbp, rax
test rax, rax
jne 0x1400367ea
lea ebp, [rax - 0x10]
jmp 0x140036ad4
test rbx, rbx
je 0x140036828
lea r14, [r14*8]
mov rdx, rbx
mov r8, r14
mov rcx, rbp
call fcn.140080780
test r14, r14
je 0x140036820
mov rax, qword [fcn.140080540]
mov r8, r14
xor edx, edx
mov rcx, rbx
call rax
mov r15, qword [rsp + 0x28]
mov rcx, rbx
call fcn.140081438
mov r14, r15
mov rbx, rbp
movdqa xmm5, xmmword [0x1400c1350]
mov eax, r12d
mov r12, qword [rsp + 0x30]
neg eax
movsxd r11, eax
xor ecx, ecx
movq xmm3, r11
punpcklqdq xmm3, xmm3
test r15, r15
je 0x14003695e
cmp r15, 8
jb 0x140036920
lea rax, [r12 - 8]
lea rax, [rax + r15*8]
lea rdx, [r15 - 1]
lea rdx, [rbx + rdx*8]
cmp rbx, rax
ja 0x140036880
cmp rdx, r12
jae 0x140036920
mov r8, r15
and r8, 0xfffffffffffffff8
movdqa xmm4, xmm3
lea rdx, [rbx + 0x10]
mov rax, r12
pandn xmm4, xmm5
sub rax, rbx
nop dword [rax]
movdqu xmm0, xmmword [rdx - 0x10]
add rcx, 8
movdqu xmm1, xmmword [rax + rdx - 0x10]
movdqu xmm2, xmmword [rax + rdx]
lea rdx, [rdx + 0x40]
pand xmm1, xmm3
pand xmm0, xmm4
por xmm1, xmm0
pand xmm2, xmm3
movdqu xmmword [rdx - 0x50], xmm1
movdqu xmm0, xmmword [rdx - 0x40]
movdqu xmm1, xmmword [rax + rdx - 0x30]
pand xmm0, xmm4
por xmm2, xmm0
pand xmm1, xmm3
movdqu xmmword [rdx - 0x40], xmm2
movdqu xmm0, xmmword [rdx - 0x30]
movdqu xmm2, xmmword [rax + rdx - 0x20]
pand xmm0, xmm4
por xmm1, xmm0
pand xmm2, xmm3
movdqu xmmword [rdx - 0x30], xmm1
movdqa xmm1, xmm4
movdqu xmm0, xmmword [rdx - 0x20]
pand xmm1, xmm0
por xmm2, xmm1
movdqu xmmword [rdx - 0x20], xmm2
cmp rcx, r8
jb 0x1400368a0
cmp rcx, r15
jae 0x14003695e
mov r10, r12
lea rdx, [rbx + rcx*8]
sub r10, rbx
mov r9, r11
mov r8, r15
not r9
sub r8, rcx
nop dword [rax + rax]
mov rcx, qword [rdx + r10]
mov rax, qword [rdx]
lea rdx, [rdx + 8]
and rcx, r11
and rax, r9
or rcx, rax
mov qword [rdx - 8], rcx
sub r8, 1
jne 0x140036940
mov rcx, r14
mov rax, r15
sub rcx, r15
cmp r15, r14
jae 0x1400369ed
cmp rcx, 8
jb 0x1400369d9
and ecx, 7
mov rdx, r14
sub rdx, rcx
pandn xmm6, xmm5
lea rcx, [r15 + 4]
lea rcx, [rbx + rcx*8]
nop dword [rax + rax]
movdqu xmm0, xmmword [rcx - 0x20]
lea rcx, [rcx + 0x40]
add rax, 8
movdqa xmm1, xmm6
pand xmm0, xmm6
movdqu xmmword [rcx - 0x60], xmm0
movdqu xmm0, xmmword [rcx - 0x50]
pand xmm1, xmm0
movdqu xmmword [rcx - 0x50], xmm1
movdqu xmm0, xmmword [rcx - 0x40]
pand xmm0, xmm6
movdqu xmmword [rcx - 0x40], xmm0
movdqu xmm0, xmmword [rcx - 0x30]
pand xmm0, xmm6
movdqu xmmword [rcx - 0x30], xmm0
cmp rax, rdx
jb 0x140036990
cmp rax, r14
jae 0x1400369ed
not rsi
and qword [rbx + rax*8], rsi
inc rax
cmp rax, r14
jb 0x1400369e1
lea r8, [rdi + 1]
xor edx, edx
mov rcx, r13
xor ebp, ebp
call fcn.140080540
xor r11d, r11d
test rdi, rdi
je 0x140036a65
movzx esi, byte [rsp + 0xb0]
nop dword [rax]
xor r8d, r8d
test rsi, rsi
je 0x140036a5d
movzx r9d, byte [r11 + r13]
mov r10, r14
shl r10, 6
mov rdx, r11
cmp r10, rdx
ja 0x140036a30
xor al, al
jmp 0x140036a46
mov rax, rdx
movzx ecx, dl
shr rax, 6
and cl, 0x3f
mov rax, qword [rbx + rax*8]
shr rax, cl
and al, 1
mov rcx, r8
add rdx, rdi
shl al, cl
inc r8
or r9b, al
cmp r8, rsi
jb 0x140036a27
mov byte [r11 + r13], r9b
inc r11
cmp r11, rdi
jb 0x140036a10
xor sil, sil
cmp rdi, 1
jb 0x140036ad9
lea r11, [r13 + 1]
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r11 - 1]
mov r10d, 1
movzx r9d, byte [r11]
lea r11, [r11 + 1]
xor r9b, sil
mov ecx, edx
and sil, byte [r11 - 1]
movzx eax, r9b
and al, 1
sub r10b, al
movzx eax, r10b
imul ecx, eax
shl r10b, 7
or r10b, dl
mov byte [r11 - 2], r10b
movzx eax, cl
xor cl, r9b
and al, r9b
mov byte [r11 - 1], cl
or sil, al
sub rdi, 1
jne 0x140036a80
jmp 0x140036ad9
mov r15, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
movaps xmm6, xmmword [rsp + 0x50]
test r12, r12
je 0x140036b0b
lea r8, [r15*8]
test r8, r8
je 0x140036b03
mov rax, qword [fcn.140080540]
xor edx, edx
mov rcx, r12
call rax
mov r12, qword [rsp + 0x30]
mov rcx, r12
call fcn.140081438
test rbx, rbx
je 0x140036b34
lea r8, [r14*8]
test r8, r8
je 0x140036b2c
mov r9, qword [fcn.140080540]
xor edx, edx
mov rcx, rbx
call r9
mov rcx, rbx
call fcn.140081438
mov r12, qword [rsp + 0x98]
mov eax, ebp
mov rbp, qword [rsp + 0x90]
jmp 0x140036b4d
mov eax, 0xffffb080
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret