Function at 0x180002380
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push r12
push r13
push r15
lea rbp, [rsp - 0x118]
sub rsp, 0x218
mov rax, qword [0x180037010]
xor rax, rsp
mov qword [rbp + 0x100], rax
xor r13d, r13d
xorps xmm0, xmm0
cmp dword [0x180038cf0], r13d
mov r15d, ecx
mov r12d, r13d
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], r13
mov qword [rbp + 0x80], r13
movups xmmword [rbp + 0x90], xmm0
je 0x1800023e4
lea eax, [r13 + 1]
jmp 0x180002b63
mov rax, qword [0x180038d68]
mov qword [rsp + 0x240], rbx
mov qword [rsp + 0x248], rsi
mov qword [rsp + 0x250], rdi
mov qword [rsp + 0x210], r14
test rax, rax
jne 0x180002429
lea edx, [rax + 1]
mov ecx, 0x84c05e40
call fcn.180009090
mov qword [0x180038d68], rax
test rax, rax
je 0x180002478
mov rdi, qword [0x180038d60]
mov dword [rbp + 0x20], 0xc3050f
test rdi, rdi
jne 0x18000248d
lea rdi, [rax + 0x1000]
lea rbx, [rdi + 0x100000]
cmp rdi, rbx
jae 0x180002471
nop
mov r8d, 3
lea rdx, [rbp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_RtlCompareMemory]
cmp rax, 3
je 0x180002481
inc rdi
cmp rdi, rbx
jb 0x180002450
mov qword [0x180038d60], r13
mov qword [0x180038d08], r13
jmp 0x1800024d4
mov qword [0x180038d60], rdi
test rdi, rdi
je 0x180002478
add rdi, 0x5da
lea rbx, [rdi + 0x1000]
cmp rdi, rbx
jae 0x1800024c1
mov r8d, 3
lea rdx, [rbp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_RtlCompareMemory]
cmp rax, 3
je 0x1800024c4
inc rdi
cmp rdi, rbx
jb 0x1800024a0
mov rdi, r13
mov qword [0x180038d08], rdi
test rdi, rdi
jne 0x1800025c3
xor eax, eax
lea rdi, [rbp + 0xb0]
mov ecx, 3
rep stosb byte [rdi], al
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x30]
cmp qword [rcx + 0x60], r12
je 0x1800025b9
mov dword [rsp + 0x68], 0x84c05e40
movzx edi, r13w
mov dword [rsp + 0x6c], 0x6ae69f02
mov dword [rsp + 0x70], 0xa7dc6e73
cmp di, 1
jae 0x180002550
movzx ebx, di
xor edx, edx
mov ecx, dword [rsp + rbx*4 + 0x68]
call fcn.180009090
mov rcx, rax
test rax, rax
je 0x180002547
lea rax, [rbx + rbx*2]
lea rdx, [rbp + 0xb0]
lea rdx, [rdx + rax*8]
call fcn.180009ab0
inc di
cmp di, 3
jb 0x180002517
mov r14d, r13d
lea rsi, [rbp + 0xc0]
nop word [rax + rax]
mov rdi, qword [rsi - 8]
test rdi, rdi
je 0x1800025ac
mov eax, dword [rsi]
test eax, eax
je 0x1800025ac
add eax, 0xfffffffc
mov ebx, eax
add rbx, rdi
cmp rdi, rbx
jae 0x1800025a4
nop dword [rax]
mov r8d, 3
lea rdx, [0x180032690]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_RtlCompareMemory]
cmp rax, 3
je 0x1800025a7
inc rdi
cmp rdi, rbx
jb 0x180002580
mov rdi, r13
test rdi, rdi
jne 0x1800025bc
inc r14d
add rsi, 0x18
cmp r14d, 1
jb 0x180002560
mov rdi, r13
mov qword [0x180038d08], rdi
test r15d, r15d
je 0x180002606
xor edx, edx
mov ecx, 0x84c05e40
call fcn.180009090
mov rbx, rax
test rax, rax
je 0x1800026dd
mov eax, 0x5a4d
cmp word [rbx], ax
jne 0x1800026dd
movsxd rdi, dword [rbx + 0x3c]
add rdi, rbx
cmp dword [rdi], 0x4550
jne 0x1800026dd
jmp 0x1800028d9
movzx eax, byte [rsp + 0x60]
lea rdx, [rbp + 0x30]
mov r9d, 9
mov byte [rsp + 0x28], al
lea rcx, [rbp - 0x80]
mov dword [rbp + 0x30], 0x65315299
mov dword [rbp + 0x34], 0x3a737a3d
mov dword [rbp + 0x38], 0x68ee5be4
lea r8d, [r9 + 0x16]
mov dword [rbp + 0x3c], 0xc0384388
mov dword [rbp + 0x40], 0x2c01d835
mov dword [rbp + 0x44], 0x32bb2cb0
mov dword [rbp + 0x48], 0x235c04d0
mov dword [rbp + 0x4c], 0xbd5d415e
mov dword [rbp + 0x50], 0xccc7eabc
mov dword [rbp + 0x54], 0xc1bebde4
mov dword [rbp + 0x58], 0xc8dd55b9
mov dword [rbp + 0x5c], 0x66ccb69c
mov dword [rbp + 0x60], 0x897e93df
mov dword [rbp + 0x64], 0xecc77047
mov dword [rbp + 0x68], 0x9813570a
mov dword [rbp + 0x6c], 0x3a649f38
mov dword [rbp + 0x70], 0xd2804be5
mov word [rsp + 0x20], 0x22
call fcn.180002ec0
lea rax, [rbp - 0x80]
mov qword [rbp + 0x20], rax
mov rax, qword [0x180038d58]
test rax, rax
jne 0x1800026e4
xor edx, edx
mov ecx, 0x84c05e40
call fcn.180009090
mov edx, 0xfa2a9aa9
mov rcx, rax
call fcn.1800093f0
mov qword [0x180038d58], rax
test rax, rax
jne 0x1800026e4
xor eax, eax
jmp 0x180002b43
mov rdx, qword [rbp + 0x20]
lea rcx, [rbp + 0x90]
call rax
mov dword [rsp + 0x50], r13d
lea rax, [rbp + 0x90]
mov qword [rsp + 0x48], r13
lea r9, [rbp + 0xa0]
mov dword [rsp + 0x40], 0x60
lea r8, [rbp - 0x10]
mov dword [rsp + 0x38], 1
lea rcx, [rbp - 0x20]
xorps xmm0, xmm0
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], r13d
mov edx, 0x80100000
mov qword [rsp + 0x20], r13
mov dword [rbp - 0x10], 0x30
mov qword [rbp - 8], r13
mov dword [rbp + 8], 0x40
mov qword [rbp], rax
movdqu xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0xa0], xmm0
call fcn.18000d4b3
test eax, eax
je 0x180002777
mov rax, qword [rbp - 0x20]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x180002ae5
mov rax, qword [rbp - 0x20]
lea rcx, [rbp - 0x18]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov dword [rsp + 0x28], 0x8000000
xor r8d, r8d
mov edx, 0xf0005
mov dword [rsp + 0x20], 2
call fcn.18000d465
test eax, eax
jne 0x180002ae5
mov rcx, qword [rbp - 0x18]
lea rax, [rbp + 0x88]
mov dword [rsp + 0x48], 2
lea r8, [rbp - 0x30]
mov dword [rsp + 0x40], r13d
xor r9d, r9d
mov dword [rsp + 0x38], 1
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r13
lea rdx, [r9 - 1]
mov qword [rbp + 0x88], r13
mov qword [rsp + 0x20], r13
call fcn.18000d472
test eax, eax
jne 0x180002ae5
mov rdi, qword [rbp - 0x30]
mov eax, 0x5a4d
cmp word [rdi], ax
jne 0x180002ae5
movsxd rsi, dword [rdi + 0x3c]
add rsi, rdi
cmp dword [rsi], 0x4550
jne 0x180002ae5
mov eax, dword [rsi + 0x50]
lea r9, [rbp + 0x80]
xor r8d, r8d
mov dword [rsp + 0x28], 4
lea rdx, [rbp - 0x28]
mov qword [rbp + 0x80], rax
mov dword [rsp + 0x20], 0x1000
lea rcx, [r8 - 1]
call fcn.18000d417
test eax, eax
jne 0x180002ae5
mov r8d, dword [rsi + 0x54]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
call fcn.1800131f0
movsxd rdi, dword [rdi + 0x3c]
mov ebx, r13d
mov rcx, qword [rbp - 0x30]
add rdi, 0x11c
cmp r13w, word [rsi + 6]
jae 0x1800028b2
add rdi, rcx
mov eax, dword [rdi - 4]
test eax, eax
je 0x1800028a4
mov edx, dword [rdi]
mov r8d, eax
add rdx, rcx
mov ecx, dword [rdi - 8]
add rcx, qword [rbp - 0x28]
call fcn.1800131f0
mov rcx, qword [rbp - 0x30]
movzx eax, word [rsi + 6]
inc ebx
add rdi, 0x28
cmp ebx, eax
jb 0x180002885
mov rbx, qword [rbp - 0x28]
movsxd rdi, dword [rbx + 0x3c]
add rdi, rbx
test rcx, rcx
je 0x1800028d9
mov rdx, rcx
mov rcx, 0xffffffffffffffff
call fcn.18000d47f
mov rbx, qword [rbp - 0x28]
mov qword [rbp - 0x30], r13
mov rdx, rdi
mov rcx, rbx
call fcn.180001bb0
test eax, eax
jne 0x180002ad8
mov eax, dword [rdi + 0x88]
test eax, eax
je 0x180002ae5
mov esi, eax
add rsi, rbx
je 0x180002ae5
mov r15d, dword [rsi + 0x20]
mov r14d, r13d
add r15, rbx
cmp dword [rsi + 0x18], r12d
jbe 0x180002ad8
nop dword [rax]
mov ecx, dword [rsi + 0x24]
add rcx, rbx
mov edx, r14d
mov r8d, dword [r15 + rdx*4]
movzx edx, word [rcx + rdx*2]
add r8, rbx
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov edi, dword [rcx + rdx*4]
mov rcx, 0xffffffffffffffff
add rdi, rbx
inc rcx
cmp byte [r8 + rcx], r12b
jne 0x180002947
dec rcx
mov rdx, r8
call fcn.180003700
not eax
cmp eax, 0x55f33ee9
ja 0x180002a4d
je 0x180002a37
cmp eax, 0x44ac5182
ja 0x1800029f3
je 0x1800029db
cmp eax, 0x1c7650a6
je 0x1800029c2
cmp eax, 0x1feeb616
je 0x1800029a9
cmp eax, 0x2df8c40f
jne 0x180002acb
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
movzx eax, word [rdi + 4]
mov dword [0x180038d04], eax
jmp 0x180002ac7
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
movzx eax, word [rdi + 4]
mov dword [0x180038d1c], eax
jmp 0x180002ac7
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
movzx eax, word [rdi + 4]
mov dword [0x180038d18], eax
jmp 0x180002ac7
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
mov eax, dword [rdi + 4]
mov dword [0x180038d24], eax
jmp 0x180002ac7
cmp eax, 0x4f21bd4e
je 0x180002a1e
cmp eax, 0x50b60c2e
jne 0x180002acb
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
movzx eax, word [rdi + 4]
mov dword [0x180038d28], eax
jmp 0x180002ac7
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
movzx eax, word [rdi + 4]
mov dword [0x180038d2c], eax
jmp 0x180002ac7
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
movzx eax, word [rdi + 4]
mov dword [0x180038d00], eax
jmp 0x180002ac7
cmp eax, 0x6aab1661
je 0x180002ab7
cmp eax, 0x96da030b
je 0x180002aa6
cmp eax, 0xc599a33a
je 0x180002a94
cmp eax, 0xc66c52a5
je 0x180002a82
cmp eax, 0xe762b067
jne 0x180002acb
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
movzx eax, word [rdi + 4]
mov dword [0x180038cfc], eax
jmp 0x180002ac7
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
movzx eax, word [rdi + 4]
mov dword [0x180038d20], eax
jmp 0x180002ac7
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
movzx eax, word [rdi + 4]
mov dword [0x180038cf8], eax
jmp 0x180002ac7
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
mov eax, dword [rdi + 4]
mov dword [0x180038d10], eax
jmp 0x180002ac7
cmp byte [rdi + 3], 0xb8
jne 0x180002ae5
movzx eax, word [rdi + 4]
mov dword [0x180038d14], eax
test eax, eax
je 0x180002ae5
inc r14d
cmp r14d, dword [rsi + 0x18]
jb 0x180002920
mov r12d, 1
mov dword [0x180038cf0], r12d
cmp qword [rbp - 0x28], r13
je 0x180002b08
mov r9d, 0x8000
lea r8, [rbp + 0x80]
lea rdx, [rbp - 0x28]
mov rcx, 0xffffffffffffffff
call fcn.18000d424
mov rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x180002b24
mov rdx, rdi
mov rcx, 0xffffffffffffffff
call fcn.18000d47f
mov qword [rbp - 0x30], r13
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x180002b32
call fcn.18000d40a
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x180002b40
call fcn.18000d40a
mov eax, r12d
mov rdi, qword [rsp + 0x250]
mov rsi, qword [rsp + 0x248]
mov rbx, qword [rsp + 0x240]
mov r14, qword [rsp + 0x210]
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.18000d650
add rsp, 0x218
pop r15
pop r13
pop r12
pop rbp
ret