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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x1404e1800]
xor rax, rsp
mov qword [rbp + 0xb8], rax
mov r15, rdx
mov qword [rsp + 0x40], rdx
mov rbx, rcx
mov qword [rsp + 0x38], rcx
mov al, byte [rcx + 0x109]
xor r13d, r13d
test al, al
je 0x14007568b
test rdx, rdx
je 0x14007563c
mov r14, qword [rdx + 0x80]
test r14, r14
je 0x14007563c
cmp qword [rdx + 0x70], r13
je 0x14007563c
add r14, 0xe0
cmp qword [r14 + 0x18], 8
jb 0x1400754c1
mov r14, qword [r14]
movdqa xmm0, xmmword [0x1403a9cf0]
movdqu xmmword [rbp - 0x48], xmm0
mov word [rbp - 0x58], r13w
or rsi, 0xffffffffffffffff
inc rsi
cmp word [r14 + rsi*2], r13w
jne 0x1400754d7
movabs r12, 0x7ffffffffffffffe
cmp rsi, 7
ja 0x1400759ef
mov qword [rbp - 0x48], rsi
lea rbx, [rsi + rsi]
mov r8, rbx
mov rdx, r14
lea rcx, [rbp - 0x58]
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov word [rbp + rbx - 0x58], r13w
xor r8d, r8d
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x38]
call fcn.1400763d0
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 8
jb 0x14007553e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
call fcn.14007e6f0
lea rcx, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae rcx, qword [rbp - 0x38]
call qword [sym.imp.api_ms_win_core_shlwapi_legacy_l1_1_0.dll_PathFindFileNameW]
nop dword [rax + rax]
mov rdi, rax
movdqa xmm0, xmmword [0x1403a9cf0]
movdqu xmmword [rsp + 0x58], xmm0
mov word [rsp + 0x48], r13w
or rsi, 0xffffffffffffffff
inc rsi
cmp word [rax + rsi*2], r13w
jne 0x140075573
cmp rsi, 7
ja 0x140075a3d
mov qword [rsp + 0x58], rsi
lea rbx, [rsi + rsi]
mov r8, rbx
mov rdx, rdi
lea rcx, [rsp + 0x48]
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov word [rsp + rbx + 0x48], r13w
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rbx
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov r14, qword [r15 + 0x80]
add r14, 0x10
cmp qword [r14 + 0x18], 8
jb 0x1400755d4
mov r14, qword [r14]
movdqa xmm0, xmmword [0x1403a9cf0]
movdqu xmmword [rsp + 0x78], xmm0
mov word [rsp + 0x68], r13w
or rdi, 0xffffffffffffffff
inc rdi
cmp word [r14 + rdi*2], r13w
jne 0x1400755ec
cmp rdi, 7
ja 0x140075aa3
mov qword [rsp + 0x78], rdi
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, r14
lea rcx, [rsp + 0x68]
call sub.api_ms_win_crt_private_l1_1_0.dll_memmove
mov word [rsp + rbx + 0x68], r13w
mov r13, qword [rbp - 0x80]
mov rdi, qword [rsp + 0x78]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
jmp 0x140075af6
mov r15, qword [rsp + 0x40]
mov byte [r15 + 0xc2], 1
mov ebx, dword [rbx + 0x10c]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o_rand]
nop dword [rax + rax]
xor edx, edx
div ebx
cmp edx, 1
sete al
mov rcx, qword [rbp + 0xb8]
xor rcx, rsp
call fcn.140112420
mov rbx, qword [rsp + 0x210]
add rsp, 0x1c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor al, al
jmp 0x140075660
movabs rsi, 0x100000001b3
movzx ecx, byte [rdx + r9]
xor r10, rcx
imul r10, rsi
inc rdx
cmp rdx, rbx
jb 0x140075699
xor esi, esi
movabs rcx, 0xcbf29ce484222325
mov qword [rsp + 0x20], r10
mov rdx, rcx
mov r9, rsi
movabs r12, 0x100000001b3
movzx ecx, byte [rsp + r9 + 0x20]
xor rdx, rcx
imul rdx, r12
inc r9
cmp r9, 8
jb 0x1400756ce
mov r12, qword [rsp + 0x30]
and rdx, qword [rax + 0x48]
add rdx, rdx
mov rsi, qword [rax + 0x30]
mov r9, qword [rsi + rdx*8]
mov rbx, qword [rax + 0x20]
cmp qword [rsi + rdx*8], rbx
je 0x140075853
mov rcx, qword [rsi + rdx*8 + 8]
mov rcx, qword [rcx]
cmp r9, rcx
jne 0x14007576e
mov r9, rbx
cmp r9, rbx
jne 0x140075929
add r8, 0x20
xor esi, esi
jmp 0x140075733
mov rax, r9
cmp rax, r9
je 0x14007577e
lea r8, [rbp + 0x30]
lea rcx, [rbp + 0xb0]
cmp r8, rcx
je 0x140075779
mov rbx, qword [r8 + 0x10]
mov r9, r8
cmp qword [r8 + 0x18], 8
jb 0x140075750
mov r9, qword [r8]
movabs rcx, 0xcbf29ce484222325
mov r10, rcx
mov rdx, rsi
add rbx, rbx
je 0x1400756b9
jmp 0x14007568f
cmp qword [r9 + 0x10], r10
je 0x140075716
mov r9, qword [r9]
jmp 0x1400756fc
mov rbx, qword [rsp + 0x38]
add r11, 0x20
movabs r10, 0xcbf29ce484222325
lea rax, [rbp + 0x30]
cmp r11, rax
je 0x14007585b
mov r9, qword [r11 + 0x10]
mov r8, r11
cmp qword [r11 + 0x18], 8
jb 0x1400757aa
mov r8, qword [r11]
mov rdx, r10
mov rcx, rsi
add r9, r9
je 0x1400757dd
movabs r10, 0x100000001b3
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r10
inc rcx
cmp rcx, r9
jb 0x1400757bf
movabs r10, 0xcbf29ce484222325
mov qword [rsp + 0x28], rdx
mov rcx, r10
mov r8, rsi
movabs rsi, 0x100000001b3
movzx eax, byte [rsp + r8 + 0x28]
xor rcx, rax
imul rcx, rsi
inc r8
cmp r8, 8
jb 0x1400757f2
xor esi, esi
mov r8, qword [rbx + 0xd0]
and r8, rcx
add r8, r8
mov r10, qword [rbx + 0xb8]
mov rax, qword [r10 + r8*8]
mov r9, qword [rbx + 0xa8]
cmp qword [r10 + r8*8], r9
je 0x140075921
mov rcx, qword [r10 + r8*8 + 8]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x140075727
cmp qword [rax + 0x10], rdx
je 0x14007572a
mov rax, qword [rax]
jmp 0x140075829
mov rcx, rbx
jmp 0x14007570e
test rdi, rdi
je 0x140075870
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
nop
lea r9, [fcn.14007a7c0]
mov edi, Compress
lea r8d, [rdi - 0x1c]
mov edx, edi
lea rcx, [rbp + 0x30]
call fcn.140112a70
nop
lea r9, [fcn.14007a7c0]
lea r8d, [rdi - 0x1e]
mov edx, edi
lea rcx, [rbp - 0x10]
call fcn.140112a70
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x1400758be
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
call fcn.14007e6f0
movdqa xmm0, xmmword [0x1403a9cf0]
movdqu xmmword [rbp - 0x68], xmm0
mov word [rbp - 0x78], si
cmp r13, 8
jb 0x1400758e6
lea rdx, [r13*2 + 2]
mov rcx, r14
call fcn.14007e6f0
nop
cmp r15, 8
jb 0x1400758fd
lea rdx, [r15*2 + 2]
mov rcx, r12
call fcn.14007e6f0
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x140075637
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
call fcn.14007e6f0
jmp 0x140075637
mov rcx, r9
jmp 0x14007583b
xor ebx, ebx
test rdi, rdi
je 0x140075940
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
nop dword [rax + rax]
nop
lea r9, [fcn.14007a7c0]
mov edi, Compress
lea r8d, [rdi - 0x1c]
mov edx, edi
lea rcx, [rbp + 0x30]
call fcn.140112a70
nop
lea r9, [fcn.14007a7c0]
lea r8d, [rdi - 0x1e]
mov edx, edi
lea rcx, [rbp - 0x10]
call fcn.140112a70
nop
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14007598e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
call fcn.14007e6f0
movdqa xmm0, xmmword [0x1403a9cf0]
movdqu xmmword [rbp - 0x68], xmm0
mov word [rbp - 0x78], bx
cmp r13, 8
jb 0x1400759b6
lea rdx, [r13*2 + 2]
mov rcx, r14
call fcn.14007e6f0
nop
cmp r15, 8
jb 0x1400759cd
lea rdx, [r15*2 + 2]
mov rcx, r12
call fcn.14007e6f0
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 8
jb 0x1400759e8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x38]
call fcn.14007e6f0
mov al, 1
jmp 0x140075660
cmp rsi, r12
jbe 0x1400759fa
call fcn.140078280
int3
mov rdx, rsi
lea rcx, [rbp - 0x58]
call fcn.14007d8ac
mov rbx, rax
lea rdx, [rax + 1]
call fcn.14007d820
mov rdi, rax
mov qword [rbp - 0x48], rsi
mov qword [rbp - 0x40], rbx
lea rbx, [rsi + rsi]
mov r8, rbx
mov rdx, r14
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rbx + rdi], r13w
mov qword [rbp - 0x58], rdi
jmp 0x140075512
cmp rsi, r12
jbe 0x140075a48
call fcn.140078280
int3
mov rdx, rsi
lea rcx, [rsp + 0x48]
call fcn.14007d8ac
mov rbx, rax
mov qword [rsp + 0x20], rax
lea rdx, [rax + 1]
call fcn.14007d820
mov r12, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rbx
lea rbx, [rsi + rsi]
mov r8, rbx
mov rdx, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rbx + r12], r13w
mov qword [rsp + 0x48], r12
movabs r12, 0x7ffffffffffffffe
jmp 0x1400755bf
cmp rdi, r12
jbe 0x140075aae
call fcn.140078280
int3
mov rdx, rdi
lea rcx, [rsp + 0x68]
call fcn.14007d8ac
mov r13, rax
lea rdx, [rax + 1]
call fcn.14007d820
mov r12, rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], r13
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, r14
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor eax, eax
mov word [rbx + r12], ax
mov qword [rsp + 0x68], r12
mov rdx, qword [r15 + 0x70]
add rdx, 0x30
xor r8d, r8d
lea rcx, [rbp - 0x78]
call fcn.1400763d0
nop
xorps xmm0, xmm0
movdqa xmmword [rbp], xmm0
mov r15, qword [rbp - 0x68]
lea r14, [rbp - 0x78]
cmp qword [rbp - 0x60], 8
cmovae r14, qword [rbp - 0x78]
movabs rdx, 0x7fffffffffffffff
cmp r15, 8
jae 0x140075b48
movups xmm0, xmmword [r14]
movdqu xmmword [rbp - 0x10], xmm0
mov qword [rbp + 8], 7
jmp 0x140075ba0
mov rbx, r15
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rax, [rbx + 1]
lea rcx, [rax + rax]
cmp rax, rdx
mov rax, 0xffffffffffffffff
cmova rcx, rax
call fcn.14009b7d0
mov qword [rbp - 0x10], rax
lea r8, [r15*2 + 2]
mov rdx, r14
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbp + 8], rbx
movabs rdx, 0x7fffffffffffffff
mov qword [rbp], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x20], xmm0
mov r14, qword [0x1404f8c88]
lea r15, [0x1404f8c78]
mov r12, r15
mov rax, qword [0x1404f8c78]
mov rcx, qword [0x1404f8c90]
cmp rcx, 8
cmovae r12, rax
cmp r14, 8
jae 0x140075bf1
movups xmm0, xmmword [r12]
movdqu xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], 7
jmp 0x140075c58
mov rbx, r14
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rax, [rbx + 1]
lea rcx, [rax + rax]
cmp rax, rdx
mov rax, 0xffffffffffffffff
cmova rcx, rax
call fcn.14009b7d0
mov qword [rbp + 0x10], rax
lea r8, [r14*2 + 2]
mov rdx, r12
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x28], rbx
mov rcx, qword [0x1404f8c90]
mov r14, qword [0x1404f8c88]
mov rax, qword [0x1404f8c78]
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x40], xmm0
cmp rcx, 8
cmovae r15, rax
movabs r12, 0x7ffffffffffffffe
cmp r14, 8
jae 0x140075c8b
movups xmm0, xmmword [r15]
movdqu xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x48], 7
jmp 0x140075cd9
mov rbx, r14
or rbx, 7
cmp rbx, r12
cmova rbx, r12
lea rax, [rbx + 1]
lea rcx, [rax + rax]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
mov rax, 0xffffffffffffffff
cmova rcx, rax
call fcn.14009b7d0
mov qword [rbp + 0x30], rax
lea r8, [r14*2 + 2]
mov rdx, r15
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbp + 0x48], rbx
mov qword [rbp + 0x40], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x60], xmm0
mov r15, qword [rbp - 0x28]
lea r14, [rbp - 0x38]
cmp qword [rbp - 0x20], 8
cmovae r14, qword [rbp - 0x38]
cmp r15, 8
jae 0x140075d10
movups xmm0, xmmword [r14]
movdqu xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x68], 7
jmp 0x140075d5e
mov rbx, r15
or rbx, 7
cmp rbx, r12
cmova rbx, r12
lea rax, [rbx + 1]
lea rcx, [rax + rax]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
mov rax, 0xffffffffffffffff
cmova rcx, rax
call fcn.14009b7d0
mov qword [rbp + 0x50], rax
lea r8, [r15*2 + 2]
mov rdx, r14
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbp + 0x68], rbx
mov qword [rbp + 0x60], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x80], xmm0
lea r14, [rsp + 0x48]
mov r15, qword [rsp + 0x20]
cmp r15, 8
mov r12, qword [rsp + 0x30]
cmovae r14, r12
cmp rsi, 8
jae 0x140075da0
movups xmm0, xmmword [r14]
movdqu xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x88], 7
jmp 0x140075dfb
mov rbx, rsi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rax, [rbx + 1]
lea rcx, [rax + rax]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
mov rax, 0xffffffffffffffff
cmova rcx, rax
call fcn.14009b7d0
mov qword [rbp + 0x70], rax
lea r8, [rsi*2 + 2]
mov rdx, r14
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x80], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
lea rsi, [rsp + 0x68]
cmp r13, 8
mov r14, qword [rsp + 0x28]
cmovae rsi, r14
cmp rdi, 8
jae 0x140075e3d
movups xmm0, xmmword [rsi]
movdqu xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa8], 7
jmp 0x140075e9b
mov rbx, rdi
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rax, [rbx + 1]
lea rcx, [rax + rax]
movabs rdx, 0x7fffffffffffffff
cmp rax, rdx
mov rax, 0xffffffffffffffff
cmova rcx, rax
call fcn.14009b7d0
mov qword [rbp + 0x90], rax
lea r8, [rdi*2 + 2]
mov rdx, rsi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov qword [rbp + 0xa8], rbx
mov qword [rbp + 0xa0], rdi
mov rbx, qword [rsp + 0x38]
lea rdi, [rbx + 0xe8]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockShared]
nop dword [rax + rax]
nop
lea r11, [rbp - 0x10]
xor esi, esi
jmp 0x140075782