Function at 0x1400012e0
Capabilities:
Check os version
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r12
push r14
push r15
sub rsp, 0x20
cmp qword [0x140008040], 0
mov r14, rdx
mov ebp, ecx
jne 0x1400013cc
mov rax, qword gs:[0x60]
test rax, rax
je 0x140001621
cmp dword [rax + 0x118], 0xa
jne 0x140001621
mov rax, qword [rax + 0x18]
mov rdx, qword [rax + 0x20]
mov rax, qword [rdx]
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x140001621
mov eax, 0x5a4d
cmp word [rdx], ax
jne 0x140001621
movsxd rax, dword [rdx + 0x3c]
cmp dword [rax + rdx], 0x4550
jne 0x140001621
mov r8d, dword [rax + rdx + 0x88]
add r8, rdx
je 0x140001621
mov qword [0x140008040], rdx
mov ecx, dword [r8 + 0x18]
mov dword [0x140008038], ecx
mov r10d, dword [r8 + 0x20]
add r10, rdx
mov qword [0x140008028], r10
mov r9d, dword [r8 + 0x1c]
add r9, rdx
mov qword [0x140008020], r9
mov r8d, dword [r8 + 0x24]
add r8, rdx
mov qword [0x140008030], r8
test ecx, ecx
je 0x140001621
test r10, r10
je 0x140001621
test r9, r9
je 0x140001621
test r8, r8
je 0x140001621
test ebp, ebp
je 0x140001621
xor esi, esi
mov dword [r14 + 4], ebp
cmp dword [0x140008038], esi
mov r15d, 0xff
mov qword [rsp + 0x48], rdi
mov edi, esi
lea r12d, [rsi + 1]
jbe 0x1400015cd
mov qword [rsp + 0x40], rbx
nop dword [rax]
mov rax, qword [0x140008028]
mov ecx, dword [rax + rdi*4]
mov rax, qword [0x140008030]
add rcx, qword [0x140008040]
movzx edx, word [rax + rdi*2]
mov rax, qword [0x140008020]
mov ebx, dword [rax + rdx*4]
add rbx, qword [0x140008040]
mov qword [r14 + 8], rbx
call fcn.140001d50
cmp eax, ebp
je 0x14000144d
mov eax, dword [0x140008038]
inc rdi
cmp rdi, rax
jb 0x140001400
jmp 0x1400015c8
movzx eax, byte [rbx]
cmp al, 0x4c
jne 0x140001493
cmp byte [rbx + 1], 0x8b
jne 0x140001528
cmp byte [rbx + 2], 0xd1
jne 0x140001528
cmp byte [rbx + 3], 0xb8
jne 0x140001528
cmp byte [rbx + 6], sil
jne 0x140001528
cmp byte [rbx + 7], sil
jne 0x140001528
movzx ecx, byte [rbx + 5]
movzx eax, byte [rbx + 4]
jmp 0x1400015c0
cmp al, 0xe9
jne 0x140001528
movzx ecx, r12w
nop
movzx r8d, cx
mov edx, r8d
shl edx, 5
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x1400014d0
cmp byte [rdx + 1], 0x8b
jne 0x1400014d0
cmp byte [rdx + 2], 0xd1
jne 0x1400014d0
cmp byte [rdx + 3], 0xb8
jne 0x1400014d0
cmp byte [rdx + 6], sil
jne 0x1400014d0
cmp byte [rdx + 7], sil
je 0x14000150c
mov eax, r8d
neg eax
shl eax, 5
movsxd rdx, eax
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x140001501
cmp byte [rdx + 1], 0x8b
jne 0x140001501
cmp byte [rdx + 2], 0xd1
jne 0x140001501
cmp byte [rdx + 3], 0xb8
jne 0x140001501
cmp byte [rdx + 6], sil
jne 0x140001501
cmp byte [rdx + 7], sil
je 0x140001515
inc cx
cmp cx, r15w
jbe 0x1400014a0
jmp 0x140001528
movzx eax, byte [rdx + 4]
sub eax, r8d
jmp 0x14000151c
movzx eax, byte [rdx + 4]
add eax, r8d
movzx ecx, byte [rdx + 5]
shl ecx, 8
or ecx, eax
mov dword [r14], ecx
cmp byte [rbx + 3], 0xe9
jne 0x1400015c8
movzx ecx, r12w
nop word [rax + rax]
movzx r8d, cx
mov edx, r8d
shl edx, 5
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x140001570
cmp byte [rdx + 1], 0x8b
jne 0x140001570
cmp byte [rdx + 2], 0xd1
jne 0x140001570
cmp byte [rdx + 3], 0xb8
jne 0x140001570
cmp byte [rdx + 6], sil
jne 0x140001570
cmp byte [rdx + 7], sil
je 0x1400015ac
mov eax, r8d
neg eax
shl eax, 5
movsxd rdx, eax
add rdx, rbx
cmp byte [rdx], 0x4c
jne 0x1400015a1
cmp byte [rdx + 1], 0x8b
jne 0x1400015a1
cmp byte [rdx + 2], 0xd1
jne 0x1400015a1
cmp byte [rdx + 3], 0xb8
jne 0x1400015a1
cmp byte [rdx + 6], sil
jne 0x1400015a1
cmp byte [rdx + 7], sil
je 0x1400015b5
inc cx
cmp cx, r15w
jbe 0x140001540
jmp 0x1400015c8
movzx eax, byte [rdx + 4]
sub eax, r8d
jmp 0x1400015bc
movzx eax, byte [rdx + 4]
add eax, r8d
movzx ecx, byte [rdx + 5]
shl ecx, 8
or ecx, eax
mov dword [r14], ecx
mov rbx, qword [rsp + 0x40]
mov r8, qword [r14 + 8]
mov rdi, qword [rsp + 0x48]
test r8, r8
je 0x140001621
nop dword [rax + rax]
mov edx, esi
lea ecx, [rsi + 1]
add rdx, r15
add rdx, r8
cmp byte [rdx], 0xf
jne 0x1400015fb
cmp byte [rcx + r8 + 0xff], 5
je 0x140001604
mov esi, ecx
cmp ecx, r15d
jbe 0x1400015e0
jmp 0x140001608
mov qword [r14 + 0x10], rdx
cmp dword [r14], 0
je 0x140001621
cmp dword [r14 + 4], 0
je 0x140001621
cmp qword [r14 + 0x10], 0
je 0x140001621
mov eax, r12d
jmp 0x140001623
xor eax, eax
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret