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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x180072028]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rcx, qword [0x180072080]
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x30], rax
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x38], rax
mov rbp, qword [rcx + 0x28]
mov ecx, dword [0x180072f74]
mov rax, qword gs:[0x58]
mov edx, 4
mov r14, qword [rax + rcx*8]
add r14, rdx
movabs r13, 0xcbf29ce484222325
movabs r12, 0x100000001b3
mov eax, dword [r14]
cmp dword [0x1800744b8], eax
jle 0x180051a1a
lea rcx, [0x1800744b8]
call fcn.18005ad04
cmp dword [0x1800744b8], 0xffffffff
jne 0x180051a1a
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x180051a05
mov rax, qword [0x180072f98]
mov r8, qword [rax + r8 + 0x18]
mov rdx, r13
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r12
test cl, cl
jne 0x1800519f0
jmp 0x180051a07
xor edx, edx
mov qword [0x1800744b0], rdx
lea rcx, [0x1800744b8]
call fcn.18005ac98
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x28], rax
xor r9d, r9d
lea r8, [rsp + 0x40]
xor edx, edx
lea rcx, [0x180073078]
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
jne 0x180051a50
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
cmp dword [rsp + 0x40], 0
je 0x180051a7b
lea rcx, [rsp + 0x20]
call fcn.180051f00
xor r8d, r8d
xor edx, edx
lea rcx, [0x180073078]
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x180051ef7
xor ebx, ebx
mov r10, qword [rsp + 0x38]
cmp dword [r10 + 0x10], ebx
jbe 0x180051b63
movabs rsi, 0xf984545cfa78101f
movabs r15, 0x2d0a42b1a4f18a79
mov rax, qword [r10 + 8]
mov rdi, qword [rax + rbx*8]
mov r9, qword [0x180072f98]
add r9, rdi
mov r11, qword [r9]
cmp r11, qword [r9 + 8]
je 0x180051b57
mov r8, qword [r9 + 0x18]
mov rax, r13
nop word [rax + rax]
movsx rdx, byte [r8]
lea r8, [r8 + 1]
xor rax, rdx
imul rax, r12
test dl, dl
jne 0x180051ad0
cmp rax, rsi
je 0x180051b57
cmp rax, r15
je 0x180051b57
mov eax, dword [r9 + 0x38]
cmp dword [r11 + 0x20], eax
je 0x180051b57
mov dword [r11 + 0x20], eax
add rdi, qword [0x180072f98]
mov eax, dword [r14]
cmp dword [0x180074528], eax
jle 0x180051b46
lea rcx, [0x180074528]
call fcn.18005ad04
cmp dword [0x180074528], 0xffffffff
jne 0x180051b46
mov rax, qword [0x180072080]
mov rdx, qword [rax]
add rdx, qword [0x180073088]
mov qword [0x180074520], rdx
lea rcx, [0x180074528]
call fcn.18005ac98
mov dl, 1
mov rcx, rdi
call qword [0x180074520]
nop
mov r10, qword [rsp + 0x38]
inc ebx
cmp ebx, dword [r10 + 0x10]
jb 0x180051aa0
xor esi, esi
cmp dword [rbp + 0x10], esi
jbe 0x180051ecc
movabs r15, 0xdb76082138fdee7f
movabs r13, 0xfca7b000ade2abcb
mov rax, qword [rbp + 8]
mov rdi, qword [rax + rsi*8]
mov rax, qword [rdi]
mov rdx, qword [rax + 0x758]
mov rcx, rdi
call rdx
nop
test al, al
je 0x180051c01
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x180051be9
cmp dword [rax + 0x3c], 0xc8
jne 0x180051be9
mov rax, qword [0x180072070]
mov ecx, dword [rax + 0x14]
lea ecx, [rcx*2 + 1]
cmp ecx, 0xffffffff
je 0x180051ec1
mov rdx, qword [0x180072f98]
add rdx, rdi
cmp dword [rdx + 0x38], ecx
je 0x180051ec1
mov dword [rdx + 0x38], ecx
mov rcx, rdx
jmp 0x180051ebc
mov rax, qword [0x180072070]
mov edx, dword [rax + 0x14]
add edx, edx
mov rcx, qword [0x180072f98]
jmp 0x180051eb1
mov rax, qword [0x180072f98]
mov rdx, qword [rax + rdi + 0x18]
movabs rbx, 0xcbf29ce484222325
nop word [rax + rax]
movsx rcx, byte [rdx]
lea rdx, [rdx + 1]
xor rbx, rcx
imul rbx, r12
test cl, cl
jne 0x180051c20
mov eax, dword [r14]
cmp dword [0x180074510], eax
jle 0x180051c77
lea rcx, [0x180074510]
call fcn.18005ad04
cmp dword [0x180074510], 0xffffffff
jne 0x180051c77
mov rax, qword [0x180072080]
mov rcx, qword [rax]
add rcx, qword [0x180073098]
mov qword [0x180074508], rcx
lea rcx, [0x180074510]
call fcn.18005ac98
mov rcx, rdi
call qword [0x180074508]
mov r8, rax
test rax, rax
je 0x180051de3
movabs rax, 0x37d1bfa7d195ebf9
cmp rbx, rax
je 0x180051d33
movabs rax, 0x92fe97d6caa88c20
cmp rbx, rax
je 0x180051d33
movabs rax, 0xa854d43ddb55ddcc
cmp rbx, rax
je 0x180051d33
movabs rax, 0xb8f3ad4931029355
cmp rbx, rax
je 0x180051d33
movabs rax, 0xaedcd71796ade290
cmp rbx, rax
je 0x180051d33
cmp rbx, r15
je 0x180051d33
movabs rax, 0xf17870527758213f
cmp rbx, rax
je 0x180051ec1
movabs rax, 0x8499db0ed7bb81cf
cmp rbx, rax
je 0x180051ec1
mov rcx, qword [0x180072f98]
mov eax, dword [rcx + r8 + 0x38]
cmp eax, 0xffffffff
je 0x180051ec1
add rcx, rdi
cmp dword [rcx + 0x38], eax
je 0x180051ec1
mov dword [rcx + 0x38], eax
jmp 0x180051ebc
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x180051d46
cmp r8, rax
jne 0x180051ec1
cmp rbx, r15
jne 0x180051dc4
movabs rax, 0x222b948fbf568318
cmp qword [0x1800744b0], rax
jne 0x180051da4
mov rax, qword [0x180072f98]
mov r8d, dword [rax + r8 + 0x38]
cmp r8d, 0xffffffff
je 0x180051ec1
lea rcx, [rax + rdi]
cmp dword [rcx + 0x38], r8d
je 0x180051ec1
mov dword [rcx + 0x38], r8d
mov rax, qword [rcx]
cmp rax, qword [rcx + 8]
je 0x180051d93
mov qword [rcx + 8], rax
lea rdx, str.Yone
call fcn.180057560
jmp 0x180051ec1
mov rcx, qword [0x180072f98]
add rcx, rdi
cmp dword [rcx + 0x38], 0
je 0x180051ec1
mov dword [rcx + 0x38], 0
jmp 0x180051ebc
mov rax, qword [0x180072070]
mov edx, dword [rax + 0x1c]
cmp edx, 0xffffffff
je 0x180051ec1
mov rcx, qword [0x180072f98]
jmp 0x180051eb1
mov rax, qword [0x180072070]
mov rdx, qword [rax + 0x48]
mov rax, qword [rdx + 8]
mov rcx, rdx
cmp byte [rax + 0x19], 0
jne 0x180051e18
nop dword [rax + rax]
cmp qword [rax + 0x20], rbx
jae 0x180051e0c
mov rax, qword [rax + 0x10]
jmp 0x180051e12
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x180051e00
cmp byte [rcx + 0x19], 0
jne 0x180051e3c
cmp rbx, qword [rcx + 0x20]
jb 0x180051e3c
cmp rcx, rdx
je 0x180051e3c
mov eax, dword [rcx + 0x28]
test eax, eax
je 0x180051e3c
lea edx, [rax - 1]
mov rcx, qword [0x180072f98]
jmp 0x180051eb1
movabs rax, 0x1ecf7680ae6d72bd
cmp rbx, rax
jne 0x180051e56
cmp qword [0x1800744b0], r13
je 0x180051e9c
jmp 0x180051ec1
movabs rax, 0xfcb981acde90c192
cmp rbx, rax
jne 0x180051e7a
movabs rax, 0x6972baf895e90386
cmp qword [0x1800744b0], rax
je 0x180051e9c
jmp 0x180051ec1
movabs rax, 0xfc61c19e80fc9d68
cmp rbx, rax
jne 0x180051ec1
movabs rax, 0xf01bf70c1ff22b66
cmp qword [0x1800744b0], rax
jne 0x180051ec1
mov rcx, qword [0x180072f98]
mov rax, qword [rsp + 0x30]
mov edx, dword [rcx + rax + 0x38]
cmp edx, 0xffffffff
je 0x180051ec1
add rcx, rdi
cmp dword [rcx + 0x38], edx
je 0x180051ec1
mov dword [rcx + 0x38], edx
call fcn.180057650
inc esi
cmp esi, dword [rbp + 0x10]
jb 0x180051b82
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.18005a740
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.18005a720
int3