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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x28]
sub rsp, 0x128
mov rax, qword [0x180087100]
xor rax, rsp
mov qword [rbp + 0x18], rax
mov dword [rsp + 0x40], r9d
mov r14, r8
mov r15, rdx
mov r13, rcx
mov qword [rsp + 0x48], rdx
mov rbx, qword [rbp + 0x98]
xor r12d, r12d
call fcn.18002e470
mov rdi, rax
mov rsi, qword [r13]
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x78], xmm1
xor r8d, r8d
lea rdx, [0x18007a084]
lea rcx, [rsp + 0x78]
call fcn.180001080
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rbx + r8*2], 0
jne 0x18000d4c0
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.180001080
nop
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x68]
call fcn.180025510
nop
mov qword [rsp + 0x30], 0xffffffffffffffff
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x78]
mov r8, rax
mov rdx, r14
mov rcx, rdi
call fcn.18002e590
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 7
jbe 0x18000d552
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000d54d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d91a
call fcn.180011bec
movdqa xmm0, xmmword [0x18006b2e0]
movdqu xmmword [rbp - 0x58], xmm0
mov word [rbp - 0x68], r12w
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x18000d5a6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000d5a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d920
call fcn.180011bec
movdqa xmm0, xmmword [0x18006b2e0]
movdqu xmmword [rsp + 0x68], xmm0
mov word [rsp + 0x58], r12w
mov rdx, qword [rbp - 0x70]
cmp rdx, 7
jbe 0x18000d5fb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000d5f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000d914
call fcn.180011bec
mov esi, dword [rbp + 0x90]
cmp esi, 2
jne 0x18000d619
mov rax, qword [r13]
mov rcx, qword [rax + 0x10]
mov esi, r12d
cmp byte [rcx + 0x15], r12b
sete sil
lea rax, [r13 + 0x58]
mov qword [rsp + 0x48], rax
mov qword [rbp - 0x48], rax
mov rcx, rax
call qword [0x18007e6f8]
nop
mov rdx, r14
lea rcx, [rbp - 0x10]
call fcn.180002b90
mov dword [rbp + 0x10], esi
lea r8, [rbp - 0x10]
mov r14, qword [rbp - 0x10]
mov r12, qword [rbp + 8]
cmp r12, 7
cmova r8, r14
movabs rbx, 0xcbf29ce484222325
mov rdx, rbx
mov r11, qword [rbp]
lea r9, [r11 + r11]
xor ecx, ecx
movabs r10, 0x100000001b3
test r9, r9
je 0x18000d694
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor rdx, rax
imul rdx, r10
inc rcx
cmp rcx, r9
jb 0x18000d680
movsxd rax, esi
xor rax, rdx
mov rcx, qword [r13 + 0x48]
and rcx, rax
add rcx, rcx
mov rax, qword [r13 + 0x30]
mov r10, qword [rax + rcx*8 + 8]
cmp r10, qword [r13 + 0x20]
je 0x18000d71a
mov rdi, qword [rax + rcx*8]
nop word [rax + rax]
lea rcx, [r10 + 0x10]
cmp qword [r10 + 0x28], 7
jbe 0x18000d6cf
mov rcx, qword [r10 + 0x10]
lea r8, [rbp - 0x10]
cmp r12, 7
cmova r8, r14
cmp r11, qword [r10 + 0x20]
jne 0x18000d70a
mov rdx, r11
test r11, r11
je 0x18000d704
sub r8, rcx
nop dword [rax]
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x18000d70a
add rcx, 2
sub rdx, 1
jne 0x18000d6f0
cmp esi, dword [r10 + 0x30]
je 0x18000d715
cmp r10, rdi
je 0x18000d71a
mov r10, qword [r10 + 8]
jmp 0x18000d6c0
xor r12d, r12d
jmp 0x18000d720
xor r12d, r12d
mov r10d, r12d
test r10, r10
je 0x18000d7b9
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x30]
lea rcx, [r13 + 0x18]
call fcn.180011450
mov rax, qword [rax]
mov rax, qword [rax + 0x38]
cmp byte [rax + 0x58], 0
jne 0x18000d76e
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x20]
lea rcx, [r13 + 0x18]
call fcn.180011450
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x38]
mov rdx, qword [rdx]
mov rcx, r13
call fcn.180010450
test al, al
je 0x18000d7b9
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x40]
lea rcx, [r13 + 0x18]
call fcn.180011450
mov r8, qword [rax]
mov qword [r15], r12
mov qword [r15 + 8], r12
mov rdx, qword [r8 + 0x40]
test rdx, rdx
je 0x18000d796
lock inc dword [rdx + 8]
mov rdx, qword [r8 + 0x38]
mov qword [r15], rdx
mov rdx, qword [r8 + 0x40]
mov qword [r15 + 8], rdx
lea rcx, [rbp - 0x10]
call fcn.1800031c0
nop
mov rcx, qword [rsp + 0x48]
jmp 0x18000d8eb
mov r8d, esi
mov edx, dword [rsp + 0x40]
mov rcx, r13
call fcn.1800105b0
lea rdx, [rbp - 0x10]
mov rsi, qword [rbp - 0x10]
mov r14, qword [rbp + 8]
cmp r14, 7
cmova rdx, rsi
mov r11, qword [rbp]
lea r8, [r11 + r11]
mov rcx, r12
test r8, r8
je 0x18000d813
movabs r9, 0x100000001b3
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
xor rbx, rax
imul rbx, r9
inc rcx
cmp rcx, r8
jb 0x18000d800
movsxd rdi, dword [rbp + 0x10]
mov rcx, rdi
xor rcx, rbx
and rcx, qword [r13 + 0x48]
add rcx, rcx
mov rax, qword [r13 + 0x30]
mov r10, qword [rax + rcx*8 + 8]
cmp r10, qword [r13 + 0x20]
je 0x18000d895
mov rbx, qword [rax + rcx*8]
nop word [rax + rax]
lea rax, [r10 + 0x10]
cmp qword [r10 + 0x28], 7
jbe 0x18000d84f
mov rax, qword [r10 + 0x10]
lea r8, [rbp - 0x10]
cmp r14, 7
cmova r8, rsi
cmp r11, qword [r10 + 0x20]
jne 0x18000d88a
mov rdx, r11
test r11, r11
je 0x18000d884
sub r8, rax
nop dword [rax]
movzx ecx, word [rax + r8]
cmp cx, word [rax]
jne 0x18000d88a
add rax, 2
sub rdx, 1
jne 0x18000d870
cmp edi, dword [r10 + 0x30]
je 0x18000d898
cmp r10, rbx
je 0x18000d895
mov r10, qword [r10 + 8]
jmp 0x18000d840
mov r10, r12
test r10, r10
je 0x18000d8d6
lea rcx, [r13 + 0x18]
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x40]
call fcn.180011450
mov rcx, qword [rax]
mov qword [r15], r12
mov qword [r15 + 8], r12
mov rax, qword [rcx + 0x40]
test rax, rax
je 0x18000d8c5
lock inc dword [rax + 8]
mov rax, qword [rcx + 0x38]
mov qword [r15], rax
mov rax, qword [rcx + 0x40]
mov qword [r15 + 8], rax
jmp 0x18000d8dd
mov qword [r15], r12
mov qword [r15 + 8], r12
lea rcx, [rbp - 0x10]
call fcn.1800031c0
nop
lea rcx, [r13 + 0x58]
call qword [0x18007e908]
mov rax, r15
mov rcx, qword [rbp + 0x18]
xor rcx, rsp
call fcn.180011ca0
add rsp, 0x128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180050bf0
nop
call fcn.180050bf0
nop
call fcn.180050bf0
int3