Function at 0x18004331c
Capabilities:
Access peb ldr_data
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x268
mov ebp, edx
mov rbx, rcx
mov ecx, ebp
xor edx, edx
inc edx
call fcn.180042d10
test rax, rax
jne 0x180043c46
mov qword [rsp + 0x70], rax
lea rax, [0x18007dff0]
cmp qword [rax], 0
je 0x1800439e4
cmp byte [0x18007e230], 0
jne 0x1800439e4
xor edx, edx
lea rcx, [rsp + 0x80]
mov byte [0x18007e230], 1
mov dword [rcx - 8], 0
call fcn.180046b7c
push 0x30
pop rdx
lea rcx, [rsp + 0x248]
call fcn.180046b7c
xor edx, edx
lea rcx, [rsp + 0x248]
call fcn.180046a98
mov qword [rsp + 0x58], rax
push 0x30
pop rax
mov rax, qword gs:[rax]
mov r12, qword [rax + 0x60]
mov rax, qword [r12 + 0x18]
mov rdx, qword [rax + 0x18]
mov r12, qword [rax + 0x10]
mov qword [rsp + 0x60], rdx
jmp 0x1800433d9
mov r12, qword [r12]
lea rcx, [rsp + 0x38]
call fcn.180046c98
mov rax, qword [r12 + 0x30]
lea rcx, [rsp + 0x38]
xor edx, edx
mov qword [rcx + 0x18], rax
movsxd rsi, dword [rax + 0x3c]
mov dword [rcx - 8], 0
add rsi, rax
call fcn.180046b7c
xor r14d, r14d
movzx eax, word [rsi + 0x14]
movzx r13d, word [rsi + 6]
lea r15, [rsi + rax + 0x18]
test r13d, r13d
jle 0x180043535
test dword [r15 + 0x24], 0x20000000
je 0x180043525
mov esi, dword [r15 + 0xc]
movabs rcx, 0x790529cbfe338407
add rsi, qword [rsp + 0x50]
mov eax, dword [r15 + 8]
add rsi, rax
call fcn.180046394
mov rdi, rax
test rdi, rdi
je 0x180043478
mov rax, rsp
xor ecx, ecx
dec rcx
mov rdx, rsi
xor r8d, r8d
mov qword [rax + 0x20], 0x30
mov qword [rax + 0x28], 0
mov r9, qword [rsp + 0x58]
call rdi
test eax, eax
jl 0x180043525
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov esi, dword [r15 + 0xc]
mov r8, qword [rax]
sub r8, rdx
add r8, qword [rax + 0x18]
lea rdi, [rdx + rsi]
mov eax, dword [r15 + 8]
add rsi, rax
add rax, rdi
sub r8, rsi
mov r9, qword [r12 + 0x60]
lea rsi, [rsp + 0xb0]
mov qword [rsi], r15
mov qword [rsi + 8], rdi
mov qword [rsi - 8], r9
test rax, 0xf
je 0x1800434cf
inc rax
dec r8d
test rax, 0xf
jne 0x1800434c1
lea rdx, [rsp + 0xa0]
mov dword [rdx], r8d
mov qword [rdx - 8], rax
lea rcx, [rsp + 0x38]
call fcn.180046aa8
add eax, 0x28
lea rcx, [rsp + 0x38]
mov edx, eax
call fcn.180046fd8
lea rcx, [rsp + 0x38]
call fcn.180046aa8
add eax, 0xffffffd8
lea rcx, [rsp + 0x38]
mov edx, eax
call fcn.180046a98
mov rdi, rax
lea rsi, [rsp + 0x98]
push 5
pop rcx
rep movsq qword [rdi], qword [rsi]
inc dword [rsp + 0x30]
inc r14d
add r15, 0x28
cmp r14d, r13d
jl 0x180043416
movsxd r15, dword [rsp + 0x30]
xor r13d, r13d
inc r13
push 0x28
pop rdi
cmp r15, 1
jle 0x180043599
lea edx, [rdi - 0x28]
lea rcx, [rsp + 0x38]
call fcn.180046a98
mov rsi, rax
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.180046a98
mov r9, rax
mov r10, qword [rsi]
mov rax, qword [r9]
cmp rax, r10
jb 0x180043589
movsxd r8, dword [rsi + 8]
add r8, r10
cmp rax, r8
ja 0x180043589
mov rax, qword [r9 + 0x20]
sub rax, r10
mov dword [rsi + 8], eax
inc r13
add edi, 0x28
cmp r13, r15
jl 0x180043549
movsxd r15, dword [rsp + 0x30]
xor r14d, r14d
xor r13d, r13d
test r15, r15
jle 0x18004360b
mov edx, r13d
lea rcx, [rsp + 0x38]
call fcn.180046a98
mov rsi, rax
lea rcx, [rsp + 0x80]
call fcn.180046aa8
add eax, 0x28
lea rcx, [rsp + 0x80]
mov edx, eax
call fcn.180046fd8
lea rcx, [rsp + 0x80]
call fcn.180046aa8
add eax, 0xffffffd8
lea rcx, [rsp + 0x80]
mov edx, eax
call fcn.180046a98
mov rdi, rax
push 5
pop rcx
rep movsq qword [rdi], qword [rsi]
inc r14
add r13d, 0x28
inc dword [rsp + 0x78]
cmp r14, r15
jl 0x1800435a4
cmp r12, qword [rsp + 0x60]
jne 0x1800433cb
lea rcx, [rsp + 0x38]
call fcn.180046c98
lea rcx, [rsp + 0x248]
call fcn.180046c98
xor edx, edx
lea rcx, [rsp + 0x98]
call fcn.180046b7c
xor edx, edx
lea rcx, [rsp + 0x58]
mov dword [rcx - 8], 0
call fcn.180046b7c
mov ecx, 0xfe338407
call fcn.180043dcc
mov rsi, rax
lea rcx, [rsp + 0x200]
call fcn.180043184
mov edx, 0xfe338407
lea rcx, [rsp + 0x210]
call fcn.180043ce0
mov r8, qword [rsp + 0x210]
lea rcx, [rsp + 0x200]
lea rdx, [rcx + 0x20]
call fcn.18004b604
mov rax, rsp
lea rcx, [rsp + 0x1a8]
xor r8d, r8d
inc r8d
xor r9d, r9d
mov rdx, qword [rcx + 0x78]
mov dword [rax + 0x20], 0x80
call fcn.18004fb44
mov rcx, rax
lea rdx, [rsp + 0x230]
xor r8d, r8d
call fcn.18004fbf0
push 2
pop r8
lea rcx, [rsp + 0x130]
mov r9, rsi
lea rdx, [rcx + 0x100]
call fcn.18005b30c
lea rcx, [rsp + 0x230]
call fcn.180046c98
cmp byte [rsp + 0x1c8], 0
je 0x18004370a
lea rcx, [rsp + 0x1c0]
call fcn.18004a8f8
lea rcx, [rsp + 0x1a8]
call fcn.18004b504
lea rcx, [rsp + 0x220]
call fcn.18004b504
lea rcx, [rsp + 0x210]
call fcn.18004b504
lea rcx, [rsp + 0x200]
call fcn.18004b504
xor edx, edx
dec edx
lea rcx, [rsp + 0x130]
call fcn.18005b6b4
mov eax, dword [rsp + 0x158]
lea rcx, [rsp + 0x180]
mov dword [rcx - 8], eax
lea rdx, [rcx - 0x20]
call fcn.180046c48
xor edx, edx
inc edx
lea rcx, [rsp + 0x178]
call fcn.18005b668
xor r14d, r14d
xor r13d, r13d
mov qword [rsp + 0xc8], r14
mov edx, r13d
lea rcx, [rsp + 0x80]
call fcn.180046a98
mov r12, rax
lea rcx, [rsp + 0x98]
call fcn.180046aa8
mov edi, eax
lea rax, [0x180000c00]
lea rcx, [rsp + 0x158]
mov esi, dword [rax + r14*4 + 0x75f20]
mov edx, esi
call fcn.18005b628
mov r15, rax
test r15, r15
je 0x180043999
mov rdx, qword [r15]
lea rcx, [rsp + 0x178]
call fcn.18005ab2c
mov r8, rax
mov r15, qword [r15]
jmp 0x1800437f1
add r8, 0x10
cmp r15, qword [r8]
je 0x1800437ed
mov rax, qword [r8]
mov qword [rsp + 0xd0], rax
sub rax, r15
mov qword [rsp + 0xd8], rax
test r14, r14
jne 0x1800438aa
mov qword [rsp + 0xb8], r8
lea rcx, [rsp + 0x1d0]
call fcn.18004a8a0
mov r8, qword [rsp + 0xb8]
mov qword [rsp + 0xb0], r15
mov rax, qword [rsp + 0xb0]
cmp byte [rax], 0xb8
jne 0x180043854
mov r8d, dword [rax + 1]
mov dword [0x18007e234], r8d
jmp 0x180043890
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0x1d0]
mov qword [rcx - 0x118], r8
call fcn.18004a6a0
mov r8, qword [rsp + 0xb8]
cdqe
lea rdx, [rsp + 0xb0]
mov r9, qword [rdx]
add r9, rax
mov qword [rdx], r9
cmp r9, qword [r8]
jb 0x18004383a
lea rcx, [rsp + 0x1e8]
call fcn.180046c98
lea rcx, [rsp + 0x1d0]
call fcn.180046c98
lea rcx, [rsp + 0x98]
call fcn.180046aa8
mov rdx, r15
lea rcx, [rsp + 0x98]
mov r8, qword [rcx + 0x40]
mov dword [rcx + 0x28], eax
mov dword [rcx + 0x2c], esi
call fcn.180046ab8
lea rcx, [rsp + 0x98]
call fcn.180046aa8
cmp eax, dword [r12 + 8]
jle 0x18004394b
mov edx, edi
lea rcx, [rsp + 0x98]
call fcn.180046fd8
mov rcx, r12
lea rdx, [rsp + 0x98]
lea r8, [rdx - 0x48]
call fcn.1800464b4
lea rcx, [rsp + 0x98]
call fcn.180047000
lea rcx, [rsp + 0x58]
call fcn.180047000
lea rdx, [rsp + 0xc8]
mov rax, qword [rdx]
dec r14
inc rax
add r13d, 0x28
movsxd rsi, dword [rsp + 0x78]
mov dword [rsp + 0x50], 0
mov qword [rdx], rax
cmp rax, rsi
je 0x1800439a6
jmp 0x180043999
lea rcx, [rsp + 0x58]
call fcn.180046aa8
add eax, 8
lea rcx, [rsp + 0x58]
mov edx, eax
call fcn.180046fd8
lea rcx, [rsp + 0x58]
call fcn.180046aa8
add eax, 0xfffffff8
lea rcx, [rsp + 0x58]
mov edx, eax
call fcn.180046a98
mov rsi, rax
mov rax, qword [rsp + 0xc0]
mov qword [rsi], rax
inc dword [rsp + 0x50]
cmp r14, 0x1d
je 0x180043c5a
inc r14
cmp r14, 0x1e
jb 0x180043789
lea rcx, [rsp + 0x180]
call fcn.180046c98
lea rcx, [rsp + 0x130]
call fcn.18005b394
lea rcx, [rsp + 0x58]
call fcn.180046c98
lea rcx, [rsp + 0x98]
call fcn.180046c98
lea rcx, [rsp + 0x80]
call fcn.180046c98
test rbx, rbx
je 0x180043cd7
movsxd rax, dword [rbx + 0x3c]
xor r13d, r13d
lea rdx, [rax + rbx + 0x88]
mov r12d, dword [rdx]
mov esi, r12d
mov edi, dword [rdx + 4]
mov r14d, dword [rsi + rbx + 0x20]
add edi, r12d
mov r15d, dword [rsi + rbx + 0x24]
add r14, rbx
add r15, rbx
cmp dword [rsi + rbx + 0x18], 0
jbe 0x180043c3f
mov r8d, ebp
xor r8d, 0x7af3da47
mov r9d, dword [r14]
xor edx, edx
add r9, rbx
movsx eax, byte [r9]
mov byte [rsp + 0xb0], al
test eax, eax
je 0x180043a58
inc edx
movsxd rdx, edx
mov al, byte [r9 + rdx]
mov byte [rsp + rdx + 0xb0], al
test al, al
jne 0x180043a44
mov dword [rsp + 0x198], r8d
lea rcx, [rsp + 0xb0]
call fcn.180054990
mov r8d, dword [rsp + 0x198]
cmp r8d, eax
je 0x180043a91
inc r13d
add r14, 4
add r15, 2
cmp r13d, dword [rsi + rbx + 0x18]
jb 0x180043a2d
jmp 0x180043c3f
mov qword [rsp + 0x70], 0
mov eax, dword [rsi + rbx + 0x1c]
add rax, rbx
movzx r15d, word [r15]
shl r15d, 2
mov eax, dword [r15 + rax]
cmp eax, r12d
jb 0x180043b13
cmp eax, edi
jae 0x180043b13
mov edx, 0x7fffffff
lea rax, [rsp + 0xb0]
mov rcx, rax
mov qword [rax + 0xf0], rax
call fcn.18004e2dc
movabs rcx, 0xccbfc9a9fe338407
lea rdx, [rsp + 0x198]
mov word [rdx], ax
inc eax
mov word [rdx + 2], ax
call fcn.180046394
test rax, rax
je 0x180043b0c
mov rcx, rbx
lea rdx, [rsp + 0x198]
xor r8d, r8d
lea r9, [rsp + 0x70]
call rax
mov rax, qword [rsp + 0x70]
jmp 0x180043b1b
add rax, rbx
mov qword [rsp + 0x70], rax
test rax, rax
je 0x180043c46
lea rbx, [0x18007e238]
mov dl, byte [rbx]
or dl, byte [0x18007e239]
je 0x180043b61
cmp ebp, 0x82fffbdc
je 0x180043b55
cmp ebp, 0xdb278333
jne 0x180043c46
mov qword [section..pdata], rax
jmp 0x180043c46
mov qword [0x18007dff8], rax
jmp 0x180043c46
lea rax, [0x18007dff0]
mov rdi, qword [rax]
test rdi, rdi
je 0x180043c73
mov rax, qword [rdi + 0x300]
test rax, rax
je 0x180043b8f
mov rdi, rax
mov rax, qword [rax + 0x300]
test rax, rax
jne 0x180043b80
xor esi, esi
xor al, al
mov rbx, rsi
cmp dword [rbx + rdi + 0x10], 0
je 0x180043c1a
inc al
add rbx, 0x30
cmp al, 0x10
jl 0x180043b96
mov ecx, 0x308
call fcn.1800472b0
mov r13, rax
test r13, r13
je 0x180043bf1
mov r12, r13
push 0x10
pop rbx
mov rcx, r12
xor edx, edx
call fcn.18004cdac
mov dword [r12 + 0x10], 0
mov qword [r12 + 0x20], rsi
mov qword [r12 + 0x28], rsi
add r12, 0x30
dec ebx
jne 0x180043bbf
mov qword [r13 + 0x300], 0
jmp 0x180043bf4
mov r13, rsi
mov rax, qword [rsp + 0x70]
mov rcx, r13
mov qword [r13 + 0x20], rax
lea rdx, [rsp + 0xb0]
call fcn.18004ce50
mov dword [r13 + 0x10], ebp
mov qword [rdi + 0x300], r13
jmp 0x180043c38
add rbx, rdi
lea rdx, [rsp + 0xb0]
mov rax, qword [rdx - 0x40]
mov rcx, rbx
mov qword [rbx + 0x20], rax
call fcn.18004ce50
mov dword [rbx + 0x10], ebp
mov rax, qword [rsp + 0x70]
jmp 0x180043c46
xor eax, eax
mov qword [rsp + 0x70], rax
add rsp, 0x268
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rcx, r12
lea rdx, [rsp + 0x98]
lea r8, [rdx - 0x48]
call fcn.1800464b4
jmp 0x180043999
mov ecx, 0x308
mov byte [rbx], 1
call fcn.1800472b0
mov rdi, rax
test rdi, rdi
je 0x180043cc1
mov r13, rdi
push 0x10
pop r12
xor esi, esi
mov rcx, r13
xor edx, edx
call fcn.18004cdac
mov dword [r13 + 0x10], 0
mov qword [r13 + 0x20], rsi
mov qword [r13 + 0x28], rsi
add r13, 0x30
dec r12d
jne 0x180043c91
mov qword [rdi + 0x300], 0
jmp 0x180043cc5
xor edi, edi
xor esi, esi
lea rax, [0x18007dff0]
mov byte [rbx], 0
mov qword [rax], rdi
jmp 0x180043b91
xor eax, eax
jmp 0x180043c46