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

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
push r13
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x140004038]
xorps xmm0, xmm0
mov ebp, 0x5a4d
movabs rsi, 0xcbf29ce484222325
mov r14d, 0x8664
movabs r13, 0x100000001b3
movabs r15, 0x9be7f70164f3dbf0
movups xmmword [rsp + 0x40], xmm0
test rax, rax
jne 0x14000115f
mov rdx, qword [0x140004008]
test rdx, rdx
jne 0x1400010e5
sidt [r11 - 0x48]
mov rax, qword [r11 - 0x46]
test rax, rax
jne 0x140001075
int3
mov edx, dword [rax + 8]
movzx eax, word [rax + 6]
shl rdx, 0x10
or rdx, rax
and rdx, 0xffffffffffffffe0
shl rdx, 0x10
cmp word [rdx], bp
jne 0x1400010d5
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x1400010d5
cmp word [rax + rdx + 4], r14w
jne 0x1400010d5
mov eax, dword [rax + rdx + 0x88]
mov r8, rsi
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x1400010d5
inc rcx
movsx rax, al
xor r8, rax
imul r8, r13
mov al, byte [rcx]
test al, al
jne 0x1400010bc
cmp r8, r15
je 0x1400010de
sub rdx, 0x200000
jmp 0x14000108b
mov qword [0x140004008], 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 0x140001155
mov ecx, dword [r8]
mov r9, rsi
add rcx, qword [0x140004008]
mov al, byte [rcx]
test al, al
je 0x14000114b
inc rcx
movsx rax, al
xor r9, rax
imul r9, r13
mov al, byte [rcx]
test al, al
jne 0x140001124
movabs rax, 0x30e36d1e897986ef
cmp r9, rax
je 0x14000120a
inc edx
add r8, 4
cmp edx, ebx
jb 0x140001111
int3
mov qword [0x140004038], rax
lea rdx, [0x1400025a0]
lea rcx, [rsp + 0x40]
call qword [0x140003020]
mov rax, qword [0x140004058]
test rax, rax
jne 0x14000129c
mov rdx, qword [0x140004008]
test rdx, rdx
jne 0x140001226
sidt [rsp + 0x30]
mov rax, qword [rsp + 0x32]
test rax, rax
jne 0x1400011a1
int3
mov edx, dword [rax + 8]
movzx eax, word [rax + 6]
shl rdx, 0x10
or rdx, rax
and rdx, 0xffffffffffffffe0
shl rdx, 0x10
cmp word [rdx], bp
jne 0x140001201
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140001201
cmp word [rax + rdx + 4], r14w
jne 0x140001201
mov eax, dword [rax + rdx + 0x88]
mov r8, rsi
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x140001201
inc rcx
movsx rax, al
xor r8, rax
imul r8, r13
mov al, byte [rcx]
test al, al
jne 0x1400011e8
cmp r8, r15
je 0x14000121f
sub rdx, 0x200000
jmp 0x1400011b7
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x140004008]
jmp 0x140001158
mov qword [0x140004008], 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 0x140001292
mov ecx, dword [r8]
mov r9, rsi
add rcx, qword [0x140004008]
mov al, byte [rcx]
test al, al
je 0x140001288
inc rcx
movsx rax, al
xor r9, rax
imul r9, r13
mov al, byte [rcx]
test al, al
jne 0x140001265
movabs rax, 0x59dfa627eb917a13
cmp r9, rax
je 0x1400012c9
inc edx
add r8, 4
cmp edx, ebx
jb 0x140001252
int3
mov qword [0x140004058], rax
lea rdx, [0x1400012e0]
lea rcx, [rsp + 0x40]
call qword [0x140003020]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
ret
movzx ecx, word [r11 + rdx*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x140004008]
jmp 0x140001295