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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x1800b70c0]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r12, r8
mov rsi, rdx
mov r15, rcx
mov qword [rbp - 0x78], rdx
mov rbx, qword [rbp + 0xa8]
xor r13d, r13d
mov dword [rsp + 0x40], r13d
call fcn.18002fb90
mov rdi, rax
mov r14, qword [r15]
lea rdx, [0x1800a78f4]
lea rcx, [rbp - 0x58]
call fcn.180011580
nop
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.180011580
nop
mov r9, qword [rsp + 0x58]
lea rdx, [rsp + 0x48]
test r9, r9
jne 0x1800269c2
lea rcx, [rsp + 0x68]
call fcn.180025490
lea ebx, [r13 + 2]
jmp 0x180026aa6
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x60]
cmp r11, 7
cmova rdx, r10
lea rcx, [r9 - 1]
mov rax, 0xffffffffffffffff
cmp rcx, rax
cmovb rax, rcx
lea r8, [rax + rax]
lea rax, [r8 + rdx]
cmp word [rax], 0x5c
je 0x180026a03
cmp rax, rdx
je 0x180026a0f
sub rax, 2
cmp word [rax], 0x5c
jne 0x1800269f4
sub rax, rdx
sar rax, 1
cmp rax, 0xffffffffffffffff
jne 0x180026a57
lea rcx, [rsp + 0x48]
cmp r11, 7
cmova rcx, r10
lea rax, [r8 + rcx]
cmp word [rax], 0x2f
je 0x180026a35
cmp rax, rcx
je 0x180026a41
sub rax, 2
cmp word [rax], 0x2f
jne 0x180026a26
sub rax, rcx
sar rax, 1
cmp rax, 0xffffffffffffffff
jne 0x180026a57
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x68]
call fcn.180025490
mov ebx, 2
jmp 0x180026aa6
lea rcx, [rax + 1]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
cmp r9, rcx
jb 0x180026e98
sub r9, rcx
mov r8, 0xffffffffffffffff
cmp r9, r8
cmovb r8, r9
lea rax, [rsp + 0x48]
cmp r11, 7
cmova rax, r10
lea rdx, [rax + rcx*2]
lea rcx, [rsp + 0x68]
call fcn.180011450
mov ebx, 6
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x30], 0xffffffffffffffff
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 1
lea r9, [rbp - 0x58]
lea r8, [rsp + 0x68]
mov rdx, r12
mov rcx, rdi
call fcn.18002fd00
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 7
jbe 0x180026b16
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180026b11
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026e9e
call fcn.18004b4cc
movdqa xmm0, xmmword [0x1800a8710]
movdqu xmmword [rsp + 0x78], xmm0
mov word [rsp + 0x68], r13w
mov rdx, qword [rsp + 0x60]
cmp rdx, 7
jbe 0x180026b6c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180026b67
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026ea4
call fcn.18004b4cc
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], 7
mov word [rsp + 0x48], r13w
mov rdx, qword [rbp - 0x40]
cmp rdx, 7
jbe 0x180026bc0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180026bbb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026eaa
call fcn.18004b4cc
mov r14d, dword [rbp + 0xa0]
cmp r14d, 2
jne 0x180026bdf
mov rax, qword [r15]
mov rcx, qword [rax + 0x10]
mov r14d, r13d
cmp byte [rcx + 0x15], r13b
sete r14b
lea r13, [r15 + 0x58]
mov qword [rbp - 0x70], r13
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov rdx, r12
lea rcx, [rbp + 8]
call fcn.180025490
mov dword [rbp + 0x28], r14d
or ebx, 8
mov dword [rsp + 0x40], ebx
lea r12, [r15 + 0x18]
lea r8, [rbp + 8]
cmp qword [rbp + 0x20], 7
cmova r8, qword [rbp + 8]
movabs rdi, 0xcbf29ce484222325
mov rdx, rdi
mov rax, qword [rbp + 0x18]
lea r9, [rax + rax]
xor eax, eax
mov ecx, eax
movabs r10, 0x100000001b3
test r9, r9
je 0x180026c64
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r10
inc rcx
cmp rcx, r9
jb 0x180026c50
movsxd r9, r14d
xor r9, rdx
lea r8, [rbp + 8]
lea rdx, [rbp - 0x38]
mov rcx, r12
call fcn.180029060
cmp qword [rax + 8], 0
je 0x180026d95
lea r8, [rbp + 8]
lea rdx, [rbp - 0x28]
mov rcx, r12
call fcn.1800287f0
mov rax, qword [rax]
mov rax, qword [rax + 0x38]
cmp byte [rax + 0x58], 0
jne 0x180026ccc
lea r8, [rbp + 8]
lea rdx, [rbp - 0x18]
mov rcx, r12
call fcn.1800287f0
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x38]
mov rdx, qword [rdx]
mov rcx, r15
call fcn.180027ed0
test al, al
je 0x180026d95
lea r8, [rbp + 8]
lea rdx, [rbp - 0x68]
mov rcx, r12
call fcn.1800287f0
mov rcx, qword [rax]
xor eax, eax
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov rax, qword [rcx + 0x40]
test rax, rax
je 0x180026cf9
lock inc dword [rax + 8]
mov ebx, dword [rsp + 0x40]
mov rax, qword [rcx + 0x38]
mov qword [rsi], rax
mov rax, qword [rcx + 0x40]
mov qword [rsi + 8], rax
or ebx, 1
mov dword [rsp + 0x40], ebx
mov rdx, qword [rbp + 0x20]
cmp rdx, 7
jbe 0x180026d4f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
cmp rdx, 0x1000
mov rax, rcx
jb 0x180026d4a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026e92
call fcn.18004b4cc
xor edi, edi
movdqa xmm0, xmmword [0x1800a8710]
movdqu xmmword [rbp + 0x18], xmm0
mov word [rbp + 8], di
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rsi
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.18004bb30
mov rbx, qword [rsp + 0x198]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r8d, r14d
mov rcx, r15
call fcn.1800280b0
lea rdx, [rbp + 8]
mov r14, qword [rbp + 8]
mov r15, qword [rbp + 0x20]
cmp r15, 7
cmova rdx, r14
mov rax, qword [rbp + 0x18]
lea r8, [rax + rax]
xor eax, eax
mov ecx, eax
test r8, r8
je 0x180026de3
movabs r9, 0x100000001b3
nop
movzx eax, byte [rcx + rdx]
xor rdi, rax
imul rdi, r9
inc rcx
cmp rcx, r8
jb 0x180026dd0
movsxd r9, dword [rbp + 0x28]
xor r9, rdi
lea r8, [rbp + 8]
lea rdx, [rbp - 0x68]
mov rcx, r12
call fcn.180029060
cmp qword [rax + 8], 0
je 0x180026e42
lea r8, [rbp + 8]
lea rdx, [rbp - 8]
mov rcx, r12
call fcn.1800287f0
mov rcx, qword [rax]
xor eax, eax
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov rax, qword [rcx + 0x40]
test rax, rax
je 0x180026e2e
lock inc dword [rax + 8]
mov ebx, dword [rsp + 0x40]
mov rax, qword [rcx + 0x38]
mov qword [rsi], rax
mov rax, qword [rcx + 0x40]
mov qword [rsi + 8], rax
jmp 0x180026d08
xor edi, edi
mov qword [rsi], rdi
mov qword [rsi + 8], rdi
or ebx, 1
mov dword [rsp + 0x40], ebx
cmp r15, 7
jbe 0x180026d51
lea rdx, [r15*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x180026e85
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026e92
mov rcx, r14
call fcn.18004b4cc
jmp 0x180026d51
call fcn.18005212c
nop
call fcn.180010d50
int3
call fcn.18005212c
nop
call fcn.18005212c
nop
call fcn.18005212c
int3