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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x7d8]
sub rsp, 0x8d8
mov rax, qword [0x1400f0020]
xor rax, rsp
mov qword [rbp + 0x7c0], rax
mov dword [rsp + 0x60], r9d
mov rdi, r8
mov r13d, edx
mov r12, rcx
mov r15, qword [rbp + 0x848]
xor ebx, ebx
mov dword [rbp - 0x78], ebx
mov dword [rbp - 0x70], 2
xor edx, edx
mov r8d, 0x824
lea rcx, [rbp - 0x6c]
call fcn.140089280
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
call fcn.140023e20
mov rsi, rax
cmp qword [rdi + 0x18], 8
jb 0x140025fb9
mov rdi, qword [rdi]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], bl
lea rdx, str.RtlDosPathNameToNtPathName_U
lea rcx, [rsp + 0x40]
call fcn.1400069f0
nop
call fcn.140045d40
lea r14, [rsi + 0x40]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rdx, qword [rsp + 0x40]
movabs rbx, 0xcbf29ce484222325
mov r9, rbx
xor ecx, ecx
movabs r10, 0x100000001b3
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x140026043
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x140026030
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call fcn.140025420
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140026088
cmp rcx, qword [rsi + 8]
je 0x140026088
mov rsi, qword [rcx + 0x30]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rsi, rsi
je 0x140026092
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x78]
mov rcx, rdi
call rsi
jmp 0x140026092
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1400260cf
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400260ca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400262bc
call fcn.14006a754
mov r8, qword [rbp - 0x80]
mov edx, 0x200
lea rcx, [rbp - 0x6c]
call fcn.140099db8
call fcn.140023e20
mov rsi, rax
xor r14d, r14d
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], r14b
lea rdx, str.RtlFreeUnicodeString
lea rcx, [rsp + 0x40]
call fcn.1400069f0
nop
call fcn.140045d40
lea rcx, [rsi + 0x40]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rdx, qword [rsp + 0x40]
mov ecx, r14d
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x140026163
movabs r9, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor rbx, rax
imul rbx, r9
inc rcx
cmp rcx, r8
jb 0x140026150
mov r9, rbx
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call fcn.140025420
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400261a3
cmp rcx, qword [rsi + 8]
je 0x1400261a3
mov rbx, qword [rcx + 0x30]
lea rcx, [rsi + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test rbx, rbx
je 0x1400261ae
lea rcx, [rsp + 0x78]
call rbx
jmp 0x1400261ae
lea rcx, [rsi + 0x40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1400261eb
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400261e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400262b6
call fcn.14006a754
cmp qword [r15 + 0x18], 8
jb 0x1400261f5
mov r15, qword [r15]
mov r8, r15
mov edx, 0x200
lea rcx, [rbp + 0x394]
call fcn.140099db8
mov dword [rbp + 0x798], r13d
mov eax, dword [rbp + 0x840]
mov dword [rbp + 0x794], eax
mov word [rbp + 0x79c], 1
mov byte [rbp + 0x79e], 0
mov eax, dword [rsp + 0x60]
mov dword [rbp + 0x7a0], eax
mov qword [rbp + 0x7a8], r14
mov dword [rbp + 0x7b0], r14d
mov byte [rbp + 0x7b4], 0
mov qword [rsp + 0x38], r14
lea rax, [rbp - 0x78]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
mov r9d, 0x828
lea r8, [rbp - 0x70]
mov edx, 0x8005e02c
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x140026291
mov rax, qword gs:[0x30]
mov eax, dword [rax + 0x1250]
jmp 0x140026293
xor eax, eax
mov rcx, qword [rbp + 0x7c0]
xor rcx, rsp
call fcn.14006a730
add rsp, 0x8d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140097d64
int3
call fcn.140097d64
int3