Function at 0x14027f680
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x80
mov rdi, rdx
mov rsi, rcx
mov dword [rax - 0x58], 0x9e3779b9
mov dword [rax - 0x54], 0x3c6ef373
mov dword [rax - 0x50], 0x78dde6e6
mov dword [rax - 0x4c], 0xf1bbcdcc
mov dword [rax - 0x48], 0xe3779b99
mov dword [rax - 0x44], 0xc6ef3733
mov dword [rax - 0x40], 0x8dde6e67
mov dword [rax - 0x3c], 0x1bbcdccf
mov dword [rax - 0x38], 0x3779b99e
mov dword [rax - 0x34], 0x6ef3733c
mov dword [rax - 0x30], 0xdde6e678
mov dword [rax - 0x2c], 0xbbcdccf1
mov dword [rax - 0x28], 0x779b99e3
mov dword [rax - 0x24], 0xef3733c6
mov dword [rax - 0x20], 0xde6e678d
mov dword [rax - 0x1c], 0xbcdccf1b
mov edx, 4
mov ecx, edx
call fcn.140245630
mov rbx, rax
mov qword [rsp + 0x20], rax
lea rbp, [rax + 0x10]
mov qword [rsp + 0x30], rbp
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rsp + 0x28], rbp
mov rcx, qword [rdi]
mov eax, dword [rcx]
bswap eax
mov dword [rbx], eax
mov eax, dword [rcx + 4]
bswap eax
mov dword [rbx + 4], eax
mov eax, dword [rcx + 8]
bswap eax
mov dword [rbx + 8], eax
mov eax, dword [rcx + 0xc]
bswap eax
mov dword [rbx + 0xc], eax
mov r9, qword [rsi + 0x10]
mov rdx, qword [rsi + 8]
mov rcx, r9
sub rcx, rdx
sar rcx, 2
cmp rcx, 0x20
jbe 0x14027f77f
lea rax, [rdx + 0x80]
mov qword [rsi + 0x10], rax
jmp 0x14027f7cc
jae 0x14027f7cc
mov rax, qword [rsi + 0x18]
sub rax, rdx
sar rax, 2
cmp rax, 0x20
jae 0x14027f7aa
lea r8, [rsp + 0xa0]
mov edx, 0x20
lea rcx, [rsi + 8]
call fcn.140262690
jmp 0x14027f7cc
mov eax, 0x20
sub rax, rcx
lea r8, [rax*4]
lea rdi, [r8 + r9]
xor edx, edx
mov rcx, r9
call fcn.1402f7260
mov qword [rsi + 0x10], rdi
xor edi, edi
lea r14, [rsp + 0x44]
lea r15, [0x140000000]
nop word [rax + rax]
mov r11d, dword [r14 - 4]
mov r8d, dword [rbx + 8]
sub r8d, r11d
add r8d, dword [rbx]
movzx eax, r8b
movzx eax, byte [rax + r15 + 0x326700]
imul r9d, eax, 0x1010101
mov eax, r8d
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r15 + 0x326800]
imul r10d, eax, 0x1010101
mov eax, r8d
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r15 + 0x326700]
imul edx, eax, 0x1010101
mov eax, r8d
shr rax, 0x18
movzx eax, byte [rax + r15 + 0x326800]
imul ecx, eax, 0x1010101
and edx, 0xf3fc3fcf
and r9d, 0x3fcff3fc
xor edx, r9d
and ecx, 0xcff3fc3f
xor edx, ecx
and r10d, 0xfc3fcff3
xor edx, r10d
mov rax, qword [rsi + 8]
mov dword [rdi + rax], edx
sub r11d, dword [rbx + 0xc]
add r11d, dword [rbx + 4]
movzx eax, r11b
movzx eax, byte [rax + r15 + 0x326700]
imul r8d, eax, 0x1010101
mov eax, r11d
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r15 + 0x326800]
imul r9d, eax, 0x1010101
mov eax, r11d
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r15 + 0x326700]
imul edx, eax, 0x1010101
mov eax, r11d
shr rax, 0x18
movzx eax, byte [rax + r15 + 0x326800]
imul ecx, eax, 0x1010101
mov rax, qword [rsi + 8]
and edx, 0xf3fc3fcf
and r8d, 0x3fcff3fc
xor edx, r8d
and ecx, 0xcff3fc3f
xor edx, ecx
and r9d, 0xfc3fcff3
xor edx, r9d
xor edx, dword [rdi + rax]
mov dword [rdi + rax + 4], edx
mov ecx, dword [rbx]
movzx r10d, byte [rbx + 4]
shl r10d, 0x18
mov eax, ecx
shr eax, 8
or r10d, eax
mov dword [rbx], r10d
shl ecx, 0x18
mov eax, dword [rbx + 4]
shr eax, 8
or ecx, eax
mov dword [rbx + 4], ecx
mov r11d, dword [r14]
sub r10d, r11d
add r10d, dword [rbx + 8]
movzx eax, r10b
movzx eax, byte [rax + r15 + 0x326700]
imul r8d, eax, 0x1010101
mov eax, r10d
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r15 + 0x326800]
imul r9d, eax, 0x1010101
mov eax, r10d
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r15 + 0x326700]
imul edx, eax, 0x1010101
mov eax, r10d
shr rax, 0x18
movzx eax, byte [rax + r15 + 0x326800]
imul ecx, eax, 0x1010101
and edx, 0xf3fc3fcf
and r8d, 0x3fcff3fc
xor edx, r8d
and ecx, 0xcff3fc3f
xor edx, ecx
and r9d, 0xfc3fcff3
xor edx, r9d
mov rax, qword [rsi + 8]
mov dword [rdi + rax + 8], edx
sub r11d, dword [rbx + 0xc]
add r11d, dword [rbx + 4]
movzx eax, r11b
movzx eax, byte [rax + r15 + 0x326700]
imul r8d, eax, 0x1010101
mov eax, r11d
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + r15 + 0x326800]
imul r9d, eax, 0x1010101
mov eax, r11d
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r15 + 0x326700]
imul edx, eax, 0x1010101
mov eax, r11d
shr rax, 0x18
movzx eax, byte [rax + r15 + 0x326800]
imul ecx, eax, 0x1010101
mov rax, qword [rsi + 8]
and edx, 0xf3fc3fcf
and r8d, 0x3fcff3fc
xor edx, r8d
and ecx, 0xcff3fc3f
xor edx, ecx
and r9d, 0xfc3fcff3
xor edx, r9d
xor edx, dword [rdi + rax + 8]
mov dword [rdi + rax + 0xc], edx
movzx edx, byte [rbx + 0xf]
mov r8d, dword [rbx + 8]
mov ecx, dword [rbx + 0xc]
shl ecx, 8
mov eax, r8d
shr eax, 0x18
or ecx, eax
mov dword [rbx + 0xc], ecx
shl r8d, 8
or r8d, edx
mov dword [rbx + 8], r8d
lea r14, [r14 + 8]
add rdi, 0x10
cmp rdi, 0x80
jne 0x14027f7e0
sub rbp, rbx
sar rbp, 2
mov r8d, 4
mov rdx, rbp
mov rcx, rbx
call fcn.1402456d0
nop
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rdi
ret