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

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x4c49e9
sub rsp, 0xb8
mov qword [rsp + 0xb0], rbp
lea rbp, [rsp + 0xb0]
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xc0], rax
mov ecx, 0x107
lea rax, [0x004d1280]
mov rbx, rcx
call fcn.004483c0
mov qword [rsp + 0x88], rax
mov rbx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
lea rax, [0x004d7300]
call fcn.0040a500
mov rcx, qword [rsp + 0x88]
mov edi, 0x107
mov rsi, rdi
mov r8d, 5
call fcn.0046af00
test rbx, rbx
jne 0x4c4989
mov rsi, qword [rsp + 0x88]
cmp byte [rsi], 5
nop dword [rax]
jne 0x4c4967
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x68], rbx
movzx r8d, byte [rsi + 1]
nop dword [rax]
cmp r8b, 3
ja 0x4c44cf
test r8b, r8b
jne 0x4c4552
lea rax, [rsp + 0x90]
movups xmmword [rax], xmm15
lea rdx, [rsp + 0xa0]
movups xmmword [rdx], xmm15
lea rdx, [0x004d1100]
mov qword [rsp + 0x90], rdx
lea rdi, [0x005135e8]
mov qword [rsp + 0x98], rdi
movzx edi, byte [rsi + 1]
lea r8, [0x004d1280]
mov qword [rsp + 0xa0], r8
lea r8, [0x005a7c00]
lea rdi, [r8 + rdi*8]
mov qword [rsp + 0xa8], rdi
mov ebx, 2
mov rcx, rbx
call fcn.004aa7a0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x88]
cmp byte [0x00608e21], 0
je 0x4c4610
lea rdx, [rsp + 0x90]
movups xmmword [rdx], xmm15
lea rdi, [rsp + 0xa0]
movups xmmword [rdi], xmm15
lea rdi, [0x004d1100]
mov qword [rsp + 0x90], rdi
lea r8, [0x005135f8]
mov qword [rsp + 0x98], r8
mov r8, qword [0x005ad580]
mov r9, qword [0x005ad588]
movzx r10d, byte [rsi + 1]
dec r10d
movzx r10d, r10b
cmp r9, r10
jbe 0x4c49dd
shl r10, 4
mov rax, qword [r8 + r10]
mov rbx, qword [r8 + r10 + 8]
call fcn.0040a320
lea rcx, [0x004d1100]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x90]
mov ebx, 2
mov rcx, rbx
call fcn.004aa7a0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x88]
cmp byte [rsi + 1], 1
jne 0x4c4945
movzx r8d, byte [rsi + 3]
nop
cmp r8b, 1
jne 0x4c462e
mov r8d, 0xa
jmp 0x4c4650
cmp r8b, 3
jne 0x4c4640
movzx r8d, byte [rsi + 4]
add r8, 7
jmp 0x4c4650
cmp r8b, 4
jne 0x4c4923
mov r8d, 0x16
mov qword [rsp + 0x50], r8
cmp rax, r8
je 0x4c46e9
nop
jge 0x4c4901
cmp r8, 0x107
ja 0x4c49d0
cmp rax, r8
ja 0x4c49c8
lea rax, [0x004d7300]
mov rbx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
call fcn.0040a500
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rdi, r8
sub rdi, rdx
lea rsi, [rdx - 0x107]
mov r9, rsi
sar rsi, 0x3f
and rsi, rdx
mov rdx, qword [rsp + 0x88]
lea rcx, [rdx + rsi]
neg r9
mov rsi, r9
mov r8, rdi
call fcn.0046af00
test rbx, rbx
jne 0x4c48e6
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x50]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x68], rbx
movzx edi, byte [rsi + 3]
nop word [rax + rax]
cmp dil, 1
je 0x4c47a2
cmp dil, 3
jne 0x4c4760
movzx edx, byte [rsi + 4]
add edx, 5
movzx edx, dl
nop word [rax + rax]
cmp rdx, 5
jb 0x4c49bb
lea rcx, [rdx - 5]
lea rbx, [rsi + 5]
xor eax, eax
call fcn.0044c1e0
mov rcx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x50]
mov rdx, rax
mov rax, rbx
mov rbx, qword [rsp + 0x68]
jmp 0x4c47e0
cmp dil, 4
je 0x4c476c
xor eax, eax
xor edx, edx
jmp 0x4c47e0
lea rax, [rsi + 4]
mov ebx, 0x10
mov ecx, 0x103
call fcn.004b4da0
mov rcx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x50]
mov rdx, rax
mov rax, rbx
mov rbx, qword [rsp + 0x68]
nop
jmp 0x4c47e0
lea rax, [rsi + 4]
mov ebx, 4
mov ecx, 0x103
call fcn.004b4da0
mov rcx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x50]
mov rdx, rax
mov rax, rbx
mov rbx, qword [rsp + 0x68]
nop word [rax + rax]
nop
cmp r8, 0x107
ja 0x4c49ae
lea rdi, [r8 - 2]
cmp r8, rdi
jb 0x4c49a3
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x78], rdx
lea rcx, [r8 - 0x109]
sar rcx, 0x3f
and rdi, rcx
movzx ecx, word [rsi + rdi]
rol cx, 8
movzx eax, cx
mov ebx, 0xa
call fcn.0046fe20
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], rbx
mov rcx, qword [rsp + 0x78]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 8], rdx
mov byte [rsp + 0x10], 0x3a
call fcn.00402a80
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0
jl 0x4c48a2
xor eax, eax
lea rbx, [0x004ebe59]
mov ecx, 1
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x60]
lea r8, [0x004ebec5]
mov r9d, 2
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x48]
call fcn.0044bfa0
nop
jmp 0x4c48c9
xor eax, eax
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
lea rdi, [0x004ebe4c]
mov esi, 1
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x48]
call fcn.0044bec0
mov rcx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
xor eax, eax
mov rdi, rcx
mov rcx, rbx
xor ebx, ebx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
nop
ret
mov rcx, qword [0x005b49f0]
mov rdi, qword [0x005b49f8]
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov rcx, qword [0x005b49b0]
mov rdi, qword [0x005b49b8]
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov rcx, qword [0x005b49d0]
mov rdi, qword [0x005b49d8]
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov rcx, qword [0x005b4a00]
mov rdi, qword [0x005b4a08]
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
xor eax, eax
mov rdi, rcx
mov rcx, rbx
xor ebx, ebx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov rax, rdi
mov rcx, r8
call fcn.00461aa0
mov rcx, r8
mov edx, 0x107
call fcn.00461a60
mov eax, 5
mov rcx, rdx
call fcn.00461aa0
mov rcx, r8
call fcn.00461aa0
mov rcx, r8
mov edx, 0x107
call fcn.00461a60
mov rax, r10
mov rcx, r9
call fcn.004619e0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045f2e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.004c4400