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

Disassembly:
test r8, r8
je 0x14001de18
mov qword [rsp + 8], rcx
push rbx
push rbp
push rdi
sub rsp, 0x60
mov ebx, dword [rcx + 4]
mov r11d, dword [rcx + 8]
mov r10d, dword [rcx + 0xc]
mov edi, dword [rcx]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r14
mov dword [rsp + 8], ebx
mov dword [rsp + 0x10], r11d
mov dword [rsp + 0x18], r10d
mov rax, r8
mov rbp, rdx
mov qword [rsp + 0x38], r15
nop
dec rax
movzx edx, byte [rbp]
movzx r8d, byte [rbp + 4]
movzx r9d, byte [rbp + 8]
mov qword [rsp + 0x90], rax
movzx eax, byte [rbp + 1]
shl eax, 8
mov ecx, r10d
or edx, eax
movzx eax, byte [rbp + 2]
xor ecx, r11d
shl eax, 0x10
and ecx, ebx
or edx, eax
movzx eax, byte [rbp + 3]
xor ecx, r10d
shl eax, 0x18
or edx, eax
movzx eax, byte [rbp + 5]
shl eax, 8
add ecx, edx
mov dword [rsp + 0x88], edx
or r8d, eax
movzx eax, byte [rbp + 6]
mov edx, r11d
shl eax, 0x10
xor edx, ebx
add ecx, edi
or r8d, eax
movzx eax, byte [rbp + 7]
shl eax, 0x18
or r8d, eax
movzx eax, byte [rbp + 9]
rol ecx, 3
shl eax, 8
mov dword [rsp + 0xc], r8d
and edx, ecx
or r9d, eax
movzx eax, byte [rbp + 0xa]
xor edx, r11d
shl eax, 0x10
add edx, r8d
mov r8d, ebx
or r9d, eax
movzx eax, byte [rbp + 0xb]
add edx, r10d
movzx r10d, byte [rbp + 0xc]
shl eax, 0x18
xor r8d, ecx
or r9d, eax
movzx eax, byte [rbp + 0xd]
rol edx, 7
shl eax, 8
and r8d, edx
mov dword [rsp + 4], r9d
or r10d, eax
movzx eax, byte [rbp + 0xe]
xor r8d, ebx
shl eax, 0x10
add r8d, r9d
mov r9d, edx
or r10d, eax
movzx eax, byte [rbp + 0xf]
add r8d, r11d
movzx r11d, byte [rbp + 0x10]
shl eax, 0x18
xor r9d, ecx
or r10d, eax
movzx eax, byte [rbp + 0x11]
rol r8d, 0xb
shl eax, 8
mov dword [rsp + 0x14], r10d
or r11d, eax
movzx eax, byte [rbp + 0x12]
shl eax, 0x10
or r11d, eax
movzx eax, byte [rbp + 0x13]
shl eax, 0x18
or r11d, eax
and r9d, r8d
mov dword [rsp + 0x98], r11d
movzx eax, byte [rbp + 0x15]
movzx r14d, byte [rbp + 0x20]
xor r9d, ecx
shl eax, 8
add r9d, r10d
mov r10d, edx
add r9d, ebx
movzx ebx, byte [rbp + 0x14]
xor r10d, r8d
or ebx, eax
movzx eax, byte [rbp + 0x16]
rol r9d, 0x13
shl eax, 0x10
and r10d, r9d
or ebx, eax
movzx eax, byte [rbp + 0x17]
xor r10d, edx
shl eax, 0x18
add r10d, r11d
movzx r11d, byte [rbp + 0x18]
or ebx, eax
movzx eax, byte [rbp + 0x19]
add r10d, ecx
shl eax, 8
rol r10d, 3
mov dword [rsp + 0x1c], ebx
or r11d, eax
movzx eax, byte [rbp + 0x1a]
mov ecx, r8d
shl eax, 0x10
xor ecx, r9d
or r11d, eax
movzx eax, byte [rbp + 0x1b]
and ecx, r10d
shl eax, 0x18
xor ecx, r8d
or r11d, eax
movzx eax, byte [rbp + 0x1d]
add ecx, ebx
movzx ebx, byte [rbp + 0x1c]
shl eax, 8
add ecx, edx
or ebx, eax
movzx eax, byte [rbp + 0x1e]
mov dword [rsp + 0x20], r11d
shl eax, 0x10
rol ecx, 7
mov edx, r9d
or ebx, eax
movzx eax, byte [rbp + 0x1f]
xor edx, r10d
shl eax, 0x18
and edx, ecx
or ebx, eax
movzx eax, byte [rbp + 0x21]
xor edx, r9d
shl eax, 8
add edx, r11d
mov dword [rsp], ebx
or r14d, eax
movzx eax, byte [rbp + 0x22]
add edx, r8d
shl eax, 0x10
rol edx, 0xb
mov r11d, ecx
or r14d, eax
movzx eax, byte [rbp + 0x23]
xor r11d, r10d
shl eax, 0x18
and r11d, edx
or r14d, eax
movzx eax, byte [rbp + 0x25]
xor r11d, r10d
add r11d, ebx
movzx ebx, byte [rbp + 0x24]
shl eax, 8
or ebx, eax
movzx eax, byte [rbp + 0x26]
add r11d, r9d
rol r11d, 0x13
shl eax, 0x10
movzx r13d, byte [rbp + 0x28]
or ebx, eax
movzx eax, byte [rbp + 0x27]
movzx r15d, byte [rbp + 0x2c]
movzx esi, byte [rbp + 0x30]
shl eax, 0x18
or ebx, eax
movzx eax, byte [rbp + 0x29]
movzx r12d, byte [rbp + 0x34]
movzx edi, byte [rbp + 0x38]
shl eax, 8
mov r9d, ecx
or r13d, eax
movzx eax, byte [rbp + 0x2a]
xor r9d, edx
shl eax, 0x10
and r9d, r11d
mov r8d, r11d
or r13d, eax
movzx eax, byte [rbp + 0x2b]
xor r9d, ecx
shl eax, 0x18
add r9d, r14d
mov dword [rsp + 0x24], ebx
or r13d, eax
movzx eax, byte [rbp + 0x2d]
add r9d, r10d
shl eax, 8
rol r9d, 3
mov r10d, edx
or r15d, eax
movzx eax, byte [rbp + 0x2e]
xor r10d, r11d
shl eax, 0x10
and r10d, r9d
xor r8d, r9d
or r15d, eax
movzx eax, byte [rbp + 0x2f]
xor r10d, edx
shl eax, 0x18
add r10d, ebx
or r15d, eax
movzx eax, byte [rbp + 0x31]
add r10d, ecx
shl eax, 8
rol r10d, 7
or esi, eax
movzx eax, byte [rbp + 0x32]
and r8d, r10d
shl eax, 0x10
xor r8d, r11d
mov ecx, r10d
or esi, eax
movzx eax, byte [rbp + 0x33]
xor ecx, r9d
shl eax, 0x18
add r8d, r13d
add r8d, edx
or esi, eax
movzx eax, byte [rbp + 0x35]
shl eax, 8
rol r8d, 0xb
mov edx, r10d
or r12d, eax
movzx eax, byte [rbp + 0x36]
and ecx, r8d
xor edx, r8d
xor ecx, r9d
shl eax, 0x10
or r12d, eax
movzx eax, byte [rbp + 0x37]
add ecx, r15d
add ecx, r11d
shl eax, 0x18
rol ecx, 0x13
or r12d, eax
and edx, ecx
xor edx, r10d
add edx, esi
add edx, r9d
rol edx, 3
movzx eax, byte [rbp + 0x39]
add rbp, 0x3c
mov r9d, r8d
shl eax, 8
xor r9d, ecx
mov qword [rsp + 0x28], rbp
or edi, eax
movzx eax, byte [rbp - 2]
and r9d, edx
shl eax, 0x10
xor r9d, r8d
or edi, eax
movzx eax, byte [rbp - 1]
movzx ebp, byte [rbp]
shl eax, 0x18
add r9d, r12d
or edi, eax
add r9d, r10d
mov r10, qword [rsp + 0x28]
movzx eax, byte [r10 + 1]
add r10, 4
rol r9d, 7
shl eax, 8
mov qword [rsp + 0x28], r10
mov r11d, r9d
or ebp, eax
movzx eax, byte [r10 - 2]
xor r11d, edx
shl eax, 0x10
or ebp, eax
movzx eax, byte [r10 - 1]
mov r10d, ecx
xor r10d, edx
shl eax, 0x18
or ebp, eax
and r10d, r9d
xor r10d, ecx
add r10d, edi
add r10d, r8d
rol r10d, 0xb
and r11d, r10d
mov eax, r10d
xor r11d, edx
add r11d, ebp
add r11d, ecx
mov ecx, r10d
rol r11d, 0x13
or ecx, r11d
and eax, r11d
and ecx, r9d
or ecx, eax
add ecx, dword [rsp + 0x88]
lea r8d, [rcx + rdx + 0x5a827999]
mov edx, r11d
mov ecx, r11d
rol r8d, 3
and ecx, r8d
or edx, r8d
mov eax, edx
and eax, r10d
or eax, ecx
add eax, dword [rsp + 0x98]
lea r9d, [rax + r9 + 0x5a827999]
rol r9d, 5
and edx, r9d
or edx, ecx
add edx, r14d
lea r10d, [rdx + r10 + 0x5a827999]
rol r10d, 9
mov ecx, r10d
mov eax, r10d
or ecx, r8d
and eax, r8d
and ecx, r9d
or ecx, eax
add ecx, esi
lea r11d, [rcx + r11 + 0x5a827999]
mov ecx, r10d
rol r11d, 0xd
or ecx, r11d
and ecx, r9d
mov eax, r10d
mov edx, r11d
and eax, r11d
or ecx, eax
add ecx, dword [rsp + 0xc]
lea r8d, [rcx + r8 + 0x5a827999]
mov ecx, r11d
rol r8d, 3
and ecx, r8d
or edx, r8d
mov eax, edx
and eax, r10d
or eax, ecx
add eax, dword [rsp + 0x1c]
lea r9d, [rax + r9 + 0x5a827999]
rol r9d, 5
and edx, r9d
or edx, ecx
add edx, ebx
lea r10d, [rdx + r10 + 0x5a827999]
rol r10d, 9
mov ecx, r10d
mov eax, r10d
or ecx, r8d
and eax, r8d
and ecx, r9d
or ecx, eax
mov eax, r10d
add ecx, r12d
lea r11d, [rcx + r11 + 0x5a827999]
mov ecx, r10d
rol r11d, 0xd
or ecx, r11d
and eax, r11d
mov edx, r11d
and ecx, r9d
or ecx, eax
add ecx, dword [rsp + 4]
lea r8d, [rcx + r8 + 0x5a827999]
mov ecx, r11d
rol r8d, 3
and ecx, r8d
or edx, r8d
mov eax, edx
and eax, r10d
or eax, ecx
add eax, dword [rsp + 0x20]
lea r9d, [rax + r9 + 0x5a827999]
rol r9d, 5
and edx, r9d
or edx, ecx
add edx, r13d
lea r10d, [rdx + r10 + 0x5a827999]
rol r10d, 9
mov ecx, r10d
mov eax, r10d
or ecx, r8d
and eax, r8d
and ecx, r9d
or ecx, eax
mov eax, r10d
add ecx, edi
lea ebx, [rcx + r11 + 0x5a827999]
mov ecx, r10d
rol ebx, 0xd
or ecx, ebx
and eax, ebx
mov edx, ebx
and ecx, r9d
or ecx, eax
add ecx, dword [rsp + 0x14]
lea r11d, [rcx + r8 + 0x5a827999]
mov ecx, ebx
rol r11d, 3
or edx, r11d
and ecx, r11d
mov eax, edx
and eax, r10d
or eax, ecx
add eax, dword [rsp]
lea r8d, [rax + r9 + 0x5a827999]
rol r8d, 5
and edx, r8d
or edx, ecx
add edx, r15d
lea r9d, [rdx + r10 + 0x5a827999]
rol r9d, 9
mov ecx, r9d
mov eax, r9d
and eax, r11d
or ecx, r11d
and ecx, r8d
or ecx, eax
mov eax, r8d
xor eax, r9d
add ecx, ebp
lea r10d, [rcx + rbx + 0x5a827999]
rol r10d, 0xd
xor eax, r10d
add eax, dword [rsp + 0x88]
lea edx, [rax + r11 + 0x6ed9eba1]
mov eax, r9d
xor eax, r10d
rol edx, 3
xor eax, edx
add eax, r14d
lea r8d, [rax + r8 + 0x6ed9eba1]
rol r8d, 9
mov eax, r8d
mov ecx, r8d
xor eax, r10d
xor eax, edx
add eax, dword [rsp + 0x98]
lea r9d, [rax + r9 + 0x6ed9eba1]
rol r9d, 0xb
xor ecx, r9d
mov eax, ecx
xor eax, edx
add eax, esi
lea r10d, [rax + r10 + 0x6ed9eba1]
mov eax, r9d
rol r10d, 0xf
xor eax, r10d
xor ecx, r10d
add ecx, dword [rsp + 4]
lea r11d, [rcx + rdx + 0x6ed9eba1]
rol r11d, 3
xor eax, r11d
add eax, r13d
lea edx, [rax + r8 + 0x6ed9eba1]
rol edx, 9
mov eax, edx
mov ecx, edx
xor eax, r10d
xor eax, r11d
add eax, dword [rsp + 0x20]
lea r8d, [rax + r9 + 0x6ed9eba1]
rol r8d, 0xb
xor ecx, r8d
mov eax, ecx
xor eax, r11d
add eax, edi
lea r9d, [rax + r10 + 0x6ed9eba1]
mov eax, r8d
rol r9d, 0xf
xor eax, r9d
xor ecx, r9d
add ecx, dword [rsp + 0xc]
lea r11d, [rcx + r11 + 0x6ed9eba1]
rol r11d, 3
xor eax, r11d
add eax, dword [rsp + 0x24]
lea edx, [rax + rdx + 0x6ed9eba1]
rol edx, 9
mov eax, edx
mov ecx, edx
xor eax, r9d
xor eax, r11d
add eax, dword [rsp + 0x1c]
lea ebx, [rax + r8 + 0x6ed9eba1]
rol ebx, 0xb
xor ecx, ebx
mov eax, ecx
xor eax, r11d
add eax, r12d
lea r10d, [rax + r9 + 0x6ed9eba1]
mov eax, ebx
rol r10d, 0xf
xor eax, r10d
xor ecx, r10d
add ecx, dword [rsp + 0x14]
lea r8d, [rcx + r11 + 0x6ed9eba1]
rol r8d, 3
xor eax, r8d
add eax, r15d
lea r9d, [rax + rdx + 0x6ed9eba1]
rol r9d, 9
mov eax, r9d
xor eax, r10d
xor eax, r8d
add eax, dword [rsp]
lea edx, [rax + rbx + 0x6ed9eba1]
mov eax, r9d
rol edx, 0xb
xor eax, edx
xor eax, r8d
add eax, ebp
mov rbp, qword [rsp + 0x28]
lea ecx, [rax + r10 + 0x6ed9eba1]
mov rax, qword [rsp + 0x80]
add dword [rax], r8d
mov r8d, dword [rsp + 8]
mov edi, dword [rax]
rol ecx, 0xf
add r8d, ecx
mov ecx, dword [rsp + 0x10]
add ecx, edx
mov dword [rax + 4], r8d
mov dword [rsp + 8], r8d
mov dword [rax + 8], ecx
mov dword [rsp + 0x10], ecx
mov r11d, ecx
mov ecx, dword [rsp + 0x18]
mov ebx, r8d
add ecx, r9d
mov dword [rax + 0xc], ecx
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x18], ecx
mov r10d, ecx
test rax, rax
jne 0x14001d6a0
mov r15, qword [rsp + 0x38]
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x60
pop rdi
pop rbp
pop rbx
repz ret