Function at 0x180051d90
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 [0x1800abd88]
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 [0x1800ac970]
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 [0x1800aeff0], eax
jle 0x180051e5b
lea rcx, [0x1800aeff0]
call fcn.18005d14c
cmp dword [0x1800aeff0], 0xffffffff
jne 0x180051e5b
mov r8, qword [rbp + 0x50]
test r8, r8
je 0x180051e45
mov rax, qword [0x1800adb28]
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 0x180051e30
jmp 0x180051e48
mov rdx, r12
mov qword [0x1800aefe8], rdx
lea rcx, [0x1800aeff0]
call fcn.18005d0e0
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, [0x1800adc10]
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x18005251c
cmp dword [rbp + 0x48], r12d
je 0x180051eb2
lea rcx, [rbp - 0x28]
call fcn.180052530
xor r8d, r8d
xor edx, edx
lea rcx, [0x1800adc10]
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x180052516
mov ebx, r12d
lea r13, [0x180001004]
mov r10, qword [rbp + 0x58]
cmp dword [r10 + 0x10], ebx
jbe 0x180051fa5
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 [0x1800adb28]
add r9, r11
mov rax, qword [r9 + 8]
cmp qword [r9], rax
je 0x180051f95
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 0x180051f20
cmp rax, rdi
je 0x180051f95
cmp rax, rsi
je 0x180051f95
mov rax, qword [r9]
mov ecx, dword [r9 + 0x38]
cmp dword [rax + 0x20], ecx
je 0x180051f95
mov dword [rax + 0x20], ecx
mov rcx, qword [0x1800adb28]
add rcx, r11
mov rax, qword [0x1800abd88]
mov r8, qword [0x1800adc20]
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.18005af80
nop
mov r10, qword [rbp + 0x58]
inc ebx
cmp ebx, dword [r10 + 0x10]
jb 0x180051ef0
mov r14, qword [rbp + 0x60]
mov esi, r12d
cmp dword [r14 + 0x10], r12d
jbe 0x180052505
mov ecx, esi
mov rax, qword [r14 + 8]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi]
mov rdx, qword [rax + 0x770]
mov rcx, rdi
call rdx
nop
test al, al
je 0x1800520c9
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x180052062
cmp dword [rax + 0x24c], 0xc8
jne 0x180052062
mov rax, qword [0x1800abd78]
mov ecx, dword [rax + 0x1c]
lea ecx, [rcx*2 + 1]
cmp ecx, 0xffffffff
je 0x1800524f9
mov r10, qword [0x1800adb28]
add r10, rdi
cmp dword [r10 + 0x38], ecx
je 0x1800524f9
mov dword [r10 + 0x38], ecx
mov rax, qword [0x1800abd88]
mov r8, qword [0x1800adc20]
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.18005af80
nop
jmp 0x1800524f9
mov rax, qword [0x1800abd78]
mov ecx, dword [rax + 0x1c]
add ecx, ecx
mov r10, qword [0x1800adb28]
add r10, rdi
cmp dword [r10 + 0x38], ecx
je 0x1800524f9
mov dword [r10 + 0x38], ecx
mov rax, qword [0x1800abd88]
mov r8, qword [0x1800adc20]
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.18005af80
nop
jmp 0x1800524f9
mov rax, qword [0x1800adb28]
mov rdx, qword [rax + rdi + 0x18]
movabs rbx, 0xcbf29ce484222325
nop
movsx rcx, byte [rdx]
lea rdx, [rdx + 1]
xor rbx, rcx
imul rbx, r15
test cl, cl
jne 0x1800520e0
mov rax, qword [0x1800abd88]
mov rdx, qword [0x1800adc30]
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.18005af80
mov r8, rax
test rax, rax
je 0x180052383
movabs rax, 0x37d1bfa7d195ebf9
cmp rbx, rax
je 0x18005223f
movabs rax, 0x92fe97d6caa88c20
cmp rbx, rax
je 0x18005223f
movabs rax, 0xa854d43ddb55ddcc
cmp rbx, rax
je 0x18005223f
movabs rax, 0xb8f3ad4931029355
movabs rcx, 0xdb76082138fdee7f
cmp rbx, rax
je 0x180052249
movabs rax, 0xaedcd71796ade290
cmp rbx, rax
je 0x180052249
cmp rbx, rcx
je 0x180052249
movabs rax, 0xf17870527758213f
cmp rbx, rax
je 0x1800524f9
movabs rax, 0x8499db0ed7bb81cf
cmp rbx, rax
je 0x1800524f9
mov rcx, qword [0x1800adb28]
mov eax, dword [rcx + r8 + 0x38]
cmp eax, 0xffffffff
je 0x1800524f9
add rcx, rdi
cmp dword [rcx + 0x38], eax
je 0x1800524f9
mov dword [rcx + 0x38], eax
mov rax, qword [0x1800abd88]
mov r8, qword [0x1800adc20]
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.18005af80
nop
jmp 0x1800524f9
movabs rcx, 0xdb76082138fdee7f
mov rax, qword [rbp + 0x50]
test rax, rax
je 0x18005225b
cmp r8, rax
jne 0x1800524f9
cmp rbx, rcx
jne 0x180052315
movabs rax, 0x222b948fbf568318
cmp qword [0x1800aefe8], rax
jne 0x1800522bd
mov rax, qword [0x1800adb28]
mov r8d, dword [rax + r8 + 0x38]
cmp r8d, 0xffffffff
je 0x1800524f9
lea rcx, [rax + rdi]
cmp dword [rcx + 0x38], r8d
je 0x1800524f9
mov dword [rcx + 0x38], r8d
mov rax, qword [rcx]
cmp rax, qword [rcx + 8]
je 0x1800522ac
mov qword [rcx + 8], rax
lea rdx, str.Yone
call fcn.180058280
jmp 0x1800524f9
mov rcx, qword [0x1800adb28]
add rcx, rdi
cmp dword [rcx + 0x38], 0
je 0x1800524f9
mov dword [rcx + 0x38], r12d
mov rax, qword [0x1800abd88]
mov r8, qword [0x1800adc20]
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.18005af80
nop
jmp 0x1800524f9
mov rax, qword [0x1800abd78]
mov ecx, dword [rax + 0x24]
cmp ecx, 0xffffffff
je 0x1800524f9
mov r10, qword [0x1800adb28]
add r10, rdi
cmp dword [r10 + 0x38], ecx
je 0x1800524f9
mov dword [r10 + 0x38], ecx
mov rax, qword [0x1800abd88]
mov r8, qword [0x1800adc20]
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.18005af80
nop
jmp 0x1800524f9
mov rax, qword [0x1800abd78]
mov rdx, qword [rax + 0x50]
mov rax, qword [rdx + 8]
mov rcx, rdx
cmp byte [rax + 0x19], 0
jne 0x1800523b8
nop dword [rax + rax]
cmp qword [rax + 0x20], rbx
jae 0x1800523ac
mov rax, qword [rax + 0x10]
jmp 0x1800523b2
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1800523a0
cmp byte [rcx + 0x19], 0
jne 0x180052429
cmp rbx, qword [rcx + 0x20]
jb 0x180052429
cmp rcx, rdx
je 0x180052429
mov eax, dword [rcx + 0x28]
test eax, eax
je 0x180052429
lea edx, [rax - 1]
mov rcx, qword [0x1800adb28]
add rcx, rdi
cmp dword [rcx + 0x38], edx
je 0x1800524f9
mov dword [rcx + 0x38], edx
mov rax, qword [0x1800abd88]
mov r8, qword [0x1800adc20]
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.18005af80
nop
jmp 0x1800524f9
movabs rax, 0x1ecf7680ae6d72bd
cmp rbx, rax
jne 0x180052450
movabs rax, 0xfca7b000ade2abcb
cmp qword [0x1800aefe8], rax
je 0x180052499
jmp 0x1800524f9
movabs rax, 0xfcb981acde90c192
cmp rbx, rax
jne 0x180052477
movabs rax, 0x6972baf895e90386
cmp qword [0x1800aefe8], rax
je 0x180052499
jmp 0x1800524f9
movabs rax, 0xfc61c19e80fc9d68
cmp rbx, rax
jne 0x1800524f9
movabs rax, 0xf01bf70c1ff22b66
cmp qword [0x1800aefe8], rax
jne 0x1800524f9
mov rdx, qword [0x1800adb28]
mov rax, qword [rbp + 0x50]
mov ecx, dword [rdx + rax + 0x38]
cmp ecx, 0xffffffff
je 0x1800524f9
lea r10, [rdx + rdi]
cmp dword [r10 + 0x38], ecx
je 0x1800524f9
mov dword [r10 + 0x38], ecx
mov rax, qword [0x1800abd88]
mov r8, qword [0x1800adc20]
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.18005af80
nop
inc esi
cmp esi, dword [r14 + 0x10]
jb 0x180051fb2
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18005c500
int3
call fcn.18006e5b4
int3