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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x1400c50b0]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rdi, r8
mov rbx, rdx
mov r14, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
lea rcx, [rsp + 0x50]
call fcn.140062c40
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
lea rcx, [rbp - 0x30]
call fcn.140062c40
nop
lea rdx, [rbx + 0xf8]
mov r8, qword [rbx + 0x30]
lea rcx, [rsp + 0x50]
call fcn.1400630a0
mov ebx, eax
xor esi, esi
cmp byte [r14], sil
jne 0x14005f711
test eax, eax
js 0x14005fe80
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
movzx eax, byte [r14 + 1]
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x48], al
test al, al
je 0x14005f6e9
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_Wow64DisableWow64FsRedirection]
nop
lea rdx, [rdi + 0xf8]
mov r8, qword [rdi + 0x30]
lea rcx, [rbp - 0x30]
call fcn.1400630a0
mov ebx, eax
cmp byte [rsp + 0x48], 0
je 0x14005f711
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_Wow64RevertWow64FsRedirection]
test ebx, ebx
js 0x14005fe80
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 7
lea rdx, str.LdrpHandleTlsData
lea rcx, [rsp + 0x20]
call fcn.1400066f4
lea rdx, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
cmp r14, 8
cmovae rdx, rdi
movabs rbx, 0xcbf29ce484222325
mov r9, rbx
mov rax, qword [rsp + 0x30]
lea r8, [rax + rax]
mov rcx, rsi
movabs r15, 0x100000001b3
test r8, r8
je 0x14005f793
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r15
inc rcx
cmp rcx, r8
jb 0x14005f780
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.14002fd50
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005f7c4
cmp rcx, qword [rbp - 0x68]
je 0x14005f7c4
mov eax, dword [rcx + 0x30]
add rax, qword [rsp + 0x68]
mov qword [0x1400c94f0], rax
cmp r14, 8
jb 0x14005f7ff
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005f7f7
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005fec4
mov rcx, rdi
call fcn.140068fd0
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 7
lea rdx, str.LdrpHandleTlsData
lea rcx, [rsp + 0x20]
call fcn.1400066f4
lea rdx, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
cmp r14, 8
cmovae rdx, rdi
mov r9, rbx
mov rax, qword [rsp + 0x30]
lea r8, [rax + rax]
mov rcx, rsi
test r8, r8
je 0x14005f863
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r15
inc rcx
cmp rcx, r8
jb 0x14005f850
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x10]
call fcn.14002fd50
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005f893
cmp rcx, qword [rbp + 0x18]
je 0x14005f893
mov eax, dword [rcx + 0x30]
add rax, qword [rbp - 0x18]
mov qword [0x1400c94f8], rax
cmp r14, 8
jb 0x14005f8ce
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005f8c6
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005feca
mov rcx, rdi
call fcn.140068fd0
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 7
lea rdx, str.LdrpInvertedFunctionTable
lea rcx, [rsp + 0x20]
call fcn.1400066f4
lea rdx, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
cmp r14, 8
cmovae rdx, rdi
mov r9, rbx
mov rax, qword [rsp + 0x30]
lea r8, [rax + rax]
mov rcx, rsi
test r8, r8
je 0x14005f933
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r15
inc rcx
cmp rcx, r8
jb 0x14005f920
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.14002fd50
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005f964
cmp rcx, qword [rbp - 0x68]
je 0x14005f964
mov eax, dword [rcx + 0x30]
add rax, qword [rsp + 0x68]
mov qword [0x1400c9500], rax
cmp r14, 8
jb 0x14005f99f
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005f997
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005fed0
mov rcx, rdi
call fcn.140068fd0
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 7
lea rdx, str.LdrpInvertedFunctionTable
lea rcx, [rsp + 0x20]
call fcn.1400066f4
lea rdx, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
cmp r14, 8
cmovae rdx, rdi
mov r9, rbx
mov rax, qword [rsp + 0x30]
lea r8, [rax + rax]
mov rcx, rsi
test r8, r8
je 0x14005fa03
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r15
inc rcx
cmp rcx, r8
jb 0x14005f9f0
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x10]
call fcn.14002fd50
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005fa33
cmp rcx, qword [rbp + 0x18]
je 0x14005fa33
mov eax, dword [rcx + 0x30]
add rax, qword [rbp - 0x18]
mov qword [0x1400c9508], rax
cmp r14, 8
jb 0x14005fa6e
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005fa66
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005fed6
mov rcx, rdi
call fcn.140068fd0
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 7
lea rdx, str.RtlInsertInvertedFunctionTable
lea rcx, [rsp + 0x20]
call fcn.1400066f4
lea rdx, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
cmp r14, 8
cmovae rdx, rdi
mov r9, rbx
mov rax, qword [rsp + 0x30]
lea r8, [rax + rax]
mov rcx, rsi
test r8, r8
je 0x14005fad3
nop dword [rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r15
inc rcx
cmp rcx, r8
jb 0x14005fac0
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.14002fd50
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005fb04
cmp rcx, qword [rbp - 0x68]
je 0x14005fb04
mov eax, dword [rcx + 0x30]
add rax, qword [rsp + 0x68]
mov qword [0x1400c9510], rax
cmp r14, 8
jb 0x14005fb3f
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005fb37
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005fedc
mov rcx, rdi
call fcn.140068fd0
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 7
lea rdx, str.RtlInsertInvertedFunctionTable
lea rcx, [rsp + 0x20]
call fcn.1400066f4
lea rdx, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
cmp r14, 8
cmovae rdx, rdi
mov r9, rbx
mov rax, qword [rsp + 0x30]
lea r8, [rax + rax]
mov rcx, rsi
test r8, r8
je 0x14005fba3
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r15
inc rcx
cmp rcx, r8
jb 0x14005fb90
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x10]
call fcn.14002fd50
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005fbd3
cmp rcx, qword [rbp + 0x18]
je 0x14005fbd3
mov eax, dword [rcx + 0x30]
add rax, qword [rbp - 0x18]
mov qword [0x1400c9518], rax
cmp r14, 8
jb 0x14005fc0e
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005fc06
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005fee2
mov rcx, rdi
call fcn.140068fd0
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 7
lea rdx, str.LdrpReleaseTlsEntry
lea rcx, [rsp + 0x20]
call fcn.1400066f4
lea rdx, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
cmp r14, 8
cmovae rdx, rdi
mov r9, rbx
mov rax, qword [rsp + 0x30]
lea r8, [rax + rax]
mov rcx, rsi
test r8, r8
je 0x14005fc73
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r15
inc rcx
cmp rcx, r8
jb 0x14005fc60
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.14002fd50
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005fca4
cmp rcx, qword [rbp - 0x68]
je 0x14005fca4
mov eax, dword [rcx + 0x30]
add rax, qword [rsp + 0x68]
mov qword [0x1400c9520], rax
cmp r14, 8
jb 0x14005fcdf
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005fcd7
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005fee8
mov rcx, rdi
call fcn.140068fd0
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 7
lea rdx, str.LdrpReleaseTlsEntry
lea rcx, [rsp + 0x20]
call fcn.1400066f4
lea rdx, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
cmp r14, 8
cmovae rdx, rdi
mov r9, rbx
mov rax, qword [rsp + 0x30]
lea r8, [rax + rax]
mov rcx, rsi
test r8, r8
je 0x14005fd43
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r15
inc rcx
cmp rcx, r8
jb 0x14005fd30
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x10]
call fcn.14002fd50
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005fd73
cmp rcx, qword [rbp + 0x18]
je 0x14005fd73
mov eax, dword [rcx + 0x30]
add rax, qword [rbp - 0x18]
mov qword [0x1400c9528], rax
cmp r14, 8
jb 0x14005fdae
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005fda6
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005feee
mov rcx, rdi
call fcn.140068fd0
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], 7
lea rdx, str.LdrProtectMrdata
lea rcx, [rsp + 0x20]
call fcn.1400066f4
lea rdx, [rsp + 0x20]
mov rdi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
cmp r14, 8
cmovae rdx, rdi
mov rax, qword [rsp + 0x30]
lea r8, [rax + rax]
mov rcx, rsi
test r8, r8
je 0x14005fe13
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
xor rbx, rax
imul rbx, r15
inc rcx
cmp rcx, r8
jb 0x14005fe00
mov r9, rbx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x70]
call fcn.14002fd50
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x14005fe47
cmp rcx, qword [rbp - 0x68]
je 0x14005fe47
mov eax, dword [rcx + 0x30]
add rax, qword [rsp + 0x68]
mov qword [0x1400c9530], rax
cmp r14, 8
jb 0x14005fe85
lea rdx, [r14*2 + 2]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14005fe76
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005febe
mov rcx, rdi
call fcn.140068fd0
jmp 0x14005fe85
mov esi, 0xc0000001
lea rcx, [rbp - 0x30]
call fcn.140062fb0
nop
lea rcx, [rsp + 0x50]
call fcn.140062fb0
mov eax, esi
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.140068fb0
mov rbx, qword [rsp + 0x190]
add rsp, 0x160
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.140077970
nop
call fcn.140077970
int3
call fcn.140077970
int3
call fcn.140077970
int3
call fcn.140077970
int3
call fcn.140077970
int3
call fcn.140077970
int3
call fcn.140077970
int3
call fcn.140077970
int3