Function at 0x140191240
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [rsp + 0x60]
add rax, 0x28
mov qword [rsp + 0x38], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
mov dword [rsp + 4], eax
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x10], eax
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
mov dword [rsp + 0xc], eax
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x2c], eax
mov eax, 4
imul rax, rax, 4
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
mov dword [rsp], eax
mov eax, 4
imul rax, rax, 5
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x18], eax
mov eax, 4
imul rax, rax, 6
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x14], eax
mov eax, 4
imul rax, rax, 7
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
mov dword [rsp + 0x28], eax
mov dword [rsp + 8], 0
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x68]
add rax, 4
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x30]
shr eax, 0x10
mov ecx, dword [rsp + 0x30]
shl ecx, 0x10
or eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x30]
and eax, 0xff00ff00
shr eax, 8
mov ecx, dword [rsp + 0x30]
and ecx, 0xff00ff
shl ecx, 8
or eax, ecx
movsxd rcx, dword [rsp + 8]
mov rdx, qword [rsp + 0x38]
mov dword [rdx + rcx*4], eax
mov eax, dword [rsp]
shr eax, 6
mov ecx, dword [rsp]
shl ecx, 0x1a
or eax, ecx
mov ecx, dword [rsp]
shr ecx, 0xb
mov edx, dword [rsp]
shl edx, 0x15
or ecx, edx
xor eax, ecx
mov ecx, dword [rsp]
shr ecx, 0x19
mov edx, dword [rsp]
shl edx, 7
or ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x18]
mov edx, dword [rsp]
and edx, ecx
mov ecx, edx
mov edx, dword [rsp]
not edx
and edx, dword [rsp + 0x14]
xor ecx, edx
add eax, ecx
movsxd rcx, dword [rsp + 8]
lea rdx, [0x140331cd0]
add eax, dword [rdx + rcx*4]
movsxd rcx, dword [rsp + 8]
mov rdx, qword [rsp + 0x38]
add eax, dword [rdx + rcx*4]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 4]
shr eax, 2
mov ecx, dword [rsp + 4]
shl ecx, 0x1e
or eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 0xd
mov edx, dword [rsp + 4]
shl edx, 0x13
or ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 0x16
mov edx, dword [rsp + 4]
shl edx, 0xa
or ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 0x10]
mov edx, dword [rsp + 4]
and edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0xc]
mov r8d, dword [rsp + 4]
and r8d, edx
mov edx, r8d
xor ecx, edx
mov edx, dword [rsp + 0xc]
mov r8d, dword [rsp + 0x10]
and r8d, edx
mov edx, r8d
xor ecx, edx
add eax, ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x14]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x18]
mov dword [rsp + 0x14], eax
mov eax, dword [rsp]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 0xc]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 4]
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
inc eax
mov dword [rsp + 8], eax
cmp dword [rsp + 8], 0x10
jl 0x14019130b
mov eax, dword [rsp + 8]
inc eax
and eax, 0xf
cdqe
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
shr eax, 7
mov ecx, dword [rsp + 0x20]
shl ecx, 0x19
or eax, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 0x12
mov edx, dword [rsp + 0x20]
shl edx, 0xe
or ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 0x20]
shr ecx, 3
xor eax, ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 8]
add eax, 0xe
and eax, 0xf
cdqe
mov rcx, qword [rsp + 0x38]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x1c], eax
mov eax, dword [rsp + 0x1c]
shr eax, 0x11
mov ecx, dword [rsp + 0x1c]
shl ecx, 0xf
or eax, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 0x13
mov edx, dword [rsp + 0x1c]
shl edx, 0xd
or ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 0x1c]
shr ecx, 0xa
xor eax, ecx
mov dword [rsp + 0x1c], eax
mov eax, dword [rsp + 8]
and eax, 0xf
cdqe
mov ecx, dword [rsp + 8]
add ecx, 9
and ecx, 0xf
movsxd rcx, ecx
mov rdx, qword [rsp + 0x38]
mov ecx, dword [rdx + rcx*4]
mov edx, dword [rsp + 0x1c]
add edx, ecx
mov ecx, edx
add ecx, dword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov eax, dword [rdx + rax*4]
add eax, ecx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 8]
and eax, 0xf
cdqe
mov rcx, qword [rsp + 0x38]
mov edx, dword [rsp + 0x40]
mov dword [rcx + rax*4], edx
mov eax, dword [rsp]
not eax
and eax, dword [rsp + 0x14]
mov ecx, dword [rsp + 0x18]
mov edx, dword [rsp]
and edx, ecx
mov ecx, edx
xor ecx, eax
mov eax, ecx
mov ecx, dword [rsp]
shl ecx, 7
mov edx, dword [rsp]
shr edx, 0x19
or edx, ecx
mov ecx, edx
mov edx, dword [rsp]
shl edx, 0x15
mov r8d, dword [rsp]
shr r8d, 0xb
or r8d, edx
mov edx, r8d
mov r8d, dword [rsp]
shl r8d, 0x1a
mov r9d, dword [rsp]
shr r9d, 6
or r9d, r8d
mov r8d, r9d
xor r8d, edx
mov edx, r8d
xor edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x28]
add edx, ecx
mov ecx, edx
add ecx, eax
mov eax, ecx
movsxd rcx, dword [rsp + 8]
lea rdx, [0x140331cd0]
add eax, dword [rdx + rcx*4]
add eax, dword [rsp + 0x40]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 4]
shr eax, 2
mov ecx, dword [rsp + 4]
shl ecx, 0x1e
or eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 0xd
mov edx, dword [rsp + 4]
shl edx, 0x13
or ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 4]
shr ecx, 0x16
mov edx, dword [rsp + 4]
shl edx, 0xa
or ecx, edx
xor eax, ecx
mov ecx, dword [rsp + 0x10]
mov edx, dword [rsp + 4]
and edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0xc]
mov r8d, dword [rsp + 4]
and r8d, edx
mov edx, r8d
xor ecx, edx
mov edx, dword [rsp + 0xc]
mov r8d, dword [rsp + 0x10]
and r8d, edx
mov edx, r8d
xor ecx, edx
add eax, ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x14]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x18]
mov dword [rsp + 0x14], eax
mov eax, dword [rsp]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
mov dword [rsp], eax
mov eax, dword [rsp + 0xc]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 4]
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x24]
add ecx, eax
mov eax, ecx
mov dword [rsp + 4], eax
mov eax, dword [rsp + 8]
inc eax
mov dword [rsp + 8], eax
cmp dword [rsp + 8], 0x40
jl 0x140191499
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
add eax, dword [rsp + 4]
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x60]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
add eax, dword [rsp + 0x10]
mov ecx, 4
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x60]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
add eax, dword [rsp + 0xc]
mov ecx, 4
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x60]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
add eax, dword [rsp + 0x2c]
mov ecx, 4
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x60]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 4
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
add eax, dword [rsp]
mov ecx, 4
imul rcx, rcx, 4
mov rdx, qword [rsp + 0x60]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 5
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
add eax, dword [rsp + 0x18]
mov ecx, 4
imul rcx, rcx, 5
mov rdx, qword [rsp + 0x60]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 6
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
add eax, dword [rsp + 0x14]
mov ecx, 4
imul rcx, rcx, 6
mov rdx, qword [rsp + 0x60]
mov dword [rdx + rcx], eax
mov eax, 4
imul rax, rax, 7
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + rax]
add eax, dword [rsp + 0x28]
mov ecx, 4
imul rcx, rcx, 7
mov rdx, qword [rsp + 0x60]
mov dword [rdx + rcx], eax
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x14], eax
mov eax, dword [rsp + 0x14]
mov dword [rsp + 0x18], eax
mov eax, dword [rsp + 0x18]
mov dword [rsp], eax
mov eax, dword [rsp]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x10]
mov dword [rsp + 4], eax
add rsp, 0x58
ret