Function at 0x41c5c0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x964
mov eax, dword [0x417034]
xor eax, esp
mov dword [esp + 0x960], eax
push ebx
push esi
push edi
call fcn.0041bc50
test eax, eax
jne 0x41c5ed
push eax
call dword [fcn.0041308c]
xor ebx, ebx
mov dword [esp + 0x648], ebx
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x648], eax
cmp dword [esp + 0x648], ebx
je 0x41c61c
call fcn.0041be90
jmp 0x41ca31
lea eax, [esp + 0x648]
mov byte [esp + 0x648], 0x44
mov byte [esp + 0x649], 0x7a
mov byte [esp + 0x64a], 0x6e
mov byte [esp + 0x64b], 0x6a
mov byte [esp + 0x64c], bl
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41c650
sub eax, edx
push eax
push 0x52c
push 0x418078
mov bl, 1
lea eax, [esp + 0x654]
lea ecx, [esp + 0x124]
call fcn.0041b330
mov ecx, 0x14b
lea esi, [esp + 0x118]
mov edi, 0x418078
lea eax, [esp + 0x648]
rep movsd dword es:[edi], dword [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41c696
sub eax, edx
push eax
push 0x108
push 0x4185a8
mov bl, 1
lea eax, [esp + 0x654]
lea ecx, [esp + 0x1c]
call fcn.0041b330
mov ecx, 0x42
lea esi, [esp + 0x10]
mov edi, 0x4185a8
rep movsd dword es:[edi], dword [esi]
call fcn.0041d130
xor ebx, ebx
push 0x103
lea eax, [esp + 0x655]
push ebx
push eax
mov byte [esp + 0x65c], bl
call fcn.00421840
add esp, 0xc
push 0x30
call fcn.0041fc2c
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x41c718
lea ecx, [esi + 0x18]
push ecx
mov dword [esi], 0x415210
call fcn.0041eff0
mov dword [esp + 0x648], esi
jmp 0x41c721
mov dword [esp + 0x648], ebx
mov esi, ebx
lea eax, [esi + 4]
mov edx, 0x418280
sub edx, eax
jmp 0x41c730
mov cl, byte [edx + eax]
mov byte [eax], cl
inc eax
cmp cl, bl
jne 0x41c730
mov edx, dword [0x418384]
push 0x104
push 0x418078
mov dword [esi + 0x14], edx
call dword [fcn.00413024]
push 0x104
lea eax, [esp + 0x654]
push eax
call dword [fcn.00413018]
lea eax, [esp + 0x650]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x41c770
mov ecx, dword [0x4150ac]
mov edx, dword [0x4150b0]
mov dword [eax], ecx
mov dword [eax + 4], edx
call fcn.0041c4d0
mov edi, 0x418078
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x41c794
mov al, byte [0x414fb8]
mov byte [edi], al
xor eax, eax
jmp 0x41c7b0
mov cl, byte [esp + eax + 0x650]
mov byte [esp + eax + 0x758], cl
inc eax
cmp cl, bl
jne 0x41c7b0
push 0x103
lea ecx, [esp + 0x15]
push ebx
push ecx
call fcn.00421840
mov edx, dword [0x4150cc]
mov eax, dword [0x4150d0]
mov ecx, dword [0x4150d4]
mov dword [esp + 0x1c], edx
mov dx, word [0x4150d8]
lea edi, [esp + 0x764]
add esp, 0xc
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov word [esp + 0x1c], dx
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x41c807
mov ax, word [0x415050]
mov word [edi], ax
lea eax, [esp + 0x10]
mov edx, eax
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41c820
lea edi, [esp + 0x758]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x41c831
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x758]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x41c851
mov cl, byte [0x414fb8]
mov byte [edi], cl
lea ecx, [esp + 0x10]
call fcn.0041b7e0
mov esi, dword [fcn.0041301c]
test eax, eax
ja 0x41c8c8
lea edx, [esp + 0x650]
push edx
call fcn.0041c100
add esp, 4
push 0x64
call esi
lea eax, [esp + 0x650]
push eax
call fcn.0041c000
lea ecx, [esp + 0x75c]
add esp, 4
push ecx
call fcn.0041d360
add esp, 4
push 4
lea edx, [esp + 0x75c]
push edx
call dword [fcn.00413078]
lea ecx, [esp + 0x758]
call fcn.0041d1c0
push 0x64
call esi
cmp dword [0x41838c], ebx
je 0x41c912
call fcn.0041bb70
test al, al
jne 0x41c8eb
call fcn.0041bac0
test al, al
jne 0x41c8eb
call fcn.0041b8f0
test eax, eax
je 0x41c912
lea eax, [esp + 0x650]
push eax
call fcn.0041c1d0
mov ecx, dword [esp + 0x64c]
add esp, 4
push 0x41817c
push ecx
call fcn.0041dd40
jmp 0x41ca27
push 0x64
call esi
call fcn.0041d090
push 0x103
lea edx, [esp + 0x865]
push ebx
push edx
mov byte [esp + 0x86c], bl
call fcn.00421840
add esp, 0xc
push 0x104
lea eax, [esp + 0x864]
push eax
call dword [fcn.00413024]
lea eax, [esp + 0x860]
dec eax
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x41c953
mov ecx, dword [0x4150dc]
mov edx, dword [0x4150e0]
mov dword [eax], ecx
mov ecx, dword [0x4150e4]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
call fcn.0041cf70
call fcn.0041cfd0
call fcn.0041cf10
xor eax, eax
jmp 0x41c990
mov cl, byte [esp + eax + 0x860]
mov byte [eax + 0x418078], cl
inc eax
cmp cl, bl
jne 0x41c990
cmp dword [0x418394], ebx
je 0x41c9b4
mov eax, 0x41839c
call fcn.0041bc20
push 0x64
call esi
cmp dword [0x418398], ebx
je 0x41c9ca
mov eax, 0x4184a0
call fcn.0041bc20
push 0x64
call esi
mov edi, dword [esp + 0x648]
push 0x41817c
push edi
call fcn.0041db30
push 0x64
call esi
push 0x41817c
mov ecx, edi
call fcn.0041d670
push edi
call fcn.0041e240
push 0x64
call esi
push 0x32
call esi
push 0x41817c
push edi
mov ecx, 0x418078
call fcn.0041d740
push 0x493e0
call esi
push 0x41817c
push edi
call fcn.0041dc90
push 0x1f4
call esi
call fcn.0041be90
call fcn.0041c380
mov ecx, dword [esp + 0x96c]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0041f9aa
mov esp, ebp
pop ebp
ret 0x10