Function at 0x180002cd0
Capabilities:
Access peb ldr_data
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], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov r14, rdx
mov ebp, ecx
test ecx, ecx
je 0x180002de4
mov rdi, qword [0x180005010]
mov r12d, 0x5a4d
test rdi, rdi
jne 0x180002dfb
cmp qword [0x180005030], rdi
je 0x180002d26
cmp qword [0x180005038], rdi
je 0x180002d26
cmp qword [0x180005040], rdi
jne 0x180002dfb
xor eax, eax
lea rdi, [0x180005010]
mov ecx, 0x38
rep stosb byte [rdi], al
mov rax, qword gs:[0x60]
test rax, rax
je 0x180002de4
cmp dword [rax + 0x118], 0xa
jne 0x180002de4
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
mov rdi, qword [rcx]
sub rdi, 0x10
je 0x180002de4
mov rdi, qword [rdi + 0x30]
mov qword [0x180005010], rdi
mov qword [0x180005018], rdi
cmp word [rdi], r12w
jne 0x180002de4
movsxd rax, dword [rdi + 0x3c]
add rax, rdi
mov qword [0x180005020], rax
cmp dword [rax], 0x4550
jne 0x180002de4
mov edx, dword [rax + 0x88]
add rdx, rdi
mov qword [0x180005028], rdx
je 0x180002de4
cmp dword [rdx + 0x10], 0
je 0x180002de4
mov ecx, dword [rdx + 0x1c]
add rcx, rdi
mov qword [0x180005030], rcx
mov r8d, dword [rdx + 0x20]
add r8, rdi
mov qword [0x180005038], r8
mov r9d, dword [rdx + 0x24]
add r9, rdi
mov qword [0x180005040], r9
test rcx, rcx
je 0x180002de4
test r8, r8
je 0x180002de4
test r9, r9
jne 0x180002e02
xor eax, eax
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
mov rdx, qword [0x180005028]
mov qword [rsp + 0x40], rbx
xor ebx, ebx
lea r15d, [rbx + 1]
cmp dword [rdx + 0x14], ebx
jbe 0x180002fff
mov qword [rsp + 0x48], rsi
nop dword [rax + rax]
mov rax, qword [0x180005038]
mov ecx, dword [rax + rbx*4]
add rcx, rdi
call fcn.180003c60
cmp eax, ebp
jne 0x180002ea1
mov dword [r14], ebp
mov rax, qword [0x180005040]
movzx ecx, word [rax + rbx*2]
mov rax, qword [0x180005030]
mov edx, dword [rax + rcx*4]
mov rax, qword [0x180005010]
add rax, rdx
mov qword [r14 + 8], rax
movzx ecx, byte [rax]
cmp cl, 0x4c
jne 0x180002e92
cmp byte [rax + 1], 0x8b
jne 0x180002e9b
cmp byte [rax + 2], 0xd1
jne 0x180002e9b
cmp byte [rax + 3], 0xb8
jne 0x180002e9b
cmp byte [rax + 6], 0
jne 0x180002e9b
cmp byte [rax + 7], 0
jne 0x180002e9b
movzx edx, byte [rax + 5]
movzx ecx, byte [rax + 4]
shl edx, 8
jmp 0x180002ff4
cmp cl, 0xe9
je 0x180002f58
cmp byte [rax + 3], 0xe9
je 0x180002ebf
mov rax, qword [0x180005028]
inc ebx
cmp ebx, dword [rax + 0x14]
jae 0x180002ffa
mov rdi, qword [0x180005010]
jmp 0x180002e20
movzx r8d, r15w
mov r9d, 0x1f4
nop dword [rax]
movzx edx, r8w
mov ecx, edx
shl ecx, 5
mov edi, ecx
cmp byte [rcx + rax], 0x4c
jne 0x180002f04
cmp byte [rax + rcx + 1], 0x8b
jne 0x180002f04
cmp byte [rax + rcx + 2], 0xd1
jne 0x180002f04
cmp byte [rax + rcx + 3], 0xb8
jne 0x180002f04
cmp byte [rax + rcx + 6], 0
jne 0x180002f04
cmp byte [rax + rcx + 7], 0
je 0x180002f48
neg edx
shl edx, 5
movsxd rdi, edx
cmp byte [rdi + rax], 0x4c
jne 0x180002f39
cmp byte [rdi + rax + 1], 0x8b
jne 0x180002f39
cmp byte [rdi + rax + 2], 0xd1
jne 0x180002f39
cmp byte [rdi + rax + 3], 0xb8
jne 0x180002f39
cmp byte [rdi + rax + 6], 0
jne 0x180002f39
cmp byte [rdi + rax + 7], 0
je 0x180002fe1
inc r8w
cmp r8w, r9w
jbe 0x180002ed0
jmp 0x180002ffa
movzx edx, byte [rcx + rax + 4]
movzx ecx, r8w
sub edx, ecx
jmp 0x180002fec
movzx r8d, r15w
mov r9d, 0x1f4
nop dword [rax]
nop word [rax + rax]
movzx edx, r8w
mov ecx, edx
shl ecx, 5
mov edi, ecx
cmp byte [rcx + rax], 0x4c
jne 0x180002fa4
cmp byte [rax + rcx + 1], 0x8b
jne 0x180002fa4
cmp byte [rax + rcx + 2], 0xd1
jne 0x180002fa4
cmp byte [rax + rcx + 3], 0xb8
jne 0x180002fa4
cmp byte [rax + rcx + 6], 0
jne 0x180002fa4
cmp byte [rax + rcx + 7], 0
je 0x180002f48
neg edx
shl edx, 5
movsxd rdi, edx
cmp byte [rdi + rax], 0x4c
jne 0x180002fd5
cmp byte [rax + rdi + 1], 0x8b
jne 0x180002fd5
cmp byte [rax + rdi + 2], 0xd1
jne 0x180002fd5
cmp byte [rax + rdi + 3], 0xb8
jne 0x180002fd5
cmp byte [rax + rdi + 6], 0
jne 0x180002fd5
cmp byte [rax + rdi + 7], 0
je 0x180002fe1
inc r8w
cmp r8w, r9w
jbe 0x180002f70
jmp 0x180002ffa
movzx edx, byte [rdi + rax + 4]
movzx ecx, r8w
add edx, ecx
movzx ecx, byte [rdi + rax + 5]
shl ecx, 8
or edx, ecx
mov dword [r14 + 4], edx
mov rsi, qword [rsp + 0x48]
cmp qword [r14 + 8], 0
mov rbx, qword [rsp + 0x40]
je 0x180002de4
cmp dword [r14 + 4], 0
je 0x180002de4
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rdi, qword [rcx + 0x20]
test rdi, rdi
je 0x1800030c0
cmp word [rdi + 0x48], 0
je 0x1800030c0
mov rcx, qword [rdi + 0x50]
call fcn.180003c60
cmp eax, 0xa19af90e
je 0x18000305f
mov rcx, qword [rdi + 0x50]
call fcn.180003c60
cmp eax, 0x1001b77
jne 0x1800030b4
mov rcx, qword [rdi + 0x20]
cmp word [rcx], r12w
jne 0x1800030df
movsxd rax, dword [rcx + 0x3c]
cmp dword [rax + rcx], 0x4550
jne 0x1800030df
mov r8d, dword [rax + rcx + 0x2c]
mov r9d, dword [rax + rcx + 0x1c]
add r8, rcx
test r9, r9
je 0x1800030b4
mov rdx, r8
mov rcx, r8
neg rdx
cmp byte [rcx], 0xf
jne 0x1800030a8
lea rax, [rdx + rcx]
cmp byte [rax + r8 + 1], 5
jne 0x1800030a8
cmp byte [rcx + 2], 0xc3
je 0x1800030d3
inc rcx
lea rax, [rdx + rcx]
cmp rax, r9
jb 0x180003091
mov rdi, qword [rdi]
test rdi, rdi
jne 0x180003034
xor r15d, r15d
cmp qword [r14 + 0x10], r15
setne r15b
mov eax, r15d
jmp 0x180002de6
mov qword [r14 + 0x10], rcx
mov eax, r15d
jmp 0x180002de6
xor r15d, r15d
mov eax, r15d
jmp 0x180002de6