Function at 0x140037700
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbp
push r12
push r14
push r15
sub rsp, 0x20
mov rbp, rdx
xor r12d, r12d
mov edx, dword [rcx + 0x60]
mov r14d, r8d
mov r15, rcx
cmp edx, 0x40
jb 0x140036c58
mov eax, 0xffffff7c
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
mov ecx, dword [rcx + 0x64]
mov qword [rsp + 0x48], rsi
lea eax, [rcx + r8]
mov dword [r15 + 0x64], eax
cmp eax, ecx
jae 0x140036c70
inc dword [r15 + 0x68]
mov qword [rsp + 0x40], rbx
lea rsi, [r15 + 0x20]
test edx, edx
je 0x140036ce2
mov qword [rsp + 0x50], rdi
lea rcx, [rsi + rdx]
mov edi, 0x40
sub edi, edx
mov rdx, rbp
cmp r14d, edi
cmovb edi, r14d
mov r8d, edi
mov ebx, edi
call fcn.1400874e0
add dword [r15 + 0x60], edi
sub r14d, edi
mov rdi, qword [rsp + 0x50]
add rbp, rbx
cmp dword [r15 + 0x60], 0x40
jne 0x140036ce2
mov r8d, 0x40
mov rdx, rsi
mov rcx, rsi
call fcn.140036ab0
mov rdx, rsi
mov rcx, r15
call fcn.140036f40
mov r12d, eax
test eax, eax
jne 0x140036f14
mov dword [r15 + 0x60], eax
cmp r14d, 0x40
jb 0x140036efd
mov rbx, rsi
and ebx, 3
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rbp]
add r14d, 0xffffffc0
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmm0, xmmword [rbp + 0x20]
movups xmmword [rsi + 0x20], xmm0
movups xmm1, xmmword [rbp + 0x30]
add rbp, 0x40
movups xmmword [rsi + 0x30], xmm1
test rbx, rbx
jne 0x140036eb0
mov ecx, dword [rsi]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi], ecx
mov ecx, dword [rsi + 4]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 4], ecx
mov ecx, dword [rsi + 8]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 8], ecx
mov ecx, dword [rsi + 0xc]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0xc], ecx
mov ecx, dword [rsi + 0x10]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x10], ecx
mov ecx, dword [rsi + 0x14]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x14], ecx
mov ecx, dword [rsi + 0x18]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x18], ecx
mov ecx, dword [rsi + 0x1c]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x1c], ecx
mov ecx, dword [rsi + 0x20]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x20], ecx
mov ecx, dword [rsi + 0x24]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x24], ecx
mov ecx, dword [rsi + 0x28]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x28], ecx
mov ecx, dword [rsi + 0x2c]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x2c], ecx
mov ecx, dword [rsi + 0x30]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x30], ecx
mov ecx, dword [rsi + 0x34]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x34], ecx
mov ecx, dword [rsi + 0x38]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x38], ecx
mov ecx, dword [rsi + 0x3c]
mov eax, ecx
rol ecx, 8
ror eax, 8
xor ecx, eax
and ecx, 0xff00ff
xor ecx, eax
mov dword [rsi + 0x3c], ecx
jmp 0x140036ee1
mov rax, rsi
mov r8d, 0x10
nop dword [rax]
mov edx, dword [rax]
lea rax, [rax + 4]
mov ecx, edx
rol edx, 8
ror ecx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, ecx
mov dword [rax - 4], edx
sub r8, 1
jne 0x140036ec0
mov rdx, rsi
mov rcx, r15
call fcn.140036f40
mov r12d, eax
test eax, eax
jne 0x140036f14
cmp r14d, 0x40
jae 0x140036d00
test r14d, r14d
je 0x140036f14
mov r8d, r14d
mov rdx, rbp
mov rcx, rsi
call fcn.1400874e0
mov dword [r15 + 0x60], r14d
mov rsi, qword [rsp + 0x48]
mov eax, r12d
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
test rcx, rcx
je 0x14003771a
test rdx, rdx
jne 0x140037715
neg r8d
sbb eax, eax
and eax, 0xffffff53
ret
jmp 0x140036c20
mov eax, 0xffffff53
ret