Function at 0x180004140
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, 0x40
mov rax, qword [0x180060010]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov ecx, dword [0x180060de8]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x180061060], ecx
jle 0x1800041bb
lea rcx, [0x180061060]
call fcn.180046f60
cmp dword [0x180061060], 0xffffffff
jne 0x1800041bb
lea rcx, [0x18004c9d0]
call fcn.180046db4
lea rcx, [0x180061060]
call fcn.180046f00
mov rax, qword [0x180060e60]
mov qword [0x180060e68], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, qword [rax + 0x21d1380]
mov rsi, qword [rcx + 8]
mov edi, dword [rcx + 0x10]
xor r13d, r13d
mov ebx, r13d
test edi, edi
je 0x18000423b
nop dword [rax]
lea eax, [rbx*8]
mov rax, qword [rax + rsi]
mov qword [rsp + 0x30], rax
mov rcx, qword [0x180060e68]
cmp rcx, qword [0x180060e70]
je 0x18000421d
mov qword [rcx], rax
add qword [0x180060e68], 8
jmp 0x180004235
lea r8, [rsp + 0x30]
mov rdx, qword [0x180060e68]
lea rcx, [0x180060e60]
call fcn.180031e10
inc ebx
cmp ebx, edi
jb 0x1800041f0
mov r15d, r13d
mov rax, qword [0x180060e68]
sub rax, qword [0x180060e60]
sar rax, 3
test rax, rax
je 0x180004729
mov r14, r13
movabs rbp, 0xcbf29ce484222325
movabs r12, 0x100000001b3
cmp byte [0x180060fa5], 0
je 0x180004704
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rax, 0x21ead70
jne 0x180004522
mov rsi, r13
mov rdi, r13
xor r9d, r9d
lea r8, [rsp + 0x30]
xor edx, edx
lea rcx, [0x180061028]
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
je 0x180004756
cmp dword [rsp + 0x30], 0
je 0x18000434b
test rsi, rsi
je 0x180004331
mov rax, qword [0x180060070]
cmp dword [rax + 0x28], 0
jle 0x180004331
mov r9, qword [rsi + 0x35f0]
mov r8, rbp
nop dword [rax]
movsx rdx, byte [r9]
lea r9, [r9 + 1]
xor r8, rdx
imul r8, r12
test dl, dl
jne 0x1800042e0
mov qword [rsp + 0x20], r8
lea rdx, [rsp + 0x20]
mov rcx, qword [0x180060078]
call fcn.180006140
mov rcx, qword [0x180060070]
movsxd rdx, dword [rcx + 0x28]
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov rax, qword [rax]
mov r8d, dword [rax + rcx*8 - 8]
mov rdx, qword [rax + rcx*8 - 0x30]
mov rcx, rsi
call fcn.180031b50
nop
xor r8d, r8d
xor edx, edx
lea rcx, [0x180061028]
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x180004756
mov rcx, qword [rsi + 0x35e0]
sub rcx, qword [rsi + 0x35d8]
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1800043e8
mov r8, qword [rsi + 0x35f0]
mov rdx, rbp
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r12
test cl, cl
jne 0x180004380
movabs rax, 0xf984545cfa78101f
cmp rdx, rax
je 0x180004704
movabs rax, 0x2d0a42b1a4f18a79
cmp rdx, rax
je 0x180004704
mov rax, qword [rsi + 0x35d8]
mov edx, dword [rsi + 0x3610]
cmp dword [rax + 0x20], edx
je 0x1800043e8
mov dword [rax + 0x20], edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rax, 0x188b80
mov dl, 1
lea rcx, [rsi + 0x35d8]
call rax
nop
mov rax, qword [0x180060e60]
mov rbp, qword [r14 + rax]
mov r8, qword [rbp + 0x35f0]
movabs rbx, 0xcbf29ce484222325
nop dword [rax]
nop dword [rax + rax]
movsx rdx, byte [r8]
lea r8, [r8 + 1]
xor rbx, rdx
imul rbx, r12
test dl, dl
jne 0x180004410
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rax, 0x2026c0
mov rcx, rbp
call rax
test rax, rax
je 0x18000465e
movabs rcx, 0x37d1bfa7d195ebf9
cmp rbx, rcx
je 0x180004558
movabs rcx, 0x92fe97d6caa88c20
cmp rbx, rcx
je 0x180004558
movabs rcx, 0xa854d43ddb55ddcc
cmp rbx, rcx
je 0x180004558
movabs rcx, 0xb8f3ad4931029355
movabs rdx, 0xdb76082138fdee7f
cmp rbx, rcx
je 0x180004562
movabs rcx, 0xaedcd71796ade290
cmp rbx, rcx
je 0x180004562
cmp rbx, rdx
je 0x180004562
movabs rcx, 0xf17870527758213f
cmp rbx, rcx
je 0x1800046fa
movabs rcx, 0x8499db0ed7bb81cf
cmp rbx, rcx
je 0x1800046fa
mov edx, dword [rax + 0x3610]
mov rax, qword [0x180060e60]
mov rbx, qword [r14 + rax]
cmp edx, 0xffffffff
je 0x1800046fa
cmp dword [rbx + 0x3610], edx
je 0x1800046fa
mov dword [rbx + 0x3610], edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rax, 0x188b80
mov dl, 1
lea rcx, [rbx + 0x35d8]
call rax
nop
jmp 0x1800046fa
mov rsi, qword [rax]
test rsi, rsi
je 0x180004294
mov rdx, qword [rsi + 0x35f0]
mov rdi, rbp
nop dword [rax + rax]
movsx rcx, byte [rdx]
lea rdx, [rdx + 1]
xor rdi, rcx
imul rdi, r12
test cl, cl
jne 0x180004540
jmp 0x180004297
movabs rdx, 0xdb76082138fdee7f
test rsi, rsi
je 0x180004570
cmp rax, rsi
jne 0x1800046fa
cmp rbx, rdx
jne 0x18000460f
movabs rcx, 0x222b948fbf568318
cmp rdi, rcx
jne 0x1800045d1
mov r8d, dword [rax + 0x3610]
cmp r8d, 0xffffffff
je 0x1800046fa
mov rax, qword [0x180060e60]
mov rcx, qword [r14 + rax]
add rcx, 0x35d8
cmp dword [rcx + 0x38], r8d
je 0x1800046fa
mov dword [rcx + 0x38], r8d
mov rax, qword [rcx]
mov qword [rcx + 8], rax
lea rdx, str.Yone
call fcn.180031fb0
jmp 0x1800046fa
mov rax, qword [0x180060e60]
mov rbx, qword [r14 + rax]
cmp dword [rbx + 0x3610], 0
je 0x1800046fa
mov dword [rbx + 0x3610], r13d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rax, 0x188b80
mov dl, 1
lea rcx, [rbx + 0x35d8]
call rax
nop
jmp 0x1800046fa
mov rax, qword [0x180060070]
mov edx, dword [rax + 0x30]
mov rax, qword [0x180060e60]
mov rbx, qword [r14 + rax]
cmp edx, 0xffffffff
je 0x1800046fa
cmp dword [rbx + 0x3610], edx
je 0x1800046fa
mov dword [rbx + 0x3610], edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rax, 0x188b80
mov dl, 1
lea rcx, [rbx + 0x35d8]
call rax
nop
jmp 0x1800046fa
movabs rax, 0x1ecf7680ae6d72bd
cmp rbx, rax
jne 0x18000467e
movabs rax, 0xfca7b000ade2abcb
cmp rdi, rax
je 0x1800046bc
jmp 0x1800046fa
movabs rax, 0xfcb981acde90c192
cmp rbx, rax
jne 0x18000469e
movabs rax, 0x6972baf895e90386
cmp rdi, rax
je 0x1800046bc
jmp 0x1800046fa
movabs rax, 0xfc61c19e80fc9d68
cmp rbx, rax
jne 0x1800046fa
movabs rax, 0xf01bf70c1ff22b66
cmp rdi, rax
jne 0x1800046fa
mov edx, dword [rsi + 0x3610]
mov rax, qword [0x180060e60]
mov rbx, qword [r14 + rax]
cmp edx, 0xffffffff
je 0x1800046fa
cmp dword [rbx + 0x3610], edx
je 0x1800046fa
mov dword [rbx + 0x3610], edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add rax, 0x188b80
mov dl, 1
lea rcx, [rbx + 0x35d8]
call rax
nop
movabs rbp, 0xcbf29ce484222325
inc r15d
add r14, 8
mov rcx, qword [0x180060e68]
sub rcx, qword [0x180060e60]
sar rcx, 3
movsxd rax, r15d
cmp rax, rcx
jb 0x180004270
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.180046920
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3