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

Disassembly:
push rbp
push rsi
lea rbp, [rsp - 0x4f]
sub rsp, 0xe8
mov rax, qword [0x180111c00]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rcx, qword [0x180113fa8]
mov rsi, 0xffffffffffffffff
mov rax, rsi
nop
inc rax
cmp word [rcx + rax*2 + 0x92a], 0
jne 0x1800ad850
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x110], r12
mov qword [rsp + 0xe0], r13
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xd0], r15
test rax, rax
je 0x1800adc09
lea rcx, str.Dwrite.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rcx, rax
lea rdx, [0x1800f1c00]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180f64280], rax
test rax, rax
je 0x1800ad93b
mov rdx, qword [0x180113fa8]
lea rcx, [rbp - 0x69]
add rdx, 0x92a
mov byte [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
call fcn.1800ac7e0
mov rcx, qword [rbp - 0x69]
xor ebx, ebx
cmp qword [rbp - 0x61], rbx
jne 0x1800ad8f2
mov edi, ebx
jmp 0x1800ad8f9
mov rax, qword [rcx]
mov rdi, qword [rax + 0x10]
mov rax, qword [rcx + 8]
mov qword [rax], rbx
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800ad925
nop dword [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x18
call fcn.1800b75a8
mov rcx, rbx
test rbx, rbx
jne 0x1800ad910
mov rcx, qword [rbp - 0x69]
mov edx, 0x18
call fcn.1800b75a8
mov rax, rdi
jmp 0x1800adc0b
mov ecx, dword [0x180f64a70]
xor ebx, ebx
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x180f642d0], eax
jg 0x1800adc5e
mov rdx, qword [0x180113fa8]
xorps xmm0, xmm0
add rdx, 0x92a
mov qword [rbp - 9], rbx
movups xmmword [rbp - 0x19], xmm0
mov qword [rbp - 1], rbx
mov r8, rsi
inc r8
cmp word [rdx + r8*2], bx
jne 0x1800ad984
lea rcx, [rbp - 0x19]
call fcn.18000df80
mov r10, qword [rbp - 9]
lea r8, [rbp - 0x19]
mov r15, qword [rbp - 1]
movabs rdi, 0xcbf29ce484222325
mov r11, qword [rbp - 0x19]
cmp r15, 7
mov rcx, rdi
mov rdx, rbx
lea r9, [r10 + r10]
cmova r8, r11
movabs r13, 0x100000001b3
test r9, r9
je 0x1800ad9f4
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
inc rdx
xor rcx, rax
imul rcx, r13
cmp rdx, r9
jb 0x1800ad9e0
and rcx, qword [0x180f642c0]
mov rax, qword [0x180f642a8]
add rcx, rcx
mov r12, qword [0x180f64298]
mov r9, qword [rax + rcx*8 + 8]
cmp r9, r12
je 0x1800ada71
mov r14, qword [rax + rcx*8]
nop word [rax + rax]
cmp qword [r9 + 0x28], 7
lea rcx, [r9 + 0x10]
mov rax, qword [rcx + 0x10]
jbe 0x1800ada32
mov rcx, qword [rcx]
cmp r15, 7
lea r8, [rbp - 0x19]
cmova r8, r11
cmp r10, rax
jne 0x1800ada66
mov rdx, r10
test r10, r10
je 0x1800ada74
sub r8, rcx
nop
movzx eax, word [r8 + rcx]
cmp ax, word [rcx]
jne 0x1800ada66
add rcx, 2
sub rdx, 1
jne 0x1800ada50
jmp 0x1800ada74
cmp r9, r14
je 0x1800ada71
mov r9, qword [r9 + 8]
jmp 0x1800ada20
mov r9, rbx
test r9, r9
mov r14, r12
cmovne r14, r9
cmp r15, 7
jbe 0x1800adab9
lea rdx, [r15*2 + 2]
mov rax, r11
cmp rdx, 0x1000
jb 0x1800adab1
mov r11, qword [r11 - 8]
add rdx, 0x27
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800add00
mov rcx, r11
call fcn.1800b75a8
cmp r14, r12
je 0x1800adc09
mov rdx, qword [0x180113fa8]
xorps xmm0, xmm0
add rdx, 0x92a
mov qword [rbp + 0x17], rbx
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x1f], rbx
nop
inc rsi
cmp word [rdx + rsi*2], bx
jne 0x1800adae0
mov r8, rsi
lea rcx, [rbp + 7]
call fcn.18000df80
mov r11, qword [rbp + 0x17]
lea rcx, [rbp + 7]
mov rsi, qword [rbp + 0x1f]
mov r10, qword [rbp + 7]
cmp rsi, 7
lea rdx, [r11 + r11]
cmova rcx, r10
test rdx, rdx
je 0x1800adb33
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
inc rbx
xor rdi, rax
imul rdi, r13
cmp rbx, rdx
jb 0x1800adb20
and rdi, qword [0x180f642c0]
mov rax, qword [0x180f642a8]
add rdi, rdi
mov r9, qword [rax + rdi*8 + 8]
cmp r9, qword [0x180f64298]
je 0x1800adc51
mov rbx, qword [rax + rdi*8]
nop word [rax + rax]
cmp qword [r9 + 0x28], 7
lea rax, [r9 + 0x10]
mov rcx, qword [rax + 0x10]
jbe 0x1800adb72
mov rax, qword [rax]
cmp rsi, 7
lea r8, [rbp + 7]
cmova r8, r10
cmp r11, rcx
jne 0x1800adbfb
mov rdx, r11
test r11, r11
je 0x1800adba4
sub r8, rax
nop
movzx ecx, word [rax + r8]
cmp cx, word [rax]
jne 0x1800adbfb
add rax, 2
sub rdx, 1
jne 0x1800adb90
test r9, r9
je 0x1800adc51
cmp qword [r9 + 0x48], 7
lea rbx, [r9 + 0x30]
jbe 0x1800adbbb
mov rbx, qword [rbx]
cmp rsi, 7
jbe 0x1800adbf6
lea rdx, [rsi*2 + 2]
mov rax, r10
cmp rdx, 0x1000
jb 0x1800adbee
mov r10, qword [r10 - 8]
add rdx, 0x27
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800add00
mov rcx, r10
call fcn.1800b75a8
mov rax, rbx
jmp 0x1800adc0b
cmp r9, rbx
je 0x1800adc51
mov r9, qword [r9 + 8]
jmp 0x1800adb60
xor eax, eax
mov r15, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xe0]
mov r12, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1800b7aa0
add rsp, 0xe8
pop rsi
pop rbp
ret
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.1800b4cac
int3
lea rcx, [0x180f642d0]
call fcn.1800b7bf0
cmp dword [0x180f642d0], esi
jne 0x1800ad964
lea rcx, [rbp - 0x59]
call fcn.1800acd80
mov rdx, rax
lea rcx, [0x180f64290]
call fcn.1800ab530
mov rcx, qword [rbp - 0x41]
test rcx, rcx
je 0x1800adcda
mov rdx, qword [rbp - 0x31]
mov rax, rcx
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x1800adcc9
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800adcc9
call fcn.1800c5e18
int3
call fcn.1800b75a8
xorps xmm0, xmm0
mov qword [rbp - 0x41], rbx
movdqu xmmword [rbp - 0x39], xmm0
lea rcx, [rbp - 0x51]
call fcn.1800ab870
lea rcx, [0x1800e8240]
call fcn.1800b7908
lea rcx, [0x180f642d0]
call fcn.1800b7b84
jmp 0x1800ad964
call fcn.1800c5e18
int3