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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov qword [rbp], 0xfffffffffffffffe
mov rax, qword [0x1800a77b0]
movabs rcx, 0x53268c1791150389
mov rax, qword [rax + rcx]
mov r12, qword [rax + 0x18]
mov rdi, qword [rax + 0x20]
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x40], rax
mov rax, qword [0x1800a77b8]
movabs rsi, 0x53268c1791150369
mov eax, dword [rax + rsi]
mov ecx, dword [0x1800b790c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], rdi
jg 0x1800619f9
lea r14, [0x1800b5a60]
lea r8, [rbp - 0x34]
mov rcx, r14
xor edx, edx
xor r9d, r9d
call sub.KERNEL32.dll_InitOnceBeginInitialize
test eax, eax
je 0x180061a62
cmp dword [rbp - 0x34], 0
movabs rsi, 0x9dfd3ce23b2cfc38
movabs rbx, 0x100000001b3
je 0x1800614e9
mov qword [rbp - 0x50], r14
movabs rax, 0x1de799325e8885be
test r12, r12
je 0x1800613af
mov rcx, qword [0x1800a78b0]
mov rax, qword [rcx + rax]
cmp dword [rax + 0xc], 0
jle 0x1800613a5
movabs rax, 0xcbf29ce484222325
movabs rdx, 0x1de799325e8885d6
mov rcx, qword [rcx + rdx]
mov rdx, qword [0x1800a77e0]
mov rdx, qword [rdx + rsi]
mov rdx, qword [rdx + r12 + 0x18]
movsx r8, byte [rdx]
inc rdx
xor rax, r8
imul rax, rbx
test r8, r8
jne 0x180061335
lea r8, [rbp - 0x20]
mov qword [r8], rax
lea rdx, [rbp - 0x30]
call fcn.180062158
mov rax, qword [rbp - 0x30]
mov rcx, qword [0x1800a78b0]
movabs rdx, 0x1de799325e8885be
mov rcx, qword [rcx + rdx]
movsxd rcx, dword [rcx + 0xc]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov rax, qword [rax + 0x28]
mov r8d, dword [rcx + rax - 8]
mov rdx, qword [rcx + rax - 0x30]
mov r12, qword [rbp - 0x10]
mov rcx, r12
call fcn.1800750b6
movabs rsi, 0x9dfd3ce23b2cfc38
mov rdi, qword [rbp - 8]
mov eax, dword [r12 + 0x3c]
mov dword [rbp - 0x14], eax
jmp 0x1800613b6
mov dword [rbp - 0x14], 0x64
xor r13d, r13d
cmp r13d, dword [rdi + 0x10]
jae 0x1800614d9
mov rax, qword [rdi + 8]
mov ecx, r13d
mov r14, qword [rax + rcx*8]
cmp r14, r12
je 0x1800614d1
mov rax, qword [0x1800a77e0]
mov rax, qword [rax + rsi]
mov rcx, qword [rax + r14 + 0x18]
movabs rax, 0xcbf29ce484222325
movsx rdx, byte [rcx]
inc rcx
xor rax, rdx
imul rax, rbx
test rdx, rdx
jne 0x1800613f1
mov qword [rbp - 0x20], rax
movabs rcx, 0x96380e6f20703d36
cmp rax, rcx
je 0x1800614d1
mov rax, qword [0x1800a78b0]
movabs rcx, 0x1de799325e8885be
mov r12, qword [rax + rcx]
lea rcx, [r12 + 0x38]
xor esi, esi
mov eax, dword [rbp - 0x14]
cmp eax, dword [r14 + 0x3c]
lea rax, [r12 + 0x28]
setne dil
cmove rcx, rax
lea rdx, [rbp - 0x20]
call fcn.180062304
mov r15, rax
mov sil, dil
shl rsi, 4
or rsi, 0x28
cmp rax, qword [r12 + rsi]
mov r12, qword [rbp - 0x10]
movabs rsi, 0x9dfd3ce23b2cfc38
mov rdi, qword [rbp - 8]
je 0x1800614d1
cmp dword [r15 + 0x28], 0
jle 0x1800614d1
mov rax, qword [0x1800a78b0]
movabs rcx, 0x1de799325e8885d6
mov rcx, qword [rax + rcx]
lea rdx, [rbp - 0x30]
lea r8, [rbp - 0x20]
call fcn.180062158
mov rax, qword [rbp - 0x30]
movsxd rcx, dword [r15 + 0x28]
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov rax, qword [rax + 0x28]
mov r8d, dword [rcx + rax - 8]
mov rdx, qword [rcx + rax - 0x30]
mov rcx, r14
call fcn.1800750b6
mov r12, qword [rbp - 0x10]
mov rdi, qword [rbp - 8]
inc r13d
jmp 0x1800613b9
lea rcx, [rbp - 0x50]
mov dword [rcx + 8], 0
call fcn.180062136
mov eax, dword [rdi + 0x10]
test eax, eax
je 0x1800615ab
mov rdx, qword [0x1800a77e0]
xor r14d, r14d
movabs r15, 0xcbf29ce484222325
movabs r13, 0xf984545cfa78101f
mov rcx, qword [rdi + 8]
mov rcx, qword [rcx + r14*8]
mov r10, qword [rdx + rsi]
mov r8, qword [r10 + rcx]
cmp r8, qword [r10 + rcx + 8]
je 0x18006159d
lea r9, [rdx + rsi]
mov rsi, qword [rcx + r10 + 0x18]
mov r11, r15
movsx rdi, byte [rsi]
inc rsi
xor r11, rdi
imul r11, rbx
test rdi, rdi
jne 0x180061535
cmp r11, r13
je 0x18006158f
movabs rsi, 0x2d0a42b1a4f18a79
cmp r11, rsi
movabs rsi, 0x9dfd3ce23b2cfc38
mov rdi, qword [rbp - 8]
je 0x18006159d
mov r10d, dword [rcx + r10 + 0x38]
cmp dword [r8 + 0x20], r10d
je 0x18006159d
mov dword [r8 + 0x20], r10d
add rcx, qword [r9]
mov dl, 1
call fcn.1800754b0
mov rdx, qword [0x1800a77e0]
mov eax, dword [rdi + 0x10]
jmp 0x18006159d
movabs rsi, 0x9dfd3ce23b2cfc38
mov rdi, qword [rbp - 8]
inc r14
mov ecx, eax
cmp r14, rcx
jb 0x180061512
mov rsi, qword [rbp - 0x40]
cmp dword [rsi + 0x10], 0
movabs r13, 0x53268c1791150369
je 0x1800619e8
xor r15d, r15d
movabs rdi, 0x53268c1791150379
mov rax, qword [rsi + 8]
mov r14, qword [rax + r15*8]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x718]
test al, al
je 0x18006161a
test r12, r12
je 0x1800616ae
cmp dword [r12 + 0x3c], 0xc8
jne 0x1800616ae
mov rax, qword [0x1800a77b0]
mov rax, qword [rax + rdi]
mov eax, dword [rax + 0x14]
lea eax, [rax*2 + 1]
jmp 0x18006190c
mov rax, qword [0x1800a77e0]
movabs rcx, 0x9dfd3ce23b2cfc38
mov rax, qword [rax + rcx]
mov rax, qword [rax + r14 + 0x18]
movabs rcx, 0xcbf29ce484222325
movsx rdx, byte [rax]
inc rax
xor rcx, rdx
imul rcx, rbx
test rdx, rdx
jne 0x18006163e
mov qword [rbp - 0x30], rcx
mov rcx, r14
call fcn.1800752a4
test rax, rax
je 0x1800616c3
mov rcx, qword [rbp - 0x30]
movabs rdx, 0xb8f3ad4931029354
cmp rcx, rdx
jg 0x1800616fa
movabs rdx, 0xa854d43ddb55ddcb
cmp rcx, rdx
jg 0x180061782
movabs rdx, 0x8499db0ed7bb81cf
cmp rcx, rdx
je 0x18006193a
movabs rdx, 0x92fe97d6caa88c20
jmp 0x1800617ba
mov rax, qword [0x1800a77b0]
mov rax, qword [rax + rdi]
mov eax, dword [rax + 0x14]
add eax, eax
jmp 0x180061911
mov rax, qword [0x1800a77b0]
mov rcx, qword [rax + rdi]
add rcx, 0x48
lea rdx, [rbp - 0x30]
call fcn.180062304
mov rcx, qword [0x1800a77b0]
mov rcx, qword [rcx + rdi]
cmp rax, qword [rcx + 0x48]
je 0x18006172f
mov eax, dword [rax + 0x28]
test eax, eax
je 0x18006172f
dec eax
jmp 0x180061911
movabs rdx, 0xf17870527758213e
cmp rcx, rdx
jg 0x18006179d
movabs rdx, 0xb8f3ad4931029355
cmp rcx, rdx
je 0x1800617c3
movabs rdx, 0xdb76082138fdee7f
jmp 0x1800617ba
mov rax, qword [rbp - 0x30]
movabs rcx, 0xfc61c19e80fc9d68
cmp rax, rcx
je 0x180061969
movabs rcx, 0xfcb981acde90c192
cmp rax, rcx
je 0x18006197c
movabs rcx, 0x1ecf7680ae6d72bd
cmp rax, rcx
jne 0x18006193a
mov rax, qword [0x1800a77c0]
movabs rcx, 0xfca7b000ade2abcb
jmp 0x18006198d
movabs rdx, 0xa854d43ddb55ddcc
cmp rcx, rdx
je 0x1800617c3
movabs rdx, 0xaedcd71796ade290
jmp 0x1800617ba
movabs rdx, 0xf17870527758213f
cmp rcx, rdx
je 0x18006193a
movabs rdx, 0x37d1bfa7d195ebf9
cmp rcx, rdx
jne 0x18006194e
test r12, r12
je 0x1800617d1
cmp rax, r12
jne 0x18006193a
movabs rdx, 0xdb76082138fdee7f
cmp rcx, rdx
jne 0x1800618fe
mov rcx, qword [0x1800a77c0]
movabs rdx, 0x222b948fbf568318
cmp qword [rcx + r13], rdx
jne 0x1800619b8
cmp byte [0x1800b5909], 0
jne 0x1800618b5
mov rcx, qword [0x1800a77d0]
mov dl, byte [rcx + rdi]
movabs r8, 0x53268c179115038d
xor dl, byte [rcx + r8]
mov byte [0x1800b5904], dl
movabs rdx, 0x53268c179115037a
mov dl, byte [rcx + rdx]
movabs r8, 0x53268c179115038e
xor dl, byte [rcx + r8]
mov byte [0x1800b5905], dl
movabs rdx, 0x53268c179115037b
mov dl, byte [rcx + rdx]
movabs r8, 0x53268c179115038f
xor dl, byte [rcx + r8]
mov byte [0x1800b5906], dl
movabs rdx, 0x53268c179115037c
mov dl, byte [rcx + rdx]
movabs r8, 0x53268c1791150390
xor dl, byte [rcx + r8]
mov byte [0x1800b5907], dl
movabs rdx, 0x53268c179115037d
mov dl, byte [rcx + rdx]
movabs r8, 0x53268c1791150391
xor dl, byte [rcx + r8]
mov byte [0x1800b5908], dl
mov byte [0x1800b5909], 1
mov rcx, qword [0x1800a77e0]
movabs rdx, 0x9dfd3ce23b2cfc38
mov rcx, qword [rcx + rdx]
mov r8d, dword [rcx + rax + 0x38]
cmp r8d, 0xffffffff
je 0x18006193a
cmp dword [rcx + r14 + 0x38], r8d
je 0x18006193a
add rcx, r14
mov dword [rcx + 0x38], r8d
mov rax, qword [rcx]
cmp rax, qword [rcx + 8]
je 0x1800618f0
mov qword [rcx + 8], rax
lea rdx, [0x1800b5904]
call fcn.18007536c
jmp 0x18006193a
mov rax, qword [0x1800a77b0]
mov rax, qword [rax + rdi]
mov eax, dword [rax + 0x1c]
cmp eax, 0xffffffff
je 0x18006193a
mov rcx, qword [0x1800a77e0]
movabs rdx, 0x9dfd3ce23b2cfc38
mov rcx, qword [rcx + rdx]
cmp dword [rcx + r14 + 0x38], eax
je 0x18006193a
add rcx, r14
mov dword [rcx + 0x38], eax
mov dl, 1
call fcn.1800754b0
inc r15
mov eax, dword [rsi + 0x10]
cmp r15, rax
jb 0x1800615d0
jmp 0x1800619e8
mov rcx, qword [0x1800a77e0]
movabs rdx, 0x9dfd3ce23b2cfc38
mov rcx, qword [rcx + rdx]
mov eax, dword [rcx + rax + 0x38]
jmp 0x1800619ad
mov rax, qword [0x1800a77c0]
movabs rcx, 0xf01bf70c1ff22b66
jmp 0x18006198d
mov rax, qword [0x1800a77c0]
movabs rcx, 0x6972baf895e90386
cmp qword [rax + r13], rcx
jne 0x18006193a
mov rax, qword [0x1800a77e0]
movabs rcx, 0x9dfd3ce23b2cfc38
mov rcx, qword [rax + rcx]
mov eax, dword [rcx + r12 + 0x38]
cmp eax, 0xffffffff
jne 0x180061926
jmp 0x18006193a
mov rax, qword [0x1800a77e0]
movabs rcx, 0x9dfd3ce23b2cfc38
mov rcx, qword [rax + rcx]
cmp dword [rcx + r14 + 0x38], 0
je 0x18006193a
add rcx, r14
mov dword [rcx + 0x38], 0
jmp 0x180061933
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x1800b5900]
call fcn.1800807b4
mov rax, qword [0x1800a77b8]
cmp dword [rax + rsi], 0xffffffff
jne 0x1800612a3
test r12, r12
je 0x180061a68
mov rax, qword [0x1800a77e0]
movabs rcx, 0x9dfd3ce23b2cfc38
mov rax, qword [rax + rcx]
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rax + rcx + 0x18]
movabs rax, 0xcbf29ce484222325
movabs rdx, 0x100000001b3
movsx r8, byte [rcx]
inc rcx
xor rax, r8
imul rax, rdx
test r8, r8
jne 0x180061a4d
jmp 0x180061a6a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
xor eax, eax
mov rcx, qword [0x1800a77c0]
movabs rdx, 0x53268c1791150369
mov qword [rcx + rdx], rax
lea rcx, [0x1800b5900]
call fcn.18008082c
mov r12, qword [rbp - 0x10]
mov rdi, qword [rbp - 8]
jmp 0x1800612a3