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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x130
mov rax, rcx
mov ecx, dword [rcx + 8]
mov dword [rsp + 8], ecx
mov ebp, ecx
mov ecx, dword [rax + 0xc]
mov dword [rsp + 0xc], ecx
mov dword [rsp + 0x188], ecx
mov ecx, dword [rax + 0x10]
mov dword [rsp + 0x10], ecx
mov dword [rsp], ecx
mov ecx, dword [rax + 0x14]
mov dword [rsp + 0x14], ecx
mov dword [rsp + 4], ecx
mov ecx, dword [rax + 0x18]
mov r14d, ecx
mov dword [rsp + 0x18], ecx
mov ecx, dword [rax + 0x1c]
mov r15d, ecx
mov dword [rsp + 0x1c], ecx
mov ecx, dword [rax + 0x20]
mov r13d, ecx
mov eax, dword [rax + 0x24]
mov dword [rsp + 0x20], ecx
movzx ecx, byte [rdx]
shl ecx, 8
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x180], eax
movzx eax, byte [rdx + 1]
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 + 0x30], 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 + 9]
mov dword [rsp + 0x34], ecx
movzx ecx, byte [rdx + 8]
shl ecx, 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 + 0xd]
mov dword [rsp + 0x38], ecx
movzx ecx, byte [rdx + 0xc]
shl ecx, 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 + 0x11]
mov dword [rsp + 0x3c], ecx
movzx ecx, byte [rdx + 0x10]
shl ecx, 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
mov dword [rsp + 0x40], ecx
movzx ecx, byte [rdx + 0x14]
shl ecx, 8
movzx eax, byte [rdx + 0x15]
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 + 0x19]
mov dword [rsp + 0x44], ecx
movzx ecx, byte [rdx + 0x18]
shl ecx, 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
movzx eax, byte [rdx + 0x1d]
mov dword [rsp + 0x48], ecx
movzx ecx, byte [rdx + 0x1c]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1e]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x1f]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0x21]
mov dword [rsp + 0x4c], 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 + 0x50], 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 + 0x54], 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 + 0x58], 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 + 0x5c], ecx
movzx ecx, byte [rdx + 0x30]
shl ecx, 8
or ecx, eax
shl ecx, 8
movzx eax, byte [rdx + 0x32]
mov r12d, 8
movzx edi, byte [rdx + 0x38]
or ecx, eax
movzx eax, byte [rdx + 0x33]
shl ecx, 8
or ecx, eax
shl edi, 8
movzx eax, byte [rdx + 0x35]
mov dword [rsp + 0x60], 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 + 0x64], ecx
movzx eax, byte [rdx + 0x3a]
movzx ecx, byte [rdx + 0x3c]
shl ecx, 8
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 0x3b]
shl edi, 8
or edi, eax
movzx eax, byte [rdx + 0x3d]
or ecx, eax
mov dword [rsp + 0x68], 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 + 0x68]
mov dword [rsp + 0x6c], ecx
nop dword [rax]
nop word [rax + rax]
mov r10d, dword [rax - 0x34]
mov r9d, edi
mov ecx, edi
rol r9d, 0xf
rol ecx, 0xd
mov esi, edi
xor r9d, ecx
mov edx, r10d
rol edx, 0xe
mov ecx, edi
shr ecx, 0xa
xor r9d, ecx
mov ecx, r10d
ror ecx, 7
xor edx, ecx
mov ecx, r10d
shr ecx, 3
xor edx, ecx
add r9d, edx
add r9d, dword [rax - 0x38]
add r9d, dword [rax - 0x14]
mov dword [rax + 8], r9d
mov edi, r9d
mov r11d, dword [rax - 0x30]
mov edx, dword [rax + 4]
mov r8d, edx
mov ecx, edx
rol r8d, 0xf
rol ecx, 0xd
xor r8d, ecx
shr edx, 0xa
xor r8d, edx
rol edi, 0xf
mov edx, r11d
mov ecx, r11d
ror ecx, 7
rol edx, 0xe
xor edx, ecx
mov ecx, r11d
shr ecx, 3
xor edx, ecx
mov ecx, r9d
rol ecx, 0xd
add r8d, edx
add r8d, dword [rax - 0x10]
xor edi, ecx
add r10d, r8d
shr r9d, 0xa
mov dword [rax + 0xc], r10d
xor edi, r9d
mov r8d, dword [rax - 0x2c]
mov ebx, r10d
rol ebx, 0xf
mov edx, r8d
rol edx, 0xe
mov ecx, r8d
ror ecx, 7
xor edx, ecx
mov ecx, r8d
shr ecx, 3
xor edx, ecx
mov ecx, r10d
add edi, edx
rol ecx, 0xd
add edi, dword [rax - 0xc]
xor ebx, ecx
add edi, r11d
shr r10d, 0xa
mov dword [rax + 0x10], edi
xor ebx, r10d
mov r9d, dword [rax - 0x28]
mov edx, r9d
rol edx, 0xe
mov ecx, r9d
ror ecx, 7
xor edx, ecx
mov ecx, r9d
shr ecx, 3
xor edx, ecx
add ebx, edx
add ebx, dword [rax - 8]
add ebx, r8d
mov edx, edi
rol edx, 0xf
mov dword [rax + 0x14], ebx
mov r11d, dword [rax - 0x24]
lea rax, [rax + 0x18]
mov r8d, r11d
mov ecx, r11d
ror ecx, 7
rol r8d, 0xe
xor r8d, ecx
mov ecx, r11d
shr ecx, 3
xor r8d, ecx
mov ecx, edi
rol ecx, 0xd
xor edx, ecx
shr edi, 0xa
xor edi, edx
mov ecx, ebx
add edi, r8d
rol ecx, 0xd
add edi, dword [rax - 0x1c]
mov r8d, ebx
add edi, r9d
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 ebx, 0xa
xor r8d, ebx
shr r9d, 3
xor edx, r9d
lea ecx, [rsi + r8]
add edx, ecx
add edx, r11d
mov dword [rax + 4], edx
sub r12, 1
jne 0x7ff6591e87a0
mov r12d, dword [rsp + 0x188]
lea rcx, [0x7ff659226e10]
mov ebx, dword [rsp]
xor r10d, r10d
mov r8d, dword [rsp + 4]
mov eax, r14d
mov edx, r14d
rol eax, 7
mov r9d, r12d
ror edx, 0xb
or r9d, ebp
xor edx, eax
and r9d, ebx
mov eax, r14d
mov esi, r14d
ror eax, 6
mov edi, r15d
xor edx, eax
mov eax, r15d
xor eax, r13d
and eax, r14d
xor eax, r13d
add edx, eax
mov eax, ebp
add edx, dword [r10 + rcx]
mov ecx, ebp
add edx, dword [rsp + r10 + 0x30]
add edx, dword [rsp + 0x180]
rol eax, 0xa
ror ecx, 0xd
xor ecx, eax
mov dword [rsp + 0x180], r15d
lea r11d, [r8 + rdx]
mov eax, ebp
ror eax, 2
mov r8d, r11d
xor ecx, eax
ror r8d, 0xb
mov eax, r12d
and eax, ebp
or r9d, eax
lea eax, [rdx + rcx]
mov ecx, ebp
add r9d, eax
mov eax, r11d
rol eax, 7
or ecx, r9d
xor r8d, eax
and ecx, r12d
mov eax, r11d
mov edx, r9d
ror eax, 6
xor r8d, eax
ror edx, 0xd
mov eax, r15d
xor eax, r14d
and eax, r11d
xor eax, r15d
mov r15d, r11d
add r8d, eax
lea rax, [0x7ff659226e10]
add r8d, dword [r10 + rax + 4]
mov eax, r9d
add r8d, dword [rsp + r10 + 0x34]
add r10, 8
rol eax, 0xa
add r8d, r13d
xor edx, eax
mov r13d, r14d
mov eax, r9d
ror eax, 2
xor edx, eax
lea r14d, [rbx + r8]
add edx, r8d
mov eax, ebp
and eax, r9d
mov r8d, r12d
or ecx, eax
mov ebx, ebp
add edx, ecx
mov r12d, r9d
lea rcx, [0x7ff659226e10]
mov ebp, edx
cmp r10, 0x100
jl 0x7ff6591e8931
mov rcx, qword [rsp + 0x170]
mov eax, dword [rsp + 8]
add eax, edx
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0xc]
add eax, r9d
mov dword [rcx + 0xc], eax
mov eax, dword [rsp + 0x10]
add eax, ebx
mov rbx, qword [rsp + 0x178]
mov dword [rcx + 0x10], eax
mov eax, dword [rsp + 0x14]
add eax, r8d
mov dword [rcx + 0x14], eax
mov eax, dword [rsp + 0x18]
add eax, r14d
mov dword [rcx + 0x18], eax
mov eax, dword [rsp + 0x1c]
add eax, r11d
mov dword [rcx + 0x1c], eax
mov eax, dword [rsp + 0x20]
add eax, r13d
mov dword [rcx + 0x20], eax
mov eax, dword [rsp + 0x24]
add eax, edi
mov dword [rcx + 0x24], eax
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret