Function at 0x140016639
Capabilities:
Encode data using xor
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
test r8d, r8d
jle 0x140016ba6
mov r11, rsp
push rbp
push rdi
sub rsp, 0x168
mov rax, qword [0x14005bed0]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov eax, dword [rcx + 0x98]
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], r12
mov r12d, dword [rcx + 0x88]
mov qword [r11 - 0x18], r13
mov r13d, dword [rcx + 0x8c]
mov rdi, rcx
mov qword [r11 - 0x20], r14
mov r14d, dword [rcx + 0x90]
mov qword [rsp + 0x30], rcx
mov qword [r11 - 0x28], r15
mov r15d, dword [rcx + 0x94]
mov ecx, dword [rcx + 0x9c]
mov dword [rsp + 0x20], eax
mov eax, dword [rdi + 0xa0]
mov dword [rsp + 0x1c], ecx
mov ecx, dword [rdi + 0xa4]
xor ebp, ebp
mov dword [rsp + 8], ecx
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x14], r13d
mov dword [rsp + 0x18], r14d
mov dword [rsp + 0xc], ebp
mov dword [rsp + 0x10], r15d
mov dword [rsp + 4], eax
nop word [rax + rax]
mov eax, ebp
lea r9, [rsp + 0x44]
shl eax, 6
movsxd r10, eax
add r10, rdx
xor r11d, r11d
lea r8, [r10 + 0xa]
nop word [rax + rax]
lea eax, [r11*4]
add r11d, 4
add r9, 0x10
movsxd rcx, eax
add r8, 0x10
movzx eax, byte [rcx + r10 + 1]
movzx edx, byte [rcx + r10]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + r10 + 2]
shl edx, 8
or edx, eax
movzx eax, byte [rcx + r10 + 3]
movzx ecx, byte [r8 - 0x16]
shl ecx, 8
shl edx, 8
or edx, eax
movzx eax, byte [r8 - 0x15]
or ecx, eax
movzx eax, byte [r8 - 0x14]
mov dword [r9 - 0x14], edx
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 - 0x13]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 - 0x11]
mov dword [r9 - 0x10], ecx
movzx ecx, byte [r8 - 0x12]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 - 0x10]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 - 0xf]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 - 0xd]
mov dword [r9 - 0xc], ecx
movzx ecx, byte [r8 - 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 - 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 - 0xb]
shl ecx, 8
or ecx, eax
mov dword [r9 - 8], ecx
cmp r11d, 0x10
jl 0x140016700
lea rbx, [rsp + 0x40]
mov esi, 0xc
nop word [rax + rax]
mov r9d, dword [rbx + 4]
mov r8d, dword [rbx + 8]
mov edx, dword [rbx + 0x38]
mov ecx, edx
mov r11d, r9d
mov eax, r9d
rol r11d, 0xe
ror eax, 7
mov r10d, r8d
xor r11d, eax
mov eax, r9d
shr eax, 3
xor r11d, eax
rol ecx, 0xf
mov eax, edx
shr edx, 0xa
rol eax, 0xd
xor ecx, eax
mov eax, r8d
xor ecx, edx
mov edx, dword [rbx + 0x3c]
add r11d, ecx
mov ecx, edx
add r11d, dword [rbx + 0x24]
add r11d, dword [rbx]
rol r10d, 0xe
ror eax, 7
xor r10d, eax
mov eax, r8d
mov dword [rbx + 0x40], r11d
shr eax, 3
xor r10d, eax
rol ecx, 0xf
mov eax, edx
shr edx, 0xa
rol eax, 0xd
xor ecx, eax
xor ecx, edx
add r10d, ecx
mov ecx, r11d
add r10d, dword [rbx + 0x28]
add r10d, r9d
mov r9d, dword [rbx + 0xc]
mov edx, r9d
mov eax, r9d
mov dword [rbx + 0x44], r10d
rol edx, 0xe
ror eax, 7
xor edx, eax
mov eax, r9d
shr eax, 3
xor edx, eax
rol ecx, 0xf
mov eax, r11d
rol eax, 0xd
shr r11d, 0xa
xor ecx, eax
xor ecx, r11d
add edx, ecx
mov ecx, dword [rbx + 0x10]
add edx, dword [rbx + 0x2c]
mov eax, ecx
add edx, r8d
mov dword [rbx + 0x48], edx
mov edx, ecx
shr ecx, 3
rol edx, 0xe
ror eax, 7
xor edx, eax
mov eax, r10d
xor edx, ecx
mov ecx, r10d
shr r10d, 0xa
rol ecx, 0xf
rol eax, 0xd
xor ecx, eax
xor ecx, r10d
add edx, ecx
add edx, dword [rbx + 0x30]
add edx, r9d
mov dword [rbx + 0x4c], edx
add rbx, 0x10
dec rsi
jne 0x1400167d0
mov eax, dword [rdi + 0xa0]
mov ebx, dword [rdi + 0x88]
mov r11d, dword [rdi + 0x8c]
mov r10d, dword [rdi + 0x90]
mov r9d, dword [rdi + 0x94]
mov ebp, dword [rdi + 0x98]
mov r15d, dword [rdi + 0x9c]
mov esi, dword [rdi + 0xa4]
xor r14d, r14d
mov edi, eax
lea r13, [0x14005b790]
nop dword [rax]
mov r8d, ebp
mov eax, ebp
mov ecx, ebp
ror r8d, 0xb
rol eax, 7
not ecx
xor r8d, eax
and ecx, edi
mov eax, ebp
ror eax, 6
mov edx, ebx
xor r8d, eax
mov eax, r15d
and eax, ebp
xor ecx, eax
mov eax, ebx
add r8d, ecx
mov ecx, r11d
add r8d, dword [r14 + r13]
xor ecx, ebx
add r8d, dword [rsp + r14 + 0x40]
and ecx, r10d
add r8d, esi
ror edx, 0xd
rol eax, 0xa
xor edx, eax
lea esi, [r9 + r8]
mov eax, ebx
ror eax, 2
xor edx, eax
mov eax, r11d
and eax, ebx
xor ecx, eax
mov eax, esi
add edx, ecx
mov ecx, esi
lea r9d, [rdx + r8]
not ecx
mov r8d, esi
ror r8d, 0xb
rol eax, 7
and ecx, r15d
xor r8d, eax
mov eax, esi
mov edx, r9d
ror eax, 6
xor r8d, eax
mov eax, ebp
and eax, esi
xor ecx, eax
mov eax, r9d
add r8d, ecx
mov ecx, ebx
add r8d, dword [r14 + r13 + 4]
xor ecx, r9d
add r8d, dword [rsp + r14 + 0x44]
and ecx, r11d
add r8d, edi
ror edx, 0xd
rol eax, 0xa
xor edx, eax
lea edi, [r10 + r8]
mov eax, r9d
ror eax, 2
xor edx, eax
mov eax, ebx
and eax, r9d
xor ecx, eax
mov eax, edi
add edx, ecx
mov ecx, edi
lea r10d, [rdx + r8]
mov r8d, edi
not ecx
ror r8d, 0xb
rol eax, 7
xor r8d, eax
mov eax, edi
ror eax, 6
xor r8d, eax
and ecx, ebp
mov eax, esi
mov edx, r10d
add r14, 0x10
and eax, edi
xor ecx, eax
mov eax, r10d
add r8d, ecx
mov ecx, r9d
add r8d, dword [r14 + r13 - 8]
xor ecx, r10d
add r8d, dword [rsp + r14 + 0x38]
and ecx, ebx
add r8d, r15d
ror edx, 0xd
rol eax, 0xa
xor edx, eax
lea r15d, [r11 + r8]
mov eax, r10d
ror eax, 2
xor edx, eax
mov eax, r9d
and eax, r10d
xor ecx, eax
mov eax, r15d
add edx, ecx
mov ecx, r15d
lea r11d, [rdx + r8]
not ecx
mov r8d, r15d
ror r8d, 0xb
rol eax, 7
and ecx, esi
xor r8d, eax
mov eax, r15d
mov edx, r11d
ror eax, 6
xor r8d, eax
mov eax, edi
and eax, r15d
xor ecx, eax
mov eax, r11d
add r8d, ecx
mov ecx, r10d
add r8d, dword [r14 + r13 - 4]
xor ecx, r11d
add r8d, dword [rsp + r14 + 0x3c]
and ecx, r9d
add r8d, ebp
ror edx, 0xd
rol eax, 0xa
xor edx, eax
mov eax, r11d
lea ebp, [rbx + r8]
ror eax, 2
xor edx, eax
mov eax, r10d
and eax, r11d
xor ecx, eax
add edx, ecx
lea ebx, [rdx + r8]
cmp r14, 0x100
jl 0x140016910
mov ecx, dword [rsp + 0x20]
mov r13d, dword [rsp + 0x14]
mov r14d, dword [rsp + 0x18]
mov rdx, qword [rsp + 0x38]
add ecx, ebp
mov ebp, dword [rsp + 0xc]
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r15d
mov r15d, dword [rsp + 0x10]
mov dword [rsp], edi
mov rdi, qword [rsp + 0x30]
add r13d, r11d
mov dword [rdi + 0x98], ecx
mov ecx, dword [rsp + 0x1c]
add r14d, r10d
add ecx, dword [rsp + 0x24]
add r15d, r9d
inc ebp
mov dword [rsp + 0x1c], ecx
mov dword [rdi + 0x9c], ecx
mov ecx, dword [rsp + 4]
add ecx, dword [rsp]
add r12d, ebx
mov dword [rsp + 0x14], r13d
mov dword [rsp + 4], ecx
mov dword [rdi + 0xa0], ecx
mov ecx, dword [rsp + 8]
add ecx, esi
mov dword [rdi + 0x88], r12d
mov dword [rdi + 0x8c], r13d
mov dword [rsp + 0x18], r14d
mov dword [rdi + 0x90], r14d
mov dword [rsp + 0x10], r15d
mov dword [rsp + 8], ecx
mov dword [rdi + 0xa4], ecx
mov dword [rdi + 0x94], r15d
mov dword [rsp + 0xc], ebp
cmp ebp, dword [rsp + 0x28]
jl 0x1400166e0
mov r15, qword [rsp + 0x150]
mov r14, qword [rsp + 0x158]
mov r13, qword [rsp + 0x160]
mov r12, qword [rsp + 0x198]
mov rsi, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x188]
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.14001d550
add rsp, 0x168
pop rdi
pop rbp
repz ret