Function at 0x4c8160
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x628d1c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd8
push ebx
push ebp
push esi
mov esi, dword [esp + 0xf4]
xor ebx, ebx
push edi
mov ebp, ecx
lea eax, [esp + 0x94]
push ebx
push eax
mov ecx, esi
call fcn.004b6090
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov dword [ebp + 0x388], ecx
mov ecx, dword [esp + 0xa0]
mov dword [ebp + 0x38c], edx
mov edx, dword [esp + 0xa8]
mov dword [ebp + 0x390], eax
mov eax, dword [esp + 0xa4]
mov dword [ebp + 0x394], ecx
mov dword [ebp + 0x39c], edx
mov dword [ebp + 0x398], eax
mov dword [esp + 0x80], 0x640dac
mov dword [esp + 0x84], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ebx
lea ecx, [esp + 0x80]
push ebx
lea edx, [esp + 0xb4]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0xfc], ebx
call fcn.004b6720
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xc0]
push ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xcc]
sub esp, 0x1c
mov ecx, 7
lea esi, [esp + 0x3c]
mov edi, esp
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], eax
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
call fcn.004c6d70
mov esi, dword [esp + 0xf8]
push ebx
mov ecx, esi
call fcn.004b6a30
push eax
mov ecx, ebp
call fcn.004c65d0
push ebx
mov ecx, esi
call fcn.004bee50
push ebx
mov ecx, esi
mov dword [ebp + 0x3e4], eax
call fcn.004bee90
push ebx
mov ecx, ebp
mov dword [ebp + 0x3e8], eax
call fcn.004c65f0
push ebx
push ebx
push ebx
push ebx
mov ecx, ebp
call fcn.004c6630
push 0x6afaac
lea ecx, [esp + 0x1c]
call fcn.0044e580
lea edx, [esp + 0x18]
mov ecx, ebp
push edx
mov byte [esp + 0xf4], 1
call fcn.004c6690
mov dword [esp + 0x6c], 0x640dac
mov dword [esp + 0x70], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
lea eax, [esp + 0x6c]
push ebx
push eax
mov ecx, esi
mov byte [esp + 0xf8], 2
call fcn.004b5a20
lea ecx, [esp + 0x6c]
push ecx
mov ecx, ebp
call fcn.004c6730
lea ecx, [esp + 0xd4]
call fcn.005eca12
lea edx, [esp + 0xd4]
mov ecx, esi
push edx
mov byte [esp + 0xf4], 3
call fcn.004b5ca0
lea eax, [esp + 0xd4]
mov ecx, ebp
push eax
call fcn.004c6910
push ebx
mov ecx, esi
call fcn.004bedf0
push eax
mov ecx, ebp
call fcn.004c80f0
mov ecx, esi
call fcn.004bee30
push eax
mov ecx, ebp
call fcn.004c8110
mov dword [esp + 0x4c], 0x64175c
mov dword [esp + 0x50], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], ebx
push ebx
lea ecx, [esp + 0x50]
push ebx
push ecx
mov ecx, esi
mov byte [esp + 0xfc], 4
call fcn.004b5dd0
push 0xffffffffffffffff
lea ecx, [ebp + 0x374]
push ebx
call fcn.00502550
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], ebx
cmp eax, ebx
jle 0x4c847a
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x4c83e4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov esi, dword [ebp + 0x37c]
lea edi, [ebp + 0x374]
push 0xffffffffffffffff
mov edx, dword [eax + ecx + 4]
mov dword [esp + 0x20], edx
mov edx, dword [eax + ecx + 8]
mov dword [esp + 0x24], edx
mov edx, dword [eax + ecx + 0x18]
mov dword [esp + 0x34], edx
mov edx, dword [eax + ecx + 0xc]
mov dword [esp + 0x28], edx
mov edx, dword [eax + ecx + 0x14]
mov dword [esp + 0x30], edx
mov edx, dword [eax + ecx + 0x10]
mov eax, dword [eax + ecx + 0x1c]
lea ecx, [esi + 1]
push ecx
mov ecx, edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x3c], eax
call fcn.00502550
mov eax, dword [edi + 4]
lea edx, [esi*8]
sub edx, esi
mov ecx, 7
lea esi, [esp + 0x1c]
lea edi, [eax + edx*4]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x54]
add edx, 0x20
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jl 0x4c83e0
mov esi, dword [esp + 0xf8]
mov eax, dword [ebp + 0x3d8]
xor edi, edi
cmp eax, ebx
jle 0x4c84be
mov ecx, dword [ebp + 0x3d4]
mov ecx, dword [ecx + edi*4]
cmp ecx, ebx
mov dword [esp + 0x10], ecx
je 0x4c84a9
call fcn.004b6c30
mov edx, dword [esp + 0x10]
push edx
call fcn.005f1804
add esp, 4
mov eax, dword [ebp + 0x3d4]
inc edi
mov dword [eax + edi*4 - 4], ebx
mov eax, dword [ebp + 0x3d8]
cmp edi, eax
jl 0x4c8486
add ebp, 0x3d0
push 0xffffffffffffffff
push ebx
mov ecx, ebp
call fcn.00501fc0
mov ecx, esi
call fcn.004b6bb0
cmp eax, ebx
mov dword [esp + 0x68], eax
jle 0x4c86b4
mov dword [esp + 0x14], ebx
jmp 0x4c84ee
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0x14]
push ebx
push ecx
mov ecx, esi
call fcn.004b6af0
push 0x64
mov edi, eax
call fcn.005f17db
add esp, 4
mov dword [esp + 0xac], eax
cmp eax, ebx
mov byte [esp + 0xf0], 5
je 0x4c8525
mov ecx, eax
call fcn.004b3780
mov esi, eax
jmp 0x4c8527
xor esi, esi
mov dword [esp + 0x38], method.CCommandLineInfo.virtual_0
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebx
lea edx, [esp + 0x38]
mov ecx, edi
push edx
mov byte [esp + 0xf4], 6
call fcn.004b38a0
lea eax, [esp + 0x38]
mov ecx, esi
push eax
call fcn.004b3900
lea ecx, [esp + 0x38]
push ecx
mov ecx, edi
call fcn.004b3a90
lea edx, [esp + 0x38]
mov ecx, esi
push edx
call fcn.004b3af0
lea ecx, [esp + 0x1c]
call fcn.005eca12
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
mov byte [esp + 0xf4], 7
call fcn.004b3850
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.004b3880
mov eax, dword [edi]
lea edx, [esp + 0x10]
push edx
mov ecx, edi
mov dword [esi], eax
call fcn.004c8760
mov eax, dword [eax]
mov byte [esp + 0xf0], 8
push eax
lea eax, [esi + 0x18]
push 0x694e50
push eax
call fcn.00451e00
add esp, 0xc
lea ecx, [esp + 0x10]
mov byte [esp + 0xf0], 7
call fcn.0044edf0
lea ecx, [esp + 0x60]
push ecx
mov ecx, edi
call fcn.004c8780
mov eax, dword [eax]
lea edx, [esi + 0x1c]
push eax
push 0x694e50
push edx
mov byte [esp + 0xfc], 9
call fcn.00451e00
add esp, 0xc
lea ecx, [esp + 0x60]
mov byte [esp + 0xf0], 7
call fcn.0044edf0
lea eax, [esp + 0x64]
mov ecx, edi
push eax
call fcn.004c87a0
mov eax, dword [eax]
lea ecx, [esi + 0x20]
push eax
push 0x694e50
push ecx
mov byte [esp + 0xfc], 0xa
call fcn.00451e00
add esp, 0xc
lea ecx, [esp + 0x64]
mov byte [esp + 0xf0], 7
call fcn.0044edf0
mov edi, dword [ebp + 8]
push 0xffffffffffffffff
mov ecx, ebp
lea edx, [edi + 1]
push edx
call fcn.00501fc0
mov eax, dword [ebp + 4]
lea ecx, [esp + 0x1c]
mov byte [esp + 0xf0], 6
mov dword [eax + edi*4], esi
call fcn.005eca45
mov dword [esp + 0x38], 0x64148c
mov eax, dword [esp + 0x3c]
mov byte [esp + 0xf0], 0xb
cmp eax, ebx
je 0x4c8697
push eax
call fcn.005f1804
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x68]
inc eax
mov byte [esp + 0xf0], 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x4c84e7
mov dword [esp + 0x4c], method.CCommandLineInfo.virtual_0
mov eax, dword [esp + 0x50]
mov byte [esp + 0xf0], 0xc
cmp eax, ebx
je 0x4c86d5
push eax
call fcn.005f1804
add esp, 4
lea ecx, [esp + 0xd4]
mov byte [esp + 0xf0], 2
call fcn.005eca45
mov esi, 0x640dac
mov dword [esp + 0x6c], esi
mov eax, dword [esp + 0x70]
mov byte [esp + 0xf0], 0xd
cmp eax, ebx
je 0x4c870b
push eax
call fcn.005f1804
add esp, 4
lea ecx, [esp + 0x18]
mov byte [esp + 0xf0], bl
call fcn.0044edf0
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x84]
mov dword [esp + 0xf0], 0xe
cmp eax, ebx
je 0x4c8741
push eax
call fcn.005f1804
add esp, 4
mov ecx, dword [esp + 0xe8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xe4
ret 4