Function at 0x140032e80
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov qword [rsp + 0x40], r9
mov rdi, r8
mov rbx, rdx
mov r14, rcx
movzx eax, byte [rcx]
movabs r13, 0x100000001b3
cmp eax, 5
jne 0x140032ef5
lea rsi, [r14 + 0x18]
mov rax, qword [r14 + 0x18]
lea rcx, [r14 + 8]
test rax, rax
je 0x14003309e
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rcx
lea rcx, [rdi - 1]
mov eax, edi
and eax, 7
cmp rcx, 7
mov qword [rsp + 0x30], rsi
jae 0x140032f18
movabs r8, 0xcbf29ce484222325
mov rcx, rbx
jmp 0x140032f99
jae 0x140033039
cmp eax, 2
jne 0x14003307a
cmp qword [r14 + 8], 0
je 0x14003307a
mov r15, qword [r14 + 0x10]
jmp 0x140033068
mov rdx, rdi
and rdx, 0xfffffffffffffff8
movabs r8, 0xcbf29ce484222325
mov rcx, rbx
nop dword [rax]
movzx r9d, byte [rcx]
xor r9, r8
imul r9, r13
movzx r8d, byte [rcx + 1]
xor r8, r9
imul r8, r13
movzx r9d, byte [rcx + 2]
xor r9, r8
imul r9, r13
movzx r8d, byte [rcx + 3]
xor r8, r9
imul r8, r13
movzx r9d, byte [rcx + 4]
xor r9, r8
imul r9, r13
movzx r8d, byte [rcx + 5]
xor r8, r9
imul r8, r13
movzx r9d, byte [rcx + 6]
xor r9, r8
imul r9, r13
movzx r8d, byte [rcx + 7]
add rcx, 8
xor r8, r9
imul r8, r13
add rdx, 0xfffffffffffffff8
jne 0x140032f30
mov rsi, r8
test rax, rax
je 0x140032fc6
xor edx, edx
nop word cs:[rax + rax]
movzx esi, byte [rcx + rdx]
xor rsi, r8
imul rsi, r13
inc rdx
mov r8, rsi
cmp rax, rdx
jne 0x140032fb0
mov r15, qword [r14 + 0x10]
mov r12, r15
mov rbp, qword [r12 + 0x50]
cmp rsi, rbp
jne 0x140032fff
nop word [rax + rax]
cmp qword [r12 + 0x40], rdi
jne 0x140032fff
mov rdx, qword [r12 + 0x48]
mov rcx, rbx
mov r8, rdi
call fcn.140068ef0
test eax, eax
je 0x140033218
cmp rsi, rbp
jae 0x140033010
mov rax, qword [r12 + 0x58]
test rax, rax
jne 0x14003301a
jmp 0x14003302d
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x14003302d
imul r12, rax, 0x68
add r12, r15
mov rbp, qword [r12 + 0x50]
cmp rsi, rbp
je 0x140032fe0
jmp 0x140032fff
mov rsi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
jmp 0x14003309e
mov r15, qword [r14 + 0x10]
mov rsi, qword [r14 + 0x18]
test rsi, rsi
je 0x140033061
mov r12, r15
nop dword [rax]
mov rcx, r12
call fcn.140033bb0
add r12, 0x20
dec rsi
jne 0x140033050
cmp qword [r14 + 8], 0
je 0x14003307a
mov rcx, qword [0x140090d88]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
mov byte [r14], 5
lea rcx, [r14 + 8]
mov qword [r14 + 8], 0
mov qword [r14 + 0x10], 8
lea rsi, [r14 + 0x18]
mov qword [r14 + 0x18], 0
mov byte [rsp + 0x48], 0
lea r9, [rsp + 0x48]
mov rdx, rbx
mov r8, rdi
call fcn.140031660
mov rax, qword [rsi]
test rax, rax
je 0x140033226
lea rcx, [rdi - 1]
mov eax, edi
and eax, 7
cmp rcx, 7
jae 0x1400330e0
movabs r8, 0xcbf29ce484222325
mov rcx, rbx
jmp 0x140033169
mov rdx, rdi
and rdx, 0xfffffffffffffff8
movabs r8, 0xcbf29ce484222325
mov rcx, rbx
nop word cs:[rax + rax]
movzx r9d, byte [rcx]
xor r9, r8
imul r9, r13
movzx r8d, byte [rcx + 1]
xor r8, r9
imul r8, r13
movzx r9d, byte [rcx + 2]
xor r9, r8
imul r9, r13
movzx r8d, byte [rcx + 3]
xor r8, r9
imul r8, r13
movzx r9d, byte [rcx + 4]
xor r9, r8
imul r9, r13
movzx r8d, byte [rcx + 5]
xor r8, r9
imul r8, r13
movzx r9d, byte [rcx + 6]
xor r9, r8
imul r9, r13
movzx r8d, byte [rcx + 7]
add rcx, 8
xor r8, r9
imul r8, r13
add rdx, 0xfffffffffffffff8
jne 0x140033100
mov r15, r8
test rax, rax
je 0x140033197
xor edx, edx
nop word cs:[rax + rax]
movzx r15d, byte [rcx + rdx]
xor r15, r8
imul r15, r13
inc rdx
mov r8, r15
cmp rax, rdx
jne 0x140033180
mov r14, qword [r14 + 0x10]
xor esi, esi
mov r12, r14
mov r13, qword [r12 + 0x50]
cmp r15, r13
jne 0x1400331cb
nop word [rax + rax]
cmp qword [r12 + 0x40], rdi
jne 0x1400331cb
mov rdx, qword [r12 + 0x48]
mov rcx, rbx
mov r8, rdi
call fcn.140068ef0
test eax, eax
je 0x1400331fd
cmp r15, r13
jae 0x1400331e0
mov rsi, qword [r12 + 0x58]
jmp 0x1400331e5
mov rsi, qword [r12 + 0x60]
test rsi, rsi
je 0x140033226
imul r12, rsi, 0x68
add r12, r14
mov r13, qword [r12 + 0x50]
cmp r15, r13
je 0x1400331b0
jmp 0x1400331cb
imul rax, rsi, 0x68
add r14, rax
mov rax, r14
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x38]
test rax, rax
jne 0x1400330bf
mov rcx, qword [rsp + 0x40]
call fcn.14006b0c0
int3