Function at 0x140001000
Capabilities:
Check os version
Encode data using xor
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rsi
push rdi
push rbx
cmp qword [0x1400050d8], 0
je 0x140001127
test ecx, ecx
je 0x14000144b
mov dword [rdx + 4], ecx
mov eax, dword [0x1400050d0]
test rax, rax
je 0x1400013e7
mov r8, qword [0x1400050d8]
mov r10, qword [0x1400050c0]
xor r9d, r9d
nop dword [rax]
mov r11d, dword [r10 + r9*4]
movzx ebx, byte [r8 + r11]
mov esi, 0
test bl, bl
je 0x14000110e
add r11, r8
inc r11
mov esi, 0xffffffff
nop word cs:[rax + rax]
movsx edi, bl
xor edi, esi
mov esi, edi
and esi, 1
neg esi
shr edi, 1
and esi, 0xa37efa9b
xor esi, edi
mov edi, esi
and edi, 1
neg edi
shr esi, 1
and edi, 0xa37efa9b
xor edi, esi
mov esi, edi
and esi, 1
neg esi
shr edi, 1
and esi, 0xa37efa9b
xor esi, edi
mov edi, esi
and edi, 1
neg edi
shr esi, 1
and edi, 0xa37efa9b
xor edi, esi
mov esi, edi
and esi, 1
neg esi
shr edi, 1
and esi, 0xa37efa9b
xor esi, edi
mov edi, esi
and edi, 1
neg edi
shr esi, 1
and edi, 0xa37efa9b
xor edi, esi
mov ebx, edi
and ebx, 1
neg ebx
shr edi, 1
and ebx, 0xa37efa9b
xor ebx, edi
mov esi, ebx
and esi, 1
neg esi
shr ebx, 1
and esi, 0xa37efa9b
xor esi, ebx
movzx ebx, byte [r11]
inc r11
test bl, bl
jne 0x140001070
not esi
cmp esi, ecx
je 0x1400011fd
inc r9
cmp r9, rax
jne 0x140001040
jmp 0x1400013e7
mov r8, qword gs:[0x60]
xor eax, eax
test r8, r8
je 0x14000144d
cmp dword [r8 + 0x118], 0xa
jne 0x14000144d
mov r8, qword [r8 + 0x18]
mov r8, qword [r8 + 0x20]
mov r8, qword [r8]
mov r8, qword [r8 + 0x20]
test r8, r8
je 0x14000144d
cmp word [r8], 0x5a4d
jne 0x14000144d
movsxd r9, dword [r8 + 0x3c]
cmp dword [r9 + r8], 0x4550
jne 0x14000144d
mov r11d, dword [r8 + r9 + 0x88]
add r11, r8
je 0x14000144d
mov qword [0x1400050d8], r8
mov r10d, dword [r11 + 0x18]
mov dword [0x1400050d0], r10d
mov r9d, dword [r11 + 0x20]
add r9, r8
mov qword [0x1400050c0], r9
mov esi, dword [r11 + 0x1c]
add rsi, r8
mov qword [0x1400050b8], rsi
mov r11d, dword [r11 + 0x24]
add r11, r8
mov qword [0x1400050c8], r11
test ecx, ecx
je 0x14000144d
test r10d, r10d
je 0x14000144d
test r9, r9
je 0x14000144d
test rsi, rsi
je 0x14000144d
test r11, r11
jne 0x140001019
jmp 0x14000144d
mov rax, qword [0x1400050b8]
mov r10, qword [0x1400050c8]
movzx r9d, word [r10 + r9*2]
mov r9d, dword [rax + r9*4]
lea rax, [r8 + r9]
mov qword [rdx + 8], rax
movzx r8d, byte [r8 + r9]
cmp r8d, 0x4c
je 0x1400012df
cmp r8d, 0xe9
jne 0x14000131f
lea r9, [rax - 0x19]
mov r8d, 1
mov r10d, 0x27
jmp 0x140001268
inc r8d
add r9, 0xffffffffffffffe0
add r10, 0x20
cmp r10, 0x2007
je 0x14000131f
cmp byte [rax + r10 - 7], 0x4c
jne 0x1400012a0
cmp byte [rax + r10 - 6], 0x8b
jne 0x1400012a0
cmp byte [rax + r10 - 5], 0xd1
jne 0x1400012a0
cmp byte [rax + r10 - 4], 0xb8
jne 0x1400012a0
cmp byte [rax + r10 - 1], 0
jne 0x1400012a0
cmp byte [rax + r10], 0
je 0x140001306
nop word [rax + rax]
cmp byte [r9 - 7], 0x4c
jne 0x140001250
cmp byte [r9 - 6], 0x8b
jne 0x140001250
cmp byte [r9 - 5], 0xd1
jne 0x140001250
cmp byte [r9 - 4], 0xb8
jne 0x140001250
cmp byte [r9 - 1], 0
jne 0x140001250
cmp byte [r9], 0
jne 0x140001250
movzx r10d, byte [r9 - 2]
movzx r9d, byte [r9 - 3]
shl r10d, 8
add r9d, r8d
or r9d, r10d
jmp 0x14000131c
cmp byte [rax + 1], 0x8b
jne 0x14000131f
cmp byte [rax + 2], 0xd1
jne 0x14000131f
cmp byte [rax + 3], 0xb8
jne 0x14000131f
cmp byte [rax + 6], 0
jne 0x14000131f
cmp byte [rax + 7], 0
jne 0x14000131f
movzx eax, word [rax + 4]
jmp 0x1400013e5
movzx r11d, byte [rax + r10 - 2]
movzx r9d, byte [rax + r10 - 3]
shl r11d, 8
sub r9d, r8d
or r9d, r11d
mov dword [rdx], r9d
cmp byte [rax + 3], 0xe9
jne 0x1400013e7
lea r9, [rax - 0x19]
mov r8d, 1
mov r10d, 0x27
jmp 0x140001358
inc r8d
add r9, 0xffffffffffffffe0
add r10, 0x20
cmp r10, 0x2007
je 0x1400013e7
cmp byte [rax + r10 - 7], 0x4c
jne 0x140001390
cmp byte [rax + r10 - 6], 0x8b
jne 0x140001390
cmp byte [rax + r10 - 5], 0xd1
jne 0x140001390
cmp byte [rax + r10 - 4], 0xb8
jne 0x140001390
cmp byte [rax + r10 - 1], 0
jne 0x140001390
cmp byte [rax + r10], 0
je 0x1400013cf
nop word [rax + rax]
cmp byte [r9 - 7], 0x4c
jne 0x140001340
cmp byte [r9 - 6], 0x8b
jne 0x140001340
cmp byte [r9 - 5], 0xd1
jne 0x140001340
cmp byte [r9 - 4], 0xb8
jne 0x140001340
cmp byte [r9 - 1], 0
jne 0x140001340
cmp byte [r9], 0
jne 0x140001340
movzx r10d, byte [r9 - 2]
movzx eax, byte [r9 - 3]
shl r10d, 8
add eax, r8d
or eax, r10d
jmp 0x1400013e5
movzx r9d, byte [rax + r10 - 2]
movzx eax, byte [rax + r10 - 3]
shl r9d, 8
sub eax, r8d
or eax, r9d
mov dword [rdx], eax
mov rax, qword [rdx + 8]
test rax, rax
je 0x14000144b
add rax, 0xff
xor r8d, r8d
jmp 0x14000140d
add r8, 2
cmp r8, 0x100
je 0x140001436
cmp byte [rax + r8], 0xf
jne 0x14000141c
cmp byte [rax + r8 + 1], 5
je 0x14000142f
cmp byte [rax + r8 + 1], 0xf
jne 0x140001400
cmp byte [rax + r8 + 2], 5
jne 0x140001400
inc r8
add rax, r8
mov qword [rdx + 0x10], rax
test ecx, ecx
je 0x14000144b
cmp dword [rdx], 0
je 0x14000144b
mov eax, 1
cmp qword [rdx + 0x10], 0
jne 0x14000144d
xor eax, eax
pop rbx
pop rdi
pop rsi
ret