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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x38
mov rdx, qword [0x1400060f0]
xor ebx, ebx
mov dword [rbp + 0x50], ebx
mov r12, rcx
mov ecx, 0x5a4d
mov r8d, 0x8664
movabs r15, 0xcbf29ce484222325
movabs r14, 0x100000001b3
lea r13d, [rbx + 1]
movabs r9, 0x9be7f70164f3dbf0
test rdx, rdx
jne 0x140003d60
sidt [rbp - 0x18]
mov rax, qword [rbp - 0x16]
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 0x140003d50
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140003d50
cmp word [rax + rdx + 4], r8w
jne 0x140003d50
mov eax, dword [rax + rdx + 0x88]
mov r8, r15
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x140003d45
add rcx, r13
movsx rax, al
xor r8, rax
imul r8, r14
mov al, byte [rcx]
test al, al
jne 0x140003d2c
cmp r8, r9
je 0x140003d59
mov r8d, 0x8664
mov ecx, 0x5a4d
sub rdx, 0x200000
jmp 0x140003cfb
mov qword [0x1400060f0], rdx
movsxd rax, dword [rdx + 0x3c]
movabs rsi, 0x9b3466f6ce10ac9f
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 0x140003dd1
mov ecx, dword [r8]
mov r9, r15
add rcx, qword [0x1400060f0]
mov al, byte [rcx]
test al, al
je 0x140003dc6
add rcx, r13
movsx rax, al
xor r9, rax
imul r9, r14
mov al, byte [rcx]
test al, al
jne 0x140003da9
cmp r9, rsi
je 0x140003e93
add edx, r13d
add r8, 4
cmp edx, edi
jb 0x140003d96
mov rax, rbx
xor r8d, r8d
lea r9, [rbp + 0x50]
xor edx, edx
lea r14d, [r8 + 0xb]
mov ecx, r14d
call rax
mov esi, dword [rbp + 0x50]
test esi, esi
je 0x140004233
mov rdx, qword [0x1400060f0]
test rdx, rdx
jne 0x140003eb1
sidt [rbp - 0x18]
mov rax, qword [rbp - 0x16]
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 0x140003e8a
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140003e8a
cmp word [rax + rdx + 4], r10w
jne 0x140003e8a
mov eax, dword [rax + rdx + 0x88]
mov r8, r15
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x140003e8a
add rcx, r13
movsx rax, al
xor r8, rax
imul r8, rdi
mov al, byte [rcx]
test al, al
jne 0x140003e71
cmp r8, r11
je 0x140003eaa
sub rdx, 0x200000
jmp 0x140003e3f
mov eax, edx
movzx ecx, word [r11 + rax*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400060f0]
jmp 0x140003dd4
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 0x140003f32
mov ecx, dword [r8]
mov r9, r15
add rcx, qword [0x1400060f0]
mov al, byte [rcx]
test al, al
je 0x140003f27
movabs r14, 0x100000001b3
add rcx, r13
movsx rax, al
xor r9, rax
imul r9, r14
mov al, byte [rcx]
test al, al
jne 0x140003efa
movabs rax, 0x48b8617d81fdd475
mov r14d, 0xb
cmp r9, rax
je 0x140003ffb
add edx, r13d
add r8, 4
cmp edx, edi
jb 0x140003edd
mov rax, rbx
mov rdx, rsi
xor ecx, ecx
call rax
mov qword [rbp + 0x58], rax
mov r15, rax
test rax, rax
je 0x140004233
mov rdx, qword [0x1400060f0]
test rdx, rdx
jne 0x140004027
sidt [rbp - 0x18]
mov rcx, qword [rbp - 0x16]
mov eax, 0x5a4d
movabs r14, 0xcbf29ce484222325
mov r15d, 0x8664
mov edx, dword [rcx + 8]
movzx ecx, word [rcx + 6]
shl rdx, 0x10
or rdx, rcx
and rdx, 0xffffffffffffffe0
shl rdx, 0x10
cmp word [rdx], ax
jne 0x140003ff2
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140003fed
cmp word [rax + rdx + 4], r15w
jne 0x140003fed
mov eax, dword [rax + rdx + 0x88]
mov r8, r14
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x140003fed
movabs r12, 0x100000001b3
add rcx, r13
movsx rax, al
xor r8, rax
imul r8, r12
mov al, byte [rcx]
test al, al
jne 0x140003fca
movabs r12, 0x9be7f70164f3dbf0
cmp r8, r12
je 0x140004012
mov eax, 0x5a4d
sub rdx, 0x200000
jmp 0x140003f8f
mov eax, edx
movzx ecx, word [r11 + rax*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400060f0]
jmp 0x140003f35
mov r15, qword [rbp + 0x58]
mov r14d, 0xb
mov r12, qword [rbp + 0x48]
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 0x1400040af
movabs rsi, 0x9b3466f6ce10ac9f
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400060f0]
mov al, byte [rcx]
test al, al
je 0x1400040a4
movabs r14, 0x100000001b3
add rcx, r13
movsx rax, al
xor r9, rax
imul r9, r14
mov al, byte [rcx]
test al, al
jne 0x140004081
mov r14d, 0xb
cmp r9, rsi
je 0x140004176
add edx, r13d
add r8, 4
cmp edx, edi
jb 0x14000405d
mov rax, rbx
mov r8d, dword [rbp + 0x50]
xor r9d, r9d
mov rdx, r15
mov ecx, r14d
call rax
test eax, eax
jns 0x140004246
mov rdx, qword [0x1400060f0]
test rdx, rdx
jne 0x14000419a
sidt [rbp - 0x18]
mov rax, qword [rbp - 0x16]
movabs r15, 0xcbf29ce484222325
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 0x14000416d
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140004168
mov ecx, 0x8664
cmp word [rax + rdx + 4], cx
jne 0x140004168
mov eax, dword [rax + rdx + 0x88]
mov r8, r15
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x140004168
movabs r14, 0x100000001b3
add rcx, r13
movsx rax, al
xor r8, rax
imul r8, r14
mov al, byte [rcx]
test al, al
jne 0x140004145
movabs rax, 0x9be7f70164f3dbf0
cmp r8, rax
je 0x14000418d
mov eax, 0x5a4d
sub rdx, 0x200000
jmp 0x140004106
mov eax, edx
movzx ecx, word [r11 + rax*2]
mov eax, dword [r10 + rcx*4]
add rax, qword [0x1400060f0]
jmp 0x1400040b2
mov r15, qword [rbp + 0x58]
mov qword [0x1400060f0], rdx
jmp 0x1400041a4
movabs r14, 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 esi, dword [rcx + 0x18]
add r11, rdx
mov edx, ebx
test esi, esi
je 0x14000422c
movabs rdi, 0x7f6272c86a6eeadc
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400060f0]
mov al, byte [rcx]
test al, al
je 0x14000420d
add rcx, r13
movsx rax, al
xor r9, rax
imul r9, r14
mov al, byte [rcx]
test al, al
jne 0x1400041f4
cmp r9, rdi
je 0x14000421a
add edx, r13d
add r8, 4
cmp edx, esi
jb 0x1400041da
jmp 0x14000422c
mov eax, edx
movzx ecx, word [r11 + rax*2]
mov ebx, dword [r10 + rcx*4]
add rbx, qword [0x1400060f0]
xor edx, edx
mov rcx, r15
call rbx
xor eax, eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r11d, dword [r15]
mov r14, rbx
mov qword [rbp + 0x60], rbx
mov r9d, ebx
test r11d, r11d
je 0x1400042ca
lea r10, [r15 + 0x30]
mov al, byte [r10]
mov r8, r10
test al, al
je 0x1400042a6
mov dil, byte [r12]
mov cl, al
cmp al, dil
jne 0x140004293
mov rax, r12
mov rdx, r8
test cl, cl
je 0x14000428f
mov cl, byte [rax]
test cl, cl
je 0x14000428f
cmp byte [rdx], cl
jne 0x140004293
add rdx, r13
add rax, r13
cmp byte [rdx], bl
jne 0x14000427b
cmp byte [rax], bl
je 0x1400042a1
add r8, r13
mov cl, byte [r8]
test cl, cl
je 0x1400042a6
mov al, cl
jmp 0x14000426c
test r8, r8
jne 0x1400042b7
add r9d, r13d
add r10, 0x128
cmp r9d, r11d
jb 0x14000425c
jmp 0x1400042ca
mov eax, r9d
imul rcx, rax, 0x128
mov r14, qword [rcx + r15 + 0x18]
mov qword [rbp + 0x60], r14
mov rdx, qword [0x1400060f0]
test rdx, rdx
jne 0x14000438a
sidt [rbp - 0x18]
mov rax, qword [rbp - 0x16]
movabs r15, 0xcbf29ce484222325
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 0x140004370
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x14000436b
cmp word [rax + rdx + 4], r14w
jne 0x14000436b
mov eax, dword [rax + rdx + 0x88]
mov r8, r15
mov ecx, dword [rax + rdx + 0xc]
add rcx, rdx
mov al, byte [rcx]
test al, al
je 0x14000436b
movabs r12, 0x100000001b3
add rcx, r13
movsx rax, al
xor r8, rax
imul r8, r12
mov al, byte [rcx]
test al, al
jne 0x140004348
movabs rax, 0x9be7f70164f3dbf0
cmp r8, rax
je 0x140004379
mov eax, 0x5a4d
sub rdx, 0x200000
jmp 0x14000430d
mov r14, qword [rbp + 0x60]
mov r15, qword [rbp + 0x58]
mov qword [0x1400060f0], rdx
jmp 0x140004394
movabs r12, 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 esi, dword [rcx + 0x18]
add r11, rdx
mov edx, ebx
test esi, esi
je 0x14000441c
movabs rdi, 0x7f6272c86a6eeadc
mov ecx, dword [r8]
movabs r9, 0xcbf29ce484222325
add rcx, qword [0x1400060f0]
mov al, byte [rcx]
test al, al
je 0x1400043fd
add rcx, r13
movsx rax, al
xor r9, rax
imul r9, r12
mov al, byte [rcx]
test al, al
jne 0x1400043e4
cmp r9, rdi
je 0x14000440a
add edx, r13d
add r8, 4
cmp edx, esi
jb 0x1400043ca
jmp 0x14000441c
mov eax, edx
movzx ecx, word [r11 + rax*2]
mov ebx, dword [r10 + rcx*4]
add rbx, qword [0x1400060f0]
xor edx, edx
mov rcx, r15
call rbx
mov rax, r14
jmp 0x140004235