Function at 0x140021390
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
test r8d, r8d
jle 0x1400219dc
mov r11, rsp
mov dword [r11 + 0x18], r8d
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
sub rsp, 0x160
mov qword [r11 - 0x10], rbx
xor eax, eax
mov qword [r11 - 0x18], rsi
mov rbp, rcx
mov qword [r11 - 0x20], rdi
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r14
mov qword [r11 - 0x40], r15
mov dword [rsp + 0x188], eax
nop dword [rax + rax]
shl eax, 6
cdqe
add rdx, rax
movzx eax, byte [rdx + 1]
movzx ecx, byte [rdx]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 5]
mov dword [rsp + 0x20], ecx
movzx ecx, byte [rdx + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 8]
mov dword [rsp + 0x24], ecx
movzx ecx, byte [rdx + 9]
shl eax, 8
or ecx, eax
movzx eax, byte [rdx + 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xc]
mov dword [rsp + 0x28], ecx
movzx ecx, byte [rdx + 0xd]
shl eax, 8
or ecx, eax
movzx eax, byte [rdx + 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x10]
mov dword [rsp + 0x2c], ecx
movzx ecx, byte [rdx + 0x11]
shl eax, 8
or ecx, eax
movzx eax, byte [rdx + 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x13]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x14]
mov dword [rsp + 0x30], ecx
movzx ecx, byte [rdx + 0x15]
shl eax, 8
or ecx, eax
movzx eax, byte [rdx + 0x16]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x17]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x18]
mov dword [rsp + 0x34], ecx
movzx ecx, byte [rdx + 0x19]
shl eax, 8
or ecx, eax
movzx eax, byte [rdx + 0x1a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1b]
shl ecx, 8
or ecx, eax
mov dword [rsp + 0x38], ecx
movzx ecx, byte [rdx + 0x1c]
shl ecx, 8
movzx eax, byte [rdx + 0x1d]
or ecx, eax
movzx edi, byte [rdx + 0x38]
shl ecx, 8
movzx eax, byte [rdx + 0x1e]
or ecx, eax
shl edi, 8
shl ecx, 8
movzx eax, byte [rdx + 0x1f]
or ecx, eax
movzx eax, byte [rdx + 0x21]
mov dword [rsp + 0x3c], ecx
movzx ecx, byte [rdx + 0x20]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x22]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x23]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x25]
mov dword [rsp + 0x40], ecx
movzx ecx, byte [rdx + 0x24]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x26]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x27]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x29]
mov dword [rsp + 0x44], ecx
movzx ecx, byte [rdx + 0x28]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2a]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2b]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2d]
mov dword [rsp + 0x48], ecx
movzx ecx, byte [rdx + 0x2c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x2f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x31]
mov dword [rsp + 0x4c], ecx
movzx ecx, byte [rdx + 0x30]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x32]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x33]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x35]
mov dword [rsp + 0x50], ecx
movzx ecx, byte [rdx + 0x34]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x36]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x37]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x39]
or edi, eax
mov dword [rsp + 0x54], ecx
shl edi, 8
movzx eax, byte [rdx + 0x3a]
mov r14d, 8
movzx ecx, byte [rdx + 0x3c]
or edi, eax
movzx eax, byte [rdx + 0x3b]
shl ecx, 8
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 0x3d]
or ecx, eax
mov dword [rsp + 0x58], edi
movzx eax, byte [rdx + 0x3e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x3f]
shl ecx, 8
or ecx, eax
lea rax, [rsp + 0x58]
mov dword [rsp + 0x5c], ecx
nop dword [rax]
nop word [rax + rax]
mov r10d, dword [rax - 0x34]
mov r11d, edi
rol r11d, 0xf
mov ecx, edi
rol ecx, 0xd
mov edx, r10d
xor r11d, ecx
rol edx, 0xe
mov ecx, edi
mov esi, edi
shr ecx, 0xa
xor r11d, ecx
mov ecx, r10d
ror ecx, 7
xor edx, ecx
mov ecx, r10d
shr ecx, 3
xor edx, ecx
add r11d, edx
add r11d, dword [rax - 0x38]
add r11d, dword [rax - 0x14]
mov dword [rax + 8], r11d
mov edi, dword [rax - 0x30]
mov r9d, edi
mov r8d, dword [rax + 4]
mov ecx, edi
ror ecx, 7
mov edx, r8d
rol r9d, 0xe
xor r9d, ecx
rol edx, 0xf
mov ecx, edi
shr ecx, 3
xor r9d, ecx
mov ecx, r8d
rol ecx, 0xd
xor edx, ecx
shr r8d, 0xa
xor edx, r8d
add r9d, edx
mov edx, r11d
add r9d, dword [rax - 0x10]
add r10d, r9d
rol edx, 0xf
mov dword [rax + 0xc], r10d
mov ebx, dword [rax - 0x2c]
mov r9d, ebx
rol r9d, 0xe
mov ecx, ebx
ror ecx, 7
xor r9d, ecx
mov ecx, ebx
shr ecx, 3
xor r9d, ecx
mov ecx, r11d
rol ecx, 0xd
xor edx, ecx
shr r11d, 0xa
xor edx, r11d
mov ecx, r10d
add r9d, edx
rol ecx, 0xd
add r9d, dword [rax - 0xc]
mov r11d, r10d
rol r11d, 0xf
add r9d, edi
xor r11d, ecx
mov dword [rax + 0x10], r9d
mov edi, dword [rax - 0x28]
mov edx, edi
rol edx, 0xe
mov ecx, edi
ror ecx, 7
xor edx, ecx
shr r10d, 0xa
xor r11d, r10d
mov ecx, edi
shr ecx, 3
xor edx, ecx
add r11d, edx
add r11d, dword [rax - 8]
add r11d, ebx
mov r8d, r9d
rol r8d, 0xf
mov ecx, r9d
rol ecx, 0xd
mov dword [rax + 0x14], r11d
xor r8d, ecx
mov ebx, dword [rax - 0x24]
lea rax, [rax + 0x18]
shr r9d, 0xa
mov ecx, ebx
ror ecx, 7
xor r8d, r9d
mov edx, ebx
rol edx, 0xe
xor edx, ecx
mov ecx, ebx
shr ecx, 3
xor edx, ecx
mov ecx, r11d
add r8d, edx
rol ecx, 0xd
add r8d, dword [rax - 0x1c]
add edi, r8d
mov r8d, r11d
rol r8d, 0xf
xor r8d, ecx
mov dword [rax], edi
mov r9d, dword [rax - 0x38]
mov edx, r9d
rol edx, 0xe
mov ecx, r9d
ror ecx, 7
xor edx, ecx
shr r11d, 0xa
xor r8d, r11d
shr r9d, 3
xor edx, r9d
lea ecx, [rsi + r8]
add edx, ecx
add edx, ebx
mov dword [rax + 4], edx
sub r14, 1
jne 0x140021630
mov eax, dword [rbp + 0x8c]
xor edi, edi
mov r11d, dword [rbp + 0x88]
mov esi, eax
mov dword [rsp], eax
mov eax, dword [rbp + 0x90]
mov r14d, eax
mov dword [rsp + 4], eax
mov eax, dword [rbp + 0x94]
mov r9d, eax
mov dword [rsp + 8], eax
mov eax, dword [rbp + 0x98]
mov ebx, eax
mov dword [rsp + 0xc], eax
mov eax, dword [rbp + 0x9c]
mov r15d, eax
mov dword [rsp + 0x10], eax
mov eax, dword [rbp + 0xa0]
mov r12d, eax
mov dword [rsp + 0x14], eax
mov eax, dword [rbp + 0xa4]
mov r13d, eax
mov dword [rsp + 0x18], eax
lea rbp, [0x14026cb60]
nop word [rax + rax]
mov r8d, ebx
mov eax, ebx
rol eax, 7
mov ecx, ebx
ror r8d, 0xb
not ecx
xor r8d, eax
and ecx, r12d
mov eax, ebx
mov r10d, r11d
ror eax, 6
xor r8d, eax
ror r10d, 0xd
mov eax, r15d
and eax, ebx
xor ecx, eax
mov eax, r11d
add r8d, ecx
rol eax, 0xa
add r8d, dword [rdi + rbp]
xor r10d, eax
add r8d, dword [rsp + rdi + 0x20]
mov eax, r11d
ror eax, 2
add r8d, r13d
xor r10d, eax
add r9d, r8d
mov ecx, esi
mov eax, esi
and eax, r14d
xor ecx, r14d
and ecx, r11d
mov r13d, r15d
xor ecx, eax
mov eax, r9d
rol eax, 7
add r10d, ecx
add r10d, r8d
mov ecx, r9d
not ecx
mov r8d, r9d
ror r8d, 0xb
and ecx, r15d
xor r8d, eax
mov edx, r10d
ror edx, 0xd
mov eax, r9d
ror eax, 6
mov r15d, r9d
xor r8d, eax
mov eax, r9d
and eax, ebx
mov r9d, esi
xor ecx, eax
mov eax, r10d
add r8d, ecx
rol eax, 0xa
add r8d, dword [rdi + rbp + 4]
xor edx, eax
add r8d, dword [rsp + rdi + 0x24]
mov ecx, esi
xor ecx, r11d
add r8d, r12d
and ecx, r10d
mov eax, r10d
ror eax, 2
mov r12d, ebx
xor edx, eax
add rdi, 8
mov eax, esi
lea ebx, [r14 + r8]
and eax, r11d
mov r14d, r11d
xor ecx, eax
mov esi, r10d
add edx, ecx
lea r11d, [rdx + r8]
cmp rdi, 0x100
jl 0x140021820
mov rbp, qword [rsp + 0x170]
mov eax, dword [rsp]
mov rdx, qword [rsp + 0x178]
add eax, r10d
add dword [rbp + 0x88], r11d
mov dword [rbp + 0x8c], eax
mov eax, dword [rsp + 4]
add eax, r14d
mov dword [rbp + 0x90], eax
mov eax, dword [rsp + 8]
add eax, r9d
mov dword [rbp + 0x94], eax
mov eax, dword [rsp + 0xc]
add eax, ebx
mov dword [rbp + 0x98], eax
mov eax, dword [rsp + 0x10]
add eax, r15d
mov dword [rbp + 0x9c], eax
mov eax, dword [rsp + 0x14]
add eax, r12d
mov dword [rbp + 0xa0], eax
mov eax, dword [rsp + 0x18]
add eax, r13d
mov dword [rbp + 0xa4], eax
mov eax, dword [rsp + 0x188]
inc eax
mov dword [rsp + 0x188], eax
cmp eax, dword [rsp + 0x180]
jl 0x1400213e0
mov r15, qword [rsp + 0x128]
mov r14, qword [rsp + 0x130]
mov r13, qword [rsp + 0x138]
mov r12, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x158]
add rsp, 0x160
pop rbp
ret