Function at 0x14018f380
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2e8
mov rdi, rdx
mov rsi, rcx
cmp byte [rdx + 0xb0], 0
je 0x14018f3b5
cmp qword [rdi], 0
je 0x14018f6cb
mov r13, qword [rdi + 8]
jmp 0x14018f6d3
movzx eax, word [rdi + 0xb1]
movzx ecx, byte [rdi + 0xb3]
mov rdx, qword [rdi + 0x48]
mov word [rsp + 0x70], ax
mov byte [rsp + 0x72], 1
mov byte [rsp + 0x73], cl
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], 1
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x60]
call fcn.140189640
mov r14, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x228]
cmp r14, 2
je 0x14018f737
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x98]
mov r8d, 0xb8
call fcn.1401ef240
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], rbx
movups xmm0, xmmword [rsp + 0x98]
movups xmm1, xmmword [rsp + 0xa8]
movups xmm2, xmmword [rsp + 0xb8]
movups xmmword [rsp + 0x160], xmm0
movups xmmword [rsp + 0x170], xmm1
movups xmmword [rsp + 0x180], xmm2
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x190]
mov r8d, 0x88
call fcn.1401ef240
mov rdx, qword [rdi + 0x50]
mov rcx, rdi
call fcn.140194130
lock inc qword [rax]
jle 0x14018fd68
mov r9, rax
mov qword [rsp + 0x58], rdx
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x14018fcfb
mov eax, dword [rdi + 0xa8]
mov ebp, dword [rdi + 0xac]
mov r12d, eax
shl r12d, 0x11
xor r12d, eax
mov eax, ebp
shr eax, 0x10
xor eax, ebp
xor eax, r12d
shr r12d, 7
xor r12d, eax
mov eax, ebp
shl eax, 0x11
xor eax, ebp
mov r13d, eax
shr r13d, 7
mov ecx, r12d
shr ecx, 0x10
xor r13d, eax
xor r13d, r12d
xor r13d, ecx
mov dword [rdi + 0xa8], r12d
mov dword [rdi + 0xac], r13d
xor eax, eax
xchg byte [rdi + 0xa4], al
cmp al, 2
je 0x14018fd12
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x14018fd36
mov eax, dword [rdi + 0xa8]
mov r15d, dword [rdi + 0xac]
mov ebx, eax
shl ebx, 0x11
xor ebx, eax
mov eax, r15d
shr eax, 0x10
xor eax, r15d
xor eax, ebx
shr ebx, 7
xor ebx, eax
mov eax, r15d
shl eax, 0x11
xor eax, r15d
mov r14d, eax
shr r14d, 7
mov ecx, ebx
shr ecx, 0x10
xor r14d, eax
xor r14d, ebx
xor r14d, ecx
mov dword [rdi + 0xa8], ebx
mov dword [rdi + 0xac], r14d
xor eax, eax
xchg byte [rdi + 0xa4], al
cmp al, 2
je 0x14018fd4d
add r14d, ebx
add r15d, ebx
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x4c], r14d
mov rax, qword [rdi + 0x78]
xorps xmm0, xmm0
xorps xmm1, xmm1
test rax, rax
je 0x14018f5bd
lock inc qword [rax]
jle 0x14018fd68
movups xmm1, xmmword [rdi + 0x78]
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x14018f5da
lock inc qword [rax]
jle 0x14018fd68
movups xmm0, xmmword [rdi + 0x88]
add r13d, r12d
add ebp, r12d
mov eax, dword [rdi + 0xa0]
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x98]
movzx r8d, word [rdi + 0xb4]
mov qword [rsp + 0x220], rcx
mov dword [rsp + 0x250], eax
mov qword [rsp + 0x228], rdx
movups xmmword [rsp + 0x230], xmm1
movups xmmword [rsp + 0x240], xmm0
mov word [rsp + 0x260], r8w
mov dword [rsp + 0x254], 0
mov dword [rsp + 0x258], ebp
mov dword [rsp + 0x25c], r13d
lea rax, [rsp + 0x220]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x98]
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x190]
mov rdi, r9
call fcn.14019a460
mov rax, qword [rsp + 0xb8]
mov qword [rsi + 0x28], rax
movups xmm0, xmmword [rsp + 0x98]
movups xmm1, xmmword [rsp + 0xa8]
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
mov rax, qword [rsp + 0xc0]
mov qword [rsi], 0
mov qword [rsi + 0x30], 0
mov qword [rsi + 0x38], rax
mov qword [rsi + 0x40], rdi
mov rax, qword [rsp + 0x58]
mov qword [rsi + 0x48], rax
jmp 0x14018fca0
call fcn.14018b1d0
mov r13, rax
movzx eax, word [rdi + 0xb1]
movzx ecx, byte [rdi + 0xb3]
mov rdx, qword [rdi + 0x48]
mov word [rsp + 0x1a0], ax
mov byte [rsp + 0x1a2], 0
mov byte [rsp + 0x1a3], cl
mov qword [rsp + 0x190], rdx
mov qword [rsp + 0x198], r13
lea rcx, [rsp + 0x220]
lea rdx, [rsp + 0x190]
call fcn.140189640
mov r14, qword [rsp + 0x220]
mov rbx, qword [rsp + 0x228]
cmp r14, 2
jne 0x14018f747
mov qword [rsi + 8], rbx
mov qword [rsi], 2
jmp 0x14018fca0
lea rdx, [rsp + 0x230]
lea rcx, [rsp + 0x98]
mov r8d, 0xb8
call fcn.1401ef240
movups xmm0, xmmword [rsp + 0x98]
movups xmm1, xmmword [rsp + 0xa8]
movups xmm2, xmmword [rsp + 0xb8]
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x1a0], xmm1
movaps xmmword [rsp + 0x1b0], xmm2
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x220]
mov r8d, 0x88
call fcn.1401ef240
mov rdx, qword [rdi + 0x50]
add rdx, r13
mov rcx, rdi
call fcn.140194130
lock inc qword [rax]
jle 0x14018fd68
mov r15, rax
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x80], rdx
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x14018fcb7
mov eax, dword [rdi + 0xa8]
mov r12d, dword [rdi + 0xac]
mov r14d, eax
shl r14d, 0x11
xor r14d, eax
mov eax, r12d
shr eax, 0x10
xor eax, r12d
xor eax, r14d
shr r14d, 7
xor r14d, eax
mov eax, r12d
shl eax, 0x11
xor eax, r12d
mov ebx, eax
shr ebx, 7
mov ecx, r14d
shr ecx, 0x10
xor ebx, eax
xor ebx, r14d
xor ebx, ecx
mov dword [rdi + 0xa8], r14d
mov dword [rdi + 0xac], ebx
xor eax, eax
xchg byte [rdi + 0xa4], al
cmp al, 2
je 0x14018fcc8
mov qword [rsp + 0x88], r13
mov qword [rsp + 0x58], r15
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
jne 0x14018fcd9
mov eax, dword [rdi + 0xa8]
mov r13d, dword [rdi + 0xac]
mov r15d, eax
shl r15d, 0x11
xor r15d, eax
mov eax, r13d
shr eax, 0x10
xor eax, r13d
xor eax, r15d
shr r15d, 7
xor r15d, eax
mov eax, r13d
shl eax, 0x11
xor eax, r13d
mov ebp, eax
shr ebp, 7
mov ecx, r15d
shr ecx, 0x10
xor ebp, eax
xor ebp, r15d
xor ebp, ecx
mov dword [rdi + 0xa8], r15d
mov dword [rdi + 0xac], ebp
xor eax, eax
xchg byte [rdi + 0xa4], al
cmp al, 2
je 0x14018fcea
add ebp, r15d
add r13d, r15d
mov dword [rsp + 0x44], 0
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x4c], ebp
mov rax, qword [rdi + 0x78]
xorps xmm0, xmm0
xorps xmm1, xmm1
test rax, rax
mov r13, qword [rsp + 0x58]
je 0x14018f90c
lock inc qword [rax]
jle 0x14018fd68
movups xmm1, xmmword [rdi + 0x78]
mov rax, qword [rdi + 0x88]
test rax, rax
je 0x14018f929
lock inc qword [rax]
jle 0x14018fd68
movups xmm0, xmmword [rdi + 0x88]
add ebx, r14d
add r12d, r14d
mov eax, dword [rdi + 0xa0]
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x98]
movzx r8d, word [rdi + 0xb4]
mov qword [rsp + 0x98], rcx
mov dword [rsp + 0xc8], eax
mov qword [rsp + 0xa0], rdx
movups xmmword [rsp + 0xa8], xmm1
movups xmmword [rsp + 0xb8], xmm0
mov word [rsp + 0xd8], r8w
mov dword [rsp + 0xcc], 0
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0xd4], ebx
movzx eax, byte [0x14027f2b8]
mov ecx, 0x58
mov edx, 8
call fcn.140055570
test rax, rax
je 0x14018fd6a
mov rdi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov rax, qword [rsp + 0x90]
mov qword [rdi + 0x10], rax
mov rax, qword [rsp + 0x50]
mov qword [rdi + 0x18], rax
movaps xmm0, xmmword [rsp + 0x190]
movaps xmm1, xmmword [rsp + 0x1a0]
movaps xmm2, xmmword [rsp + 0x1b0]
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm1
movups xmmword [rdi + 0x40], xmm2
mov byte [rdi + 0x50], 0
movzx eax, byte [0x14027f2b8]
mov ecx, 0x30
mov edx, 8
call fcn.140055570
test rax, rax
lea rcx, [rsp + 0x98]
je 0x14018fd79
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], rdi
xorps xmm0, xmm0
movups xmmword [rax + 0x18], xmm0
mov byte [rax + 0x28], 0
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x44]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x150]
lea r9, [rsp + 0x220]
mov rdx, qword [rsp + 0x88]
mov r8, rax
call fcn.140196b00
mov rdi, qword [rsp + 0x150]
movups xmm0, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x70], rax
mov eax, dword [0x14027f558]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0xe8]
test rax, rax
je 0x14018fac4
cmp eax, 1
je 0x14018faf1
jmp 0x14018fd68
mov eax, dword [0x14027f558]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
lea rcx, [rbx + 0x98]
lea rdx, [0x14018a0b0]
call fcn.1401ada60
mov byte [rbx + 0xe8], 1
mov eax, dword [0x14027f558]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x98], 0
jne 0x14018fd88
mov eax, dword [0x14027f558]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x98], 0xffffffffffffffff
lock inc qword [rdi]
jle 0x14018fd68
mov eax, dword [0x14027f558]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0xa0]
mov r14, qword [rax + 0xa8]
mov qword [rax + 0xa0], 1
mov qword [rax + 0xa8], rdi
inc qword [rax + 0x98]
mov r15, qword [rax + 0xb0]
cmp r15, 0xffffffffffffffff
je 0x14018fd68
lea r12, [r15 + 1]
mov eax, dword [0x14027f558]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0xb0], r12
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], r12
lea rcx, [rsp + 0x60]
call fcn.1401973e0
mov qword [rsi], 1
mov qword [rsi + 0x30], 1
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x40], r13
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x48], rax
xor ecx, ecx
call fcn.14018a0f0
test rax, rax
je 0x14018fd68
mov rdi, rax
cmp qword [rax + 0x18], r12
jne 0x14018fd68
mov qword [rsp + 0x98], 2
cmp qword [rdi], 0
jne 0x14018fd94
mov qword [rdi], 0xffffffffffffffff
mov rax, qword [rdi + 8]
cmp rax, 2
je 0x14018fc4e
mov rcx, rdi
add rcx, 0x10
test rax, rax
je 0x14018fc40
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x14018fc4e
call fcn.14018d420
jmp 0x14018fc4e
mov rax, qword [rcx]
lock dec qword [rax]
jne 0x14018fc4e
call fcn.14018cd80
mov qword [rdi + 8], rbx
mov qword [rdi + 0x10], r14
inc qword [rdi]
mov qword [rdi + 0x18], r15
mov rax, qword [rsp + 0x98]
cmp rax, 2
je 0x14018fca0
lea rcx, [rsp + 0xa0]
test rax, rax
je 0x14018fc8d
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x14018fca0
call fcn.14018d420
jmp 0x14018fca0
mov rax, qword [rsp + 0xa0]
lock dec qword [rax]
jne 0x14018fca0
call fcn.14018cd80
mov rax, rsi
add rsp, 0x2e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rdi + 0xa4]
call fcn.1401fc200
jmp 0x14018f7f0
lea rcx, [rdi + 0xa4]
call fcn.1401fc2c0
jmp 0x14018f852
lea rcx, [rdi + 0xa4]
call fcn.1401fc200
jmp 0x14018f871
lea rcx, [rdi + 0xa4]
call fcn.1401fc2c0
jmp 0x14018f8d3
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.1401fc200
mov r9, rbx
jmp 0x14018f4b5
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.1401fc2c0
mov r9, rbx
mov cl, 1
xor eax, eax
lock cmpxchg byte [rdi + 0xa4], cl
je 0x14018f529
lea rcx, [rdi + 0xa4]
mov rbx, r9
call fcn.1401fc200
mov r9, rbx
jmp 0x14018f529
lea rcx, [rdi + 0xa4]
mov qword [rsp + 0x50], r9
call fcn.1401fc2c0
mov r9, qword [rsp + 0x50]
jmp 0x14018f588
ud2
mov ecx, 8
mov edx, 0x58
call fcn.14018ba60
mov ecx, 8
mov edx, 0x30
call fcn.14018ba60
lea rcx, [0x14025e430]
call fcn.14018ba60
lea rcx, [0x14025ee40]
call fcn.14018ba60
int3