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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
mov rax, qword [0x1800d8040]
xor rax, rsp
mov qword [rbp - 0x18], rax
mov rbx, rdx
xor r14d, r14d
mov rcx, qword [0x18013a408]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xb8]
call rdx
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x20]
mov rcx, rax
call rdx
movss xmm0, dword [0x18013a380]
comiss xmm0, dword [rax]
ja 0x18007c67a
mov rdx, qword [0x18013a378]
mov rcx, rbx
call fcn.18004cd20
mov r12, rax
test rax, rax
je 0x18007c67a
mov rdx, qword [0x18013a370]
mov rcx, rbx
call fcn.18004cd20
mov r13, rax
test rax, rax
je 0x18007c67a
mov rcx, r12
call fcn.180067610
mov r8, rax
lea rdx, [rsp + 0x20]
lea rcx, [0x18013c500]
call fcn.18005b260
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x18]
call rdx
movabs rdx, 0xcbf29ce484222325
movzx ecx, byte [rax]
test cl, cl
je 0x18007bfa6
movabs r8, 0x100000001b3
nop dword [rax]
movsx rcx, cl
lea rax, [rax + 1]
xor rdx, rcx
imul rdx, r8
movzx ecx, byte [rax]
test cl, cl
jne 0x18007bf90
movabs rax, 0x21adb96e1a04b5fc
cmp rdx, rax
jne 0x18007c66c
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x40], r14
mov qword [rbp - 0x38], r14
mov ecx, 0x40
call fcn.1800ad758
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp - 0x40], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rax
mov rax, qword [r12]
mov rdx, qword [rax + 0x68]
mov rcx, r12
call rdx
movsxd rcx, dword [rax + 0x48]
test ecx, ecx
jle 0x18007c029
mov rdx, rcx
mov rcx, r14
mov rax, qword [rax + 0x50]
cmp word [rax], 0x44
je 0x18007c113
inc rcx
add rax, 0x18
cmp rcx, rdx
jl 0x18007c013
mov ebx, r14d
mov rcx, qword [0x18013a3b8]
mov rax, qword [rcx]
mov rdx, qword [rax]
call rdx
mov r9d, ebx
mov r8, rax
lea rdx, [rbp - 0x30]
call fcn.180077fc0
nop
mov rax, qword [r12]
mov rdx, qword [rax + 0x68]
mov rcx, r12
call rdx
mov rcx, qword [rax]
mov rdx, qword [rcx]
mov rcx, rax
call rdx
lea rcx, [0x1800bde40]
movsx edx, ax
lea rax, [0x1800be200]
cmp dword [rcx], edx
je 0x18007c081
add rcx, 0x18
cmp rcx, rax
jne 0x18007c074
mov r8d, 1
cmp rcx, rax
je 0x18007c145
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
lea rsi, [rbx + rax*8]
cmp rbx, rsi
je 0x18007c145
mov rdi, qword [rbp - 0x28]
nop dword [rax]
mov eax, dword [rbx]
mov dword [rsp + 0x20], eax
mov eax, dword [rbx + 4]
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], 6
mov qword [rsp + 0x2c], 1
mov byte [rsp + 0x34], 0
xorps xmm2, xmm2
movdqu xmmword [rsp + 0x38], xmm2
mov dword [rsp + 0x48], r8d
cmp rdi, qword [rbp - 0x20]
je 0x18007c11b
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rdi + 0x10], xmm1
unpckhpd xmm2, xmm2
movsd qword [rdi + 0x20], xmm2
mov dword [rdi + 0x28], r8d
mov rdi, qword [rbp - 0x28]
add rdi, 0x2c
mov qword [rbp - 0x28], rdi
jmp 0x18007c136
mov ebx, dword [rax + 8]
jmp 0x18007c02c
lea r8, [rsp + 0x20]
mov rdx, rdi
lea rcx, [rbp - 0x30]
call fcn.18007d0a0
mov rdi, qword [rbp - 0x28]
mov r8d, 1
add rbx, 8
cmp rbx, rsi
jne 0x18007c0b0
jmp 0x18007c149
mov rdi, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x30]
cmp rbx, rdi
je 0x18007c26c
movabs r15, 0x3ffffffffffffff
mov rsi, qword [rbp - 0x40]
mov rax, qword [rsi + 8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], r14d
mov rcx, rsi
cmp byte [rax + 0x19], 0
jne 0x18007c1a6
mov edx, dword [rbx + 8]
nop
mov qword [rsp + 0x20], rax
cmp dword [rax + 0x20], edx
jge 0x18007c195
mov dword [rsp + 0x28], r14d
mov rax, qword [rax + 0x10]
jmp 0x18007c1a0
mov dword [rsp + 0x28], r8d
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x18007c180
cmp byte [rcx + 0x19], 0
jne 0x18007c1b4
mov eax, dword [rcx + 0x20]
cmp dword [rbx + 8], eax
jge 0x18007c21e
cmp qword [rbp - 0x38], r15
je 0x18007c6dd
lea rax, [rbp - 0x40]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], r14
mov ecx, 0x40
call fcn.1800ad758
mov r8, rax
mov eax, dword [rbx + 8]
mov dword [r8 + 0x20], eax
mov qword [r8 + 0x28], r14
mov qword [r8 + 0x30], r14
mov qword [r8 + 0x38], r14
mov qword [r8], rsi
mov qword [r8 + 8], rsi
mov qword [r8 + 0x10], rsi
mov word [r8 + 0x18], 0
mov qword [rsp + 0x58], r14
movups xmm0, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.18005f4f0
mov rcx, rax
mov rdx, qword [rcx + 0x30]
cmp rdx, qword [rcx + 0x38]
je 0x18007c24d
movups xmm0, xmmword [rbx]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdx + 0x10], xmm1
movsd xmm0, qword [rbx + 0x20]
movsd qword [rdx + 0x20], xmm0
mov eax, dword [rbx + 0x28]
mov dword [rdx + 0x28], eax
add qword [rcx + 0x30], 0x2c
jmp 0x18007c259
mov r8, rbx
add rcx, 0x28
call fcn.18007d0a0
add rbx, 0x2c
cmp rbx, rdi
mov r8d, 1
jne 0x18007c160
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov rcx, qword [rax + 0x28]
movups xmm13, xmmword [rcx]
movups xmm0, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x70], xmm0
movsd xmm14, qword [rcx + 0x20]
mov r15d, dword [rcx + 0x28]
mov rsi, qword [rbp - 0x38]
dec rsi
mov edx, 0x64
call fcn.18007cc70
movd xmm8, eax
cvtdq2pd xmm8, xmm8
xorps xmm7, xmm7
mov r14, qword [rbp - 0x40]
mov rbx, r14
mov rdi, qword [r14]
movsd xmm12, qword [0x1800c5588]
cmp r14, rdi
je 0x18007c3b6
movsd xmm9, qword [str.__np]
movsd xmm10, qword [0x1800c5550]
movsd xmm11, qword [0x1800c5600]
cmp rbx, r14
jne 0x18007c2ee
movaps xmm6, xmm12
jmp 0x18007c2f2
movaps xmm6, xmm9
xorps xmm1, xmm1
test rsi, rsi
js 0x18007c301
cvtsi2sd xmm1, rsi
jmp 0x18007c319
mov rcx, rsi
shr rcx, 1
mov rax, rsi
and eax, 1
or rcx, rax
cvtsi2sd xmm1, rcx
addsd xmm1, xmm1
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm1, xmm0
mulsd xmm1, xmm6
mulsd xmm1, xmm11
comisd xmm8, xmm7
jb 0x18007c347
movaps xmm0, xmm1
addsd xmm0, xmm7
comisd xmm0, xmm8
jae 0x18007c3e0
addsd xmm7, xmm1
dec rsi
cmp byte [rbx + 0x19], 0
je 0x18007c35a
mov rbx, qword [rbx + 0x10]
jmp 0x18007c3ad
mov rax, qword [rbx]
cmp byte [rax + 0x19], 0
je 0x18007c38f
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x18007c382
nop dword [rax]
cmp rbx, qword [rax]
jne 0x18007c382
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x18007c370
cmp byte [rbx + 0x19], 0
cmovne rax, rbx
mov rbx, rax
jmp 0x18007c3ad
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
jne 0x18007c3ad
nop dword [rax]
mov rbx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x18007c3a0
cmp rbx, rdi
jne 0x18007c2e3
movabs rbx, 0x2e8ba2e8ba2e8ba3
movsd xmm1, qword [0x1800c55e8]
comisd xmm1, xmm8
jbe 0x18007c509
movsd xmm1, qword [0x1800c5538]
jmp 0x18007c539
mov rcx, rbx
cmp byte [rbx + 0x19], 0
je 0x18007c3f6
mov rax, qword [rbx + 0x10]
lea rdi, [rax + 0x28]
jmp 0x18007c48d
mov rax, qword [rbx]
cmp byte [rax + 0x19], 0
je 0x18007c454
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x18007c422
nop dword [rax]
cmp rcx, qword [rax]
jne 0x18007c422
mov rcx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x18007c410
cmp byte [rcx + 0x19], 0
cmovne rax, rcx
lea rdi, [rax + 0x28]
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x18007c44a
cmp rbx, qword [rax]
jne 0x18007c44a
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x18007c438
cmp byte [rbx + 0x19], 0
cmovne rax, rbx
jmp 0x18007c48d
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
jne 0x18007c46d
nop
mov rax, rcx
mov rcx, qword [rcx + 0x10]
cmp byte [rcx + 0x19], 0
je 0x18007c460
lea rdi, [rax + 0x28]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
jne 0x18007c48d
nop
mov rax, rcx
mov rcx, qword [rcx + 0x10]
cmp byte [rcx + 0x19], 0
je 0x18007c480
mov rcx, qword [rax + 0x30]
sub rcx, qword [rax + 0x28]
movabs rbx, 0x2e8ba2e8ba2e8ba3
mov rax, rbx
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
dec edx
call fcn.18007cc70
movsxd r9, eax
mov r8, qword [rdi]
mov rcx, qword [rdi + 8]
sub rcx, r8
mov rax, rbx
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, r9
jbe 0x18007c6d7
imul rax, r9, 0x2c
movups xmm13, xmmword [rax + r8]
movups xmm1, xmmword [rax + r8 + 0x10]
movups xmmword [rsp + 0x70], xmm1
movsd xmm14, qword [rax + r8 + 0x20]
mov r15d, dword [rax + r8 + 0x28]
jmp 0x18007c3c0
mov edx, 2
call fcn.18007cc70
test eax, eax
je 0x18007c535
sub eax, 1
je 0x18007c52b
cmp eax, 1
jne 0x18007c54e
movsd xmm1, qword [0x1800c5548]
jmp 0x18007c539
movsd xmm1, qword [0x1800c5560]
jmp 0x18007c539
movaps xmm1, xmm12
xorps xmm0, xmm0
call fcn.18007cd50
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [rsp + 0x70], xmm1
movzx eax, byte [rsp + 0x74]
movsd xmm0, qword [0x1800c55d8]
comisd xmm0, xmm8
mov ecx, 1
cmova eax, ecx
mov byte [rsp + 0x74], al
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xor r14d, r14d
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r14
mov r8d, 0xc
lea rdx, str.crate_unlock
lea rcx, [rsp + 0x20]
call fcn.18001c9b0
movaps xmmword [rbp - 0x70], xmm13
movups xmm0, xmmword [rsp + 0x70]
movaps xmmword [rbp - 0x60], xmm0
movsd qword [rbp - 0x50], xmm14
mov dword [rbp - 0x48], r15d
lea r9, [rsp + 0x20]
mov r8b, 1
lea rdx, [rbp - 0x70]
call fcn.180079860
mov rcx, qword [0x18013a3c0]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x1d8]
call rdx
mov r8, r12
mov rdx, rax
call fcn.18007a030
mov rcx, qword [0x18013a3c0]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x1d8]
call r8
mov r8, r13
mov rdx, rax
call fcn.18007a030
nop
mov r8, qword [rbp - 0x30]
test r8, r8
je 0x18007c663
mov rcx, qword [rbp - 0x20]
sub rcx, r8
mov rax, rbx
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x2c
mov rax, r8
cmp rdx, 0x1000
jb 0x18007c64f
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18007c64f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.1800ad6e0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x20], r14
lea rcx, [rbp - 0x40]
call fcn.18007c700
mov qword [0x18013a378], r14
mov qword [0x18013a370], r14
mov rcx, qword [rbp - 0x18]
xor rcx, rsp
call fcn.1800ad4d0
lea r11, [rsp + 0x180]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.18007c7f0
nop
call fcn.18004b8f0
int3