Function at 0x140004780
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 0x140004861
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x1400047e7
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 0x140004857
mov ecx, dword [r8]
mov r9, r13
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x14000484d
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, rbp
mov al, byte [rcx]
test al, al
jne 0x140004826
movabs rax, 0xc51c45581f224a39
cmp r9, rax
je 0x14000504c
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004813
int3
mov qword [0x1400080b8], rax
and qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
lea esi, [r9 + 0xd]
mov edx, esi
call qword [0x140007080]
mov r14, rax
mov rax, qword [0x140008040]
test rax, rax
jne 0x140004926
mov r8, qword [0x1400081a8]
test r8, r8
jne 0x1400048a9
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 0x14000491c
mov ecx, dword [r9]
mov rdx, r13
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004911
add rcx, r15
movsx rax, al
xor rdx, rax
imul rdx, rbp
mov al, byte [rcx]
test al, al
jne 0x1400048ea
movabs rax, 0x1549df88d773bfa1
cmp rdx, rax
je 0x140005061
add r8d, r15d
add r9, r12
cmp r8d, ebx
jb 0x1400048d7
int3
mov qword [0x140008040], rax
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [0x140007080]
mov rax, qword [0x140008090]
test rax, rax
jne 0x1400049d8
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x14000495e
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 0x1400049ce
mov ecx, dword [r8]
mov r9, r13
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x1400049c4
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, rbp
mov al, byte [rcx]
test al, al
jne 0x14000499d
movabs rax, 0x96b081538803f1a4
cmp r9, rax
je 0x140005076
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x14000498a
int3
mov qword [0x140008090], rax
mov dword [rsp + 0x28], 0x10
xor r9d, r9d
and dword [rsp + 0x20], 0
xor r8d, r8d
xor edx, edx
mov rcx, r14
call qword [0x140007080]
mov rbp, rax
movabs rdi, 0xb9b08032afeb3a00
mov rax, qword [0x1400080a0]
test rax, rax
jne 0x140004aad
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004a2d
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 0x140004aa3
mov ecx, dword [r8]
mov r9, r13
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004a99
movabs r12, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, r12
mov al, byte [rcx]
test al, al
jne 0x140004a76
mov r12d, 4
cmp r9, rdi
je 0x14000508b
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004a59
int3
mov qword [0x1400080a0], rax
mov edx, r12d
mov rcx, r14
call qword [0x140007080]
movabs r13, 0x2a9366c7ea2547b0
test eax, eax
je 0x140004cfe
mov rax, qword [0x1400080a8]
test rax, rax
jne 0x140004b76
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004af5
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 0x140004b6c
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004b62
movabs rdi, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, rdi
mov al, byte [rcx]
test al, al
jne 0x140004b45
cmp r9, r13
je 0x1400050a0
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004b21
int3
mov qword [0x1400080a8], rax
mov rdx, r14
mov rcx, rbp
call qword [0x140007080]
mov rax, qword [0x1400080c0]
test rax, rax
jne 0x140004c37
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004bac
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 0x140004c2d
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004c23
movabs r13, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, r13
mov al, byte [rcx]
test al, al
jne 0x140004bfc
movabs rax, 0xd11f30a6b846b0d
cmp r9, rax
je 0x1400050b5
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004bd8
int3
mov qword [0x1400080c0], rax
mov rcx, r14
call qword [0x140007080]
mov rax, qword [0x140008020]
test rax, rax
jne 0x140004cf5
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004c6a
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 0x140004ceb
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004ce1
movabs rdi, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, rdi
mov al, byte [rcx]
test al, al
jne 0x140004cba
movabs rax, 0x8e6c891b6acc6c0e
cmp r9, rax
je 0x1400050ca
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004c96
int3
mov qword [0x140008020], rax
mov rcx, r14
call qword [0x140007080]
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 0x140004d0b
mov rax, qword [0x1400080a0]
test rax, rax
jne 0x140004dcd
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004d42
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 0x140004dc3
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004db9
movabs rdi, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, rdi
mov al, byte [rcx]
test al, al
jne 0x140004d92
movabs rdi, 0xb9b08032afeb3a00
cmp r9, rdi
je 0x1400050df
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004d6e
int3
mov qword [0x1400080a0], rax
mov edx, 2
mov rcx, r14
call qword [0x140007080]
mov edi, eax
mov rax, qword [0x1400080a8]
test rax, rax
jne 0x140004e95
mov r8, qword [0x1400081a8]
test r8, r8
jne 0x140004e07
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 0x140004e8b
mov ecx, dword [r9]
movabs rdx, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004e80
movabs r13, 0x100000001b3
add rcx, r15
movsx rax, al
xor rdx, rax
imul rdx, r13
mov al, byte [rcx]
test al, al
jne 0x140004e59
movabs r13, 0x2a9366c7ea2547b0
cmp rdx, r13
je 0x1400050f4
add r8d, r15d
add r9, r12
cmp r8d, ebx
jb 0x140004e35
int3
mov qword [0x1400080a8], rax
mov rdx, r14
mov rcx, rbp
call qword [0x140007080]
mov rax, qword [0x1400080c0]
test rax, rax
jne 0x140004f5c
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004ecb
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 0x140004f52
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x140004f48
movabs r12, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, r12
mov al, byte [rcx]
test al, al
jne 0x140004f1b
movabs rax, 0xd11f30a6b846b0d
mov r12d, 4
cmp r9, rax
je 0x140005109
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004ef7
int3
mov qword [0x1400080c0], rax
mov rcx, r14
call qword [0x140007080]
mov rax, qword [0x140008020]
test rax, rax
jne 0x140005020
mov rdx, qword [0x1400081a8]
test rdx, rdx
jne 0x140004f8f
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 0x140005016
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400081a8]
mov al, byte [rcx]
test al, al
je 0x14000500c
movabs r12, 0x100000001b3
add rcx, r15
movsx rax, al
xor r9, rax
imul r9, r12
mov al, byte [rcx]
test al, al
jne 0x140004fdf
movabs rax, 0x8e6c891b6acc6c0e
mov r12d, 4
cmp r9, rax
je 0x14000511e
add edx, r15d
add r8, r12
cmp edx, ebx
jb 0x140004fbb
int3
mov qword [0x140008020], rax
mov rcx, r14
call qword [0x140007080]
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 0x14000485a
movzx ecx, word [r11 + r8*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x14000491f
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x1400049d1
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004aa6
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004b6f
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004c30
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004cee
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004dc6
movzx ecx, word [r11 + r8*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004e8e
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140004f55
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400081a8]
jmp 0x140005019