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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
mov rcx, qword [0x1800b0d88]
mov rax, qword [rcx + 0x18]
mov qword [rbp + 0x50], rax
mov rax, qword [rcx + 0x20]
mov qword [rbp + 0x58], rax
mov r14, qword [rcx + 0x28]
mov qword [rbp + 0x60], r14
mov ecx, dword [0x1800b1970]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
movabs rbx, 0xcbf29ce484222325
movabs r15, 0x100000001b3
xor r12d, r12d
mov eax, dword [rdx + rax]
cmp dword [0x1800b40c0], eax
jle 0x180051e7b
lea rcx, [0x1800b40c0]
call fcn.18005cf4c
cmp dword [0x1800b40c0], 0xffffffff
jne 0x180051e7b
mov r8, qword [rbp + 0x50]
test r8, r8
je 0x180051e65
mov rax, qword [0x1800b2c00]
mov r8, qword [rax + r8 + 0x18]
mov rdx, rbx
nop
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r15
test cl, cl
jne 0x180051e50
jmp 0x180051e68
mov rdx, r12
mov qword [0x1800b40b8], rdx
lea rcx, [0x1800b40c0]
call fcn.18005cee0
lea rax, [rbp + 0x50]
mov qword [rbp - 0x28], rax
lea rax, [rbp + 0x58]
mov qword [rbp - 0x20], rax
xor r9d, r9d
lea r8, [rbp + 0x48]
xor edx, edx
lea rcx, [0x1800b2ce8]
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x18005253c
cmp dword [rbp + 0x48], r12d
je 0x180051ed2
lea rcx, [rbp - 0x28]
call fcn.180052550
xor r8d, r8d
xor edx, edx
lea rcx, [0x1800b2ce8]
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x180052536
mov ebx, r12d
lea r13, [0x180001004]
mov r10, qword [rbp + 0x58]
cmp dword [r10 + 0x10], ebx
jbe 0x180051fc5
movabs rdi, 0xf984545cfa78101f
movabs rsi, 0x2d0a42b1a4f18a79
movabs r14, 0xcbf29ce484222325
nop dword [rax + rax]
mov ecx, ebx
mov rax, qword [r10 + 8]
mov r11, qword [rax + rcx*8]
mov r9, qword [0x1800b2c00]
add r9, r11
mov rax, qword [r9 + 8]
cmp qword [r9], rax
je 0x180051fb5
mov r8, qword [r9 + 0x18]
mov rax, r14
nop dword [rax + rax]
movsx rdx, byte [r8]
lea r8, [r8 + 1]
xor rax, rdx
imul rax, r15
test dl, dl
jne 0x180051f40
cmp rax, rdi
je 0x180051fb5
cmp rax, rsi
je 0x180051fb5
mov rax, qword [r9]
mov ecx, dword [r9 + 0x38]
cmp dword [rax + 0x20], ecx
je 0x180051fb5
mov dword [rax + 0x20], ecx
mov rcx, qword [0x1800b2c00]
add rcx, r11
mov rax, qword [0x1800b0d88]
mov r8, qword [0x1800b2cf0]
add r8, qword [rax]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r8
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov dl, 1
call fcn.18005ae20
nop
mov r10, qword [rbp + 0x58]
inc ebx
cmp ebx, dword [r10 + 0x10]
jb 0x180051f10
mov r14, qword [rbp + 0x60]
mov esi, r12d
cmp dword [r14 + 0x10], r12d
jbe 0x180052525
mov ecx, esi
mov rax, qword [r14 + 8]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rdx, qword [rax + 0x758]
mov rcx, rdi
call rdx
nop
test al, al
je 0x1800520e2
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x18005207b
cmp dword [rax + 0x3c], 0xc8
jne 0x18005207b
mov rax, qword [0x1800b0d78]
mov ecx, dword [rax + 0x1c]
lea ecx, [rcx*2 + 1]
cmp ecx, 0xffffffff
je 0x180052519
mov r10, qword [0x1800b2c00]
add r10, rdi
cmp dword [r10 + 0x38], ecx
je 0x180052519
mov dword [r10 + 0x38], ecx
mov rax, qword [0x1800b0d88]
mov r8, qword [0x1800b2cf0]
add r8, qword [rax]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r8
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov dl, 1
mov rcx, r10
call fcn.18005ae20
nop
jmp 0x180052519
mov rax, qword [0x1800b0d78]
mov ecx, dword [rax + 0x1c]
add ecx, ecx
mov r10, qword [0x1800b2c00]
add r10, rdi
cmp dword [r10 + 0x38], ecx
je 0x180052519
mov dword [r10 + 0x38], ecx
mov rax, qword [0x1800b0d88]
mov r8, qword [0x1800b2cf0]
add r8, qword [rax]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r8
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov dl, 1
mov rcx, r10
call fcn.18005ae20
nop
jmp 0x180052519
mov rax, qword [0x1800b2c00]
mov rdx, qword [rax + rdi + 0x18]
movabs rbx, 0xcbf29ce484222325
nop dword [rax + rax]
movsx rcx, byte [rdx]
lea rdx, [rdx + 1]
xor rbx, rcx
imul rbx, r15
test cl, cl
jne 0x180052100
mov rax, qword [0x1800b0d88]
mov rdx, qword [0x1800b2d00]
add rdx, qword [rax]
lea rax, section..text
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdx
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.18005ae20
mov r8, rax
test rax, rax
je 0x1800523a3
movabs rax, 0x37d1bfa7d195ebf9
cmp rbx, rax
je 0x18005225f
movabs rax, 0x92fe97d6caa88c20
cmp rbx, rax
je 0x18005225f
movabs rax, 0xa854d43ddb55ddcc
cmp rbx, rax
je 0x18005225f
movabs rax, 0xb8f3ad4931029355
movabs rcx, 0xdb76082138fdee7f
cmp rbx, rax
je 0x180052269
movabs rax, 0xaedcd71796ade290
cmp rbx, rax
je 0x180052269
cmp rbx, rcx
je 0x180052269
movabs rax, 0xf17870527758213f
cmp rbx, rax
je 0x180052519
movabs rax, 0x8499db0ed7bb81cf
cmp rbx, rax
je 0x180052519
mov rcx, qword [0x1800b2c00]
mov eax, dword [rcx + r8 + 0x38]
cmp eax, 0xffffffff
je 0x180052519
add rcx, rdi
cmp dword [rcx + 0x38], eax
je 0x180052519
mov dword [rcx + 0x38], eax
mov rax, qword [0x1800b0d88]
mov r8, qword [0x1800b2cf0]
add r8, qword [rax]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r8
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov dl, 1
call fcn.18005ae20
nop
jmp 0x180052519
movabs rcx, 0xdb76082138fdee7f
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x18005227b
cmp r8, rax
jne 0x180052519
cmp rbx, rcx
jne 0x180052335
movabs rax, 0x222b948fbf568318
cmp qword [0x1800b40b8], rax
jne 0x1800522dd
mov rax, qword [0x1800b2c00]
mov r8d, dword [rax + r8 + 0x38]
cmp r8d, 0xffffffff
je 0x180052519
lea rcx, [rax + rdi]
cmp dword [rcx + 0x38], r8d
je 0x180052519
mov dword [rcx + 0x38], r8d
mov rax, qword [rcx]
cmp rax, qword [rcx + 8]
je 0x1800522cc
mov qword [rcx + 8], rax
lea rdx, str.Yone
call fcn.1800580e0
jmp 0x180052519
mov rcx, qword [0x1800b2c00]
add rcx, rdi
cmp dword [rcx + 0x38], 0
je 0x180052519
mov dword [rcx + 0x38], r12d
mov rax, qword [0x1800b0d88]
mov r8, qword [0x1800b2cf0]
add r8, qword [rax]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r8
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov dl, 1
call fcn.18005ae20
nop
jmp 0x180052519
mov rax, qword [0x1800b0d78]
mov ecx, dword [rax + 0x24]
cmp ecx, 0xffffffff
je 0x180052519
mov r10, qword [0x1800b2c00]
add r10, rdi
cmp dword [r10 + 0x38], ecx
je 0x180052519
mov dword [r10 + 0x38], ecx
mov rax, qword [0x1800b0d88]
mov r8, qword [0x1800b2cf0]
add r8, qword [rax]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r8
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov dl, 1
mov rcx, r10
call fcn.18005ae20
nop
jmp 0x180052519
mov rax, qword [0x1800b0d78]
mov rdx, qword [rax + 0x50]
mov rax, qword [rdx + 8]
mov rcx, rdx
cmp byte [rax + 0x19], 0
jne 0x1800523d8
nop dword [rax + rax]
cmp qword [rax + 0x20], rbx
jae 0x1800523cc
mov rax, qword [rax + 0x10]
jmp 0x1800523d2
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800523c0
cmp byte [rcx + 0x19], 0
jne 0x180052449
cmp rbx, qword [rcx + 0x20]
jb 0x180052449
cmp rcx, rdx
je 0x180052449
mov eax, dword [rcx + 0x28]
test eax, eax
je 0x180052449
lea edx, [rax - 1]
mov rcx, qword [0x1800b2c00]
add rcx, rdi
cmp dword [rcx + 0x38], edx
je 0x180052519
mov dword [rcx + 0x38], edx
mov rax, qword [0x1800b0d88]
mov r8, qword [0x1800b2cf0]
add r8, qword [rax]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r8
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov dl, 1
call fcn.18005ae20
nop
jmp 0x180052519
movabs rax, 0x1ecf7680ae6d72bd
cmp rbx, rax
jne 0x180052470
movabs rax, 0xfca7b000ade2abcb
cmp qword [0x1800b40b8], rax
je 0x1800524b9
jmp 0x180052519
movabs rax, 0xfcb981acde90c192
cmp rbx, rax
jne 0x180052497
movabs rax, 0x6972baf895e90386
cmp qword [0x1800b40b8], rax
je 0x1800524b9
jmp 0x180052519
movabs rax, 0xfc61c19e80fc9d68
cmp rbx, rax
jne 0x180052519
movabs rax, 0xf01bf70c1ff22b66
cmp qword [0x1800b40b8], rax
jne 0x180052519
mov rdx, qword [0x1800b2c00]
mov rax, qword [rbp + 0x50]
mov ecx, dword [rdx + rax + 0x38]
cmp ecx, 0xffffffff
je 0x180052519
lea r10, [rdx + rdi]
cmp dword [r10 + 0x38], ecx
je 0x180052519
mov dword [r10 + 0x38], ecx
mov rax, qword [0x1800b0d88]
mov r8, qword [0x1800b2cf0]
add r8, qword [rax]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r8
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rsp + 0x28], r12
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov dl, 1
mov rcx, r10
call fcn.18005ae20
nop
inc esi
cmp esi, dword [r14 + 0x10]
jb 0x180051fd2
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18005c300
int3
call fcn.18006e65c
int3