Function at 0x1400046e0
Capabilities:
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rax, qword [0x1400080b8]
mov r15d, 1
mov rdi, rcx
movabs rbp, 0x100000001b3
movabs r13, 0xcbf29ce484222325
lea r12d, [r15 + 3]
test rax, rax
jne 0x1400047c1
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004747
mov rdx, qword [0x1400080e8]
mov qword [0x1400081a8], rdx
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rax + rdx + 0x88]
add rcx, rdx
mov r10d, dword [rcx + 0x1c]
mov r8d, dword [rcx + 0x20]
add r10, rdx
mov r11d, dword [rcx + 0x24]
add r8, rdx
mov ebx, dword [rcx + 0x18]
add r11, rdx
xor edx, edx
test ebx, ebx
je 0x1400047b7
mov ecx, dword [r8]
mov r9, r13
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x1400047ad
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, rbp
mov al, byte [rcx]
test al, al
jne 0x140004786
movabs rax, 0xc51c45581f224a39
cmp r9, rax
je 0x140004fa8
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004773
int3
mov qword [0x1400080b8], rax
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
lea esi, [r9 + 0x10]
mov edx, esi
call qword [0x140007078]
mov r14, rax
mov rax, qword [0x140008040]
test rax, rax
jne 0x140004886
mov r8, qword [0x1400081a8]
test r8, r8
jne 0x140004809
mov r8, qword [0x1400080e8]
mov qword [0x1400081a8], r8
movsxd rcx, dword [r8 + 0x3c]
mov edx, dword [rcx + r8 + 0x88]
add rdx, r8
mov r10d, dword [rdx + 0x1c]
mov r9d, dword [rdx + 0x20]
add r10, r8
mov r11d, dword [rdx + 0x24]
add r9, r8
mov ebx, dword [rdx + 0x18]
add r11, r8
xor r8d, r8d
test ebx, ebx
je 0x14000487c
mov ecx, dword [r9]
mov rdx, r13
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004871
add rcx, r15
movsx rax, al
xor rdx, rax
imul rdx, rbp
mov al, byte [rcx]
test al, al
jne 0x14000484a
movabs rax, 0x1549df88d773bfa1
cmp rdx, rax
je 0x140004fbd
add r8d, r15d
add r9, r12
cmp r8d, ebx
jb 0x140004837
int3
mov qword [0x140008040], rax
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [0x140007078]
mov rax, qword [0x140008090]
test rax, rax
jne 0x140004938
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x1400048be
mov rdx, qword [0x1400080e8]
mov qword [0x1400081a8], rdx
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rax + rdx + 0x88]
add rcx, rdx
mov r10d, dword [rcx + 0x1c]
mov r8d, dword [rcx + 0x20]
add r10, rdx
mov r11d, dword [rcx + 0x24]
add r8, rdx
mov ebx, dword [rcx + 0x18]
add r11, rdx
xor edx, edx
test ebx, ebx
je 0x14000492e
mov ecx, dword [r8]
mov r9, r13
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004924
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, rbp
mov al, byte [rcx]
test al, al
jne 0x1400048fd
movabs rax, 0x96b081538803f1a4
cmp r9, rax
je 0x140004fd2
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x1400048ea
int3
mov qword [0x140008090], rax
mov dword [rsp + 0x28], esi
xor r9d, r9d
and dword [rsp + 0x20], 0
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [0x140007078]
mov rbp, rax
movabs rdi, 0xb9b08032afeb3a00
mov rax, qword [0x1400080a0]
test rax, rax
jne 0x140004a09
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004989
mov rdx, qword [0x1400080e8]
mov qword [0x1400081a8], rdx
movsxd rcx, dword [rdx + 0x3c]
mov eax, dword [rcx + rdx + 0x88]
add rax, rdx
mov r10d, dword [rax + 0x1c]
mov r8d, dword [rax + 0x20]
add r10, rdx
mov r11d, dword [rax + 0x24]
add r8, rdx
mov ebx, dword [rax + 0x18]
add r11, rdx
xor edx, edx
test ebx, ebx
je 0x1400049ff
mov ecx, dword [r8]
mov r9, r13
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x1400049f5
movabs r12, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, r12
mov al, byte [rcx]
test al, al
jne 0x1400049d2
mov r12d, 4
cmp r9, rdi
je 0x140004fe7
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x1400049b5
int3
mov qword [0x1400080a0], rax
mov edx, r12d
mov rcx, r14
call qword [0x140007078]
movabs r13, 0x2a9366c7ea2547b0
test eax, eax
je 0x140004c5a
mov rax, qword [0x1400080a8]
test rax, rax
jne 0x140004ad2
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004a51
mov rdx, qword [0x1400080e8]
mov qword [0x1400081a8], rdx
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rax + rdx + 0x88]
add rcx, rdx
mov r10d, dword [rcx + 0x1c]
mov r8d, dword [rcx + 0x20]
add r10, rdx
mov r11d, dword [rcx + 0x24]
add r8, rdx
mov ebx, dword [rcx + 0x18]
add r11, rdx
xor edx, edx
test ebx, ebx
je 0x140004ac8
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004abe
movabs rdi, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, rdi
mov al, byte [rcx]
test al, al
jne 0x140004aa1
cmp r9, r13
je 0x140004ffc
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004a7d
int3
mov qword [0x1400080a8], rax
mov rdx, r14
mov rcx, rbp
call qword [0x140007078]
mov rax, qword [0x1400080c0]
test rax, rax
jne 0x140004b93
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004b08
mov rdx, qword [0x1400080e8]
mov qword [0x1400081a8], rdx
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rax + rdx + 0x88]
add rcx, rdx
mov r10d, dword [rcx + 0x1c]
mov r8d, dword [rcx + 0x20]
add r10, rdx
mov r11d, dword [rcx + 0x24]
add r8, rdx
mov ebx, dword [rcx + 0x18]
add r11, rdx
xor edx, edx
test ebx, ebx
je 0x140004b89
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004b7f
movabs r13, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, r13
mov al, byte [rcx]
test al, al
jne 0x140004b58
movabs rax, 0xd11f30a6b846b0d
cmp r9, rax
je 0x140005011
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004b34
int3
mov qword [0x1400080c0], rax
mov rcx, r14
call qword [0x140007078]
mov rax, qword [0x140008020]
test rax, rax
jne 0x140004c51
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004bc6
mov rdx, qword [0x1400080e8]
mov qword [0x1400081a8], rdx
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rax + rdx + 0x88]
add rcx, rdx
mov r10d, dword [rcx + 0x1c]
mov r8d, dword [rcx + 0x20]
add r10, rdx
mov r11d, dword [rcx + 0x24]
add r8, rdx
mov ebx, dword [rcx + 0x18]
add r11, rdx
xor edx, edx
test ebx, ebx
je 0x140004c47
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004c3d
movabs rdi, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, rdi
mov al, byte [rcx]
test al, al
jne 0x140004c16
movabs rax, 0x8e6c891b6acc6c0e
cmp r9, rax
je 0x140005026
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004bf2
int3
mov qword [0x140008020], rax
mov rcx, r14
call qword [0x140007078]
lea rdx, section..data
mov rcx, rbp
sub rdx, rbp
mov al, byte [rdx + rcx]
mov byte [rcx], al
add rcx, r15
sub rsi, r15
jne 0x140004c67
mov rax, qword [0x1400080a0]
test rax, rax
jne 0x140004d29
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004c9e
mov rdx, qword [0x1400080e8]
mov qword [0x1400081a8], rdx
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rax + rdx + 0x88]
add rcx, rdx
mov r10d, dword [rcx + 0x1c]
mov r8d, dword [rcx + 0x20]
add r10, rdx
mov r11d, dword [rcx + 0x24]
add r8, rdx
mov ebx, dword [rcx + 0x18]
add r11, rdx
xor edx, edx
test ebx, ebx
je 0x140004d1f
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004d15
movabs rdi, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, rdi
mov al, byte [rcx]
test al, al
jne 0x140004cee
movabs rdi, 0xb9b08032afeb3a00
cmp r9, rdi
je 0x14000503b
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004cca
int3
mov qword [0x1400080a0], rax
mov edx, 2
mov rcx, r14
call qword [0x140007078]
mov edi, eax
mov rax, qword [0x1400080a8]
test rax, rax
jne 0x140004df1
mov r8, qword [0x1400081a8]
test r8, r8
jne 0x140004d63
mov r8, qword [0x1400080e8]
mov qword [0x1400081a8], r8
movsxd rcx, dword [r8 + 0x3c]
mov edx, dword [rcx + r8 + 0x88]
add rdx, r8
mov r10d, dword [rdx + 0x1c]
mov r9d, dword [rdx + 0x20]
add r10, r8
mov r11d, dword [rdx + 0x24]
add r9, r8
mov ebx, dword [rdx + 0x18]
add r11, r8
xor r8d, r8d
test ebx, ebx
je 0x140004de7
mov ecx, dword [r9]
movabs rdx, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004ddc
movabs r13, 0x100000001b3
add rcx, r15
movsx rax, al
xor rdx, rax
imul rdx, r13
mov al, byte [rcx]
test al, al
jne 0x140004db5
movabs r13, 0x2a9366c7ea2547b0
cmp rdx, r13
je 0x140005050
add r8d, r15d
add r9, r12
cmp r8d, ebx
jb 0x140004d91
int3
mov qword [0x1400080a8], rax
mov rdx, r14
mov rcx, rbp
call qword [0x140007078]
mov rax, qword [0x1400080c0]
test rax, rax
jne 0x140004eb8
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004e27
mov rdx, qword [0x1400080e8]
mov qword [0x1400081a8], rdx
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rax + rdx + 0x88]
add rcx, rdx
mov r10d, dword [rcx + 0x1c]
mov r8d, dword [rcx + 0x20]
add r10, rdx
mov r11d, dword [rcx + 0x24]
add r8, rdx
mov ebx, dword [rcx + 0x18]
add r11, rdx
xor edx, edx
test ebx, ebx
je 0x140004eae
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004ea4
movabs r12, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, r12
mov al, byte [rcx]
test al, al
jne 0x140004e77
movabs rax, 0xd11f30a6b846b0d
mov r12d, 4
cmp r9, rax
je 0x140005065
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004e53
int3
mov qword [0x1400080c0], rax
mov rcx, r14
call qword [0x140007078]
mov rax, qword [0x140008020]
test rax, rax
jne 0x140004f7c
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004eeb
mov rdx, qword [0x1400080e8]
mov qword [0x1400081a8], rdx
movsxd rax, dword [rdx + 0x3c]
mov ecx, dword [rax + rdx + 0x88]
add rcx, rdx
mov r10d, dword [rcx + 0x1c]
mov r8d, dword [rcx + 0x20]
add r10, rdx
mov r11d, dword [rcx + 0x24]
add r8, rdx
mov ebx, dword [rcx + 0x18]
add r11, rdx
xor edx, edx
test ebx, ebx
je 0x140004f72
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004f68
movabs r12, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, r12
mov al, byte [rcx]
test al, al
jne 0x140004f3b
movabs rax, 0x8e6c891b6acc6c0e
mov r12d, 4
cmp r9, rax
je 0x14000507a
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004f17
int3
mov qword [0x140008020], rax
mov rcx, r14
call qword [0x140007078]
lea r11, [rsp + 0x40]
test edi, edi
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
setne al
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x1400047ba
movzx ecx, word [r11 + r8*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x14000487f
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004931
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004a02
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004acb
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004b8c
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004c4a
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004d22
movzx ecx, word [r11 + r8*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004dea
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004eb1
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004f75