Function at 0x140001b10
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
sub rsp, 0x20
lea rcx, [0x140037270]
call qword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
xor esi, esi
lea rbx, [0x140031948]
cmp qword [0x140037240], rsi
movabs rdi, 0xcbf29ce484222325
movabs rbp, 0x100000001b3
je 0x140001bbf
mov ecx, esi
mov al, 0x43
nop dword [rax + rax]
cmp al, 0x7e
ja 0x140001b6e
inc ecx
movzx eax, byte [rcx + rbx]
cmp al, 0x20
jge 0x140001b60
mov r8, rdi
test ecx, ecx
je 0x140001ba7
mov r9, rbx
mov r10d, ecx
nop dword [rax + rax]
movsx ecx, byte [r9]
lea r9, [r9 + 1]
mov edx, ecx
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
cdqe
xor r8, rax
imul r8, rbp
sub r10, 1
jne 0x140001b80
mov rcx, r8
call fcn.140002230
mov rcx, qword [0x140037240]
call rax
mov qword [0x140037240], rsi
cmp qword [0x140037248], rsi
je 0x140001c2f
mov ecx, esi
mov al, 0x43
nop dword [rax]
cmp al, 0x7e
ja 0x140001bde
inc ecx
movzx eax, byte [rcx + rbx]
cmp al, 0x20
jge 0x140001bd0
mov r8, rdi
test ecx, ecx
je 0x140001c17
mov r9, rbx
mov r10d, ecx
nop dword [rax + rax]
movsx ecx, byte [r9]
lea r9, [r9 + 1]
mov edx, ecx
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
cdqe
xor r8, rax
imul r8, rbp
sub r10, 1
jne 0x140001bf0
mov rcx, r8
call fcn.140002230
mov rcx, qword [0x140037248]
call rax
mov qword [0x140037248], rsi
cmp qword [0x140037250], rsi
je 0x140001c9f
mov ecx, esi
mov al, 0x43
nop dword [rax]
cmp al, 0x7e
ja 0x140001c4e
inc ecx
movzx eax, byte [rcx + rbx]
cmp al, 0x20
jge 0x140001c40
mov r8, rdi
test ecx, ecx
je 0x140001c87
mov r9, rbx
mov r10d, ecx
nop dword [rax + rax]
movsx ecx, byte [r9]
lea r9, [r9 + 1]
mov edx, ecx
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
cdqe
xor r8, rax
imul r8, rbp
sub r10, 1
jne 0x140001c60
mov rcx, r8
call fcn.140002230
mov rcx, qword [0x140037250]
call rax
mov qword [0x140037250], rsi
cmp qword [0x140037258], rsi
je 0x140001d0e
mov ecx, esi
mov al, 0x43
nop dword [rax]
cmp al, 0x7e
ja 0x140001cbe
inc ecx
movzx eax, byte [rcx + rbx]
cmp al, 0x20
jge 0x140001cb0
mov r8, rdi
test ecx, ecx
je 0x140001cf6
mov r9d, ecx
nop dword [rax + rax]
movsx ecx, byte [rbx]
lea rbx, [rbx + 1]
mov edx, ecx
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
cdqe
xor r8, rax
imul r8, rbp
sub r9, 1
jne 0x140001cd0
mov rcx, r8
call fcn.140002230
mov rcx, qword [0x140037258]
call rax
mov qword [0x140037258], rsi
call fcn.140001710
test al, al
je 0x140001d7a
mov ecx, esi
lea r8, [0x140031958]
mov al, 0x54
cmp al, 0x7e
ja 0x140001d31
inc ecx
movzx eax, byte [rcx + r8]
cmp al, 0x20
jge 0x140001d22
test ecx, ecx
je 0x140001d67
mov r9d, ecx
nop dword [rax + rax]
movsx ecx, byte [r8]
lea r8, [r8 + 1]
mov edx, ecx
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
cdqe
xor rdi, rax
imul rdi, rbp
sub r9, 1
jne 0x140001d40
mov rcx, rdi
call fcn.140002230
mov rcx, qword [0x140037260]
xor edx, edx
call rax
lea rcx, [0x140037270]
mov qword [0x140037260], rsi
mov dword [0x140037268], esi
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]