Function at 0x41e5a0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x560e90
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x1c], edi
xor esi, esi
lea ecx, [esp + 0x14]
mov dword [esp + 0x7c], esi
mov byte [esp + 0x10], 0
call fcn.00531800
lea ecx, [esp + 0x18]
mov byte [esp + 0x7c], 1
call fcn.00531800
mov al, byte [esp + 0x84]
mov dword [esp + 0x58], esi
mov byte [esp + 0x54], al
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov ecx, dword [0x59d374]
mov edx, dword [0x59d378]
mov ax, word [0x59d37c]
mov dword [esp + 0x38], ecx
mov ecx, dword [0x59d43c]
mov dword [esp + 0x3c], edx
mov edx, dword [0x59d440]
mov word [esp + 0x40], ax
mov ax, word [0x59d444]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x44]
mov byte [esp + 0x7c], 3
mov dword [esp + 0x30], edx
mov word [esp + 0x34], ax
call fcn.00531800
lea ecx, [esp + 0x48]
mov byte [esp + 0x7c], 4
call fcn.00531800
lea ecx, [esp + 0x4c]
mov byte [esp + 0x7c], 5
call fcn.00531800
lea ecx, [esp + 0x50]
mov byte [esp + 0x7c], 6
call fcn.00531800
mov al, byte [edi + 0xf8]
mov byte [esp + 0x7c], 7
test al, al
jne 0x41e79a
push 3
lea ecx, [esp + 0x88]
mov byte [edi + 0xf8], 1
call fcn.00531ac0
push eax
mov ecx, edi
call fcn.0041da90
test ax, ax
jne 0x41e79a
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x94], esp
push 6
push 0x59b920
call fcn.005318a0
push ecx
mov byte [esp + 0x8c], 8
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x59b968
call fcn.005318a0
mov ecx, 0x5c6628
mov byte [esp + 0x8c], 7
call fcn.00533b90
lea ecx, [esp + 0x50]
mov byte [esp + 0x7c], 0xb
call fcn.00531940
lea ecx, [esp + 0x4c]
mov byte [esp + 0x7c], 0xa
call fcn.00531940
lea ecx, [esp + 0x48]
mov byte [esp + 0x7c], 9
call fcn.00531940
lea ecx, [esp + 0x44]
mov byte [esp + 0x7c], 3
call fcn.00531940
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
cmp edi, eax
mov byte [esp + 0x7c], 2
mov ebx, eax
je 0x41e74d
mov ecx, edi
call fcn.00531940
add edi, 4
cmp edi, ebx
jne 0x41e73b
mov edi, dword [esp + 0x58]
push edi
call fcn.00556360
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov byte [esp + 0x7c], 1
call fcn.00531940
lea ecx, [esp + 0x14]
mov byte [esp + 0x7c], 0
call fcn.00531940
lea ecx, [esp + 0x84]
mov dword [esp + 0x7c], 0xffffffff
call fcn.00531940
xor ax, ax
jmp 0x41eec8
mov ecx, dword [0x5c65d4]
cmp ecx, esi
jne 0x41e7a8
xor al, al
jmp 0x41e7b2
mov eax, dword [0x5c65d8]
sub eax, ecx
sar eax, 4
movzx di, al
cmp di, si
jle 0x41e891
jmp 0x41e7c7
mov ecx, dword [0x5c65d4]
movsx edx, si
shl edx, 4
add edx, ecx
lea ecx, [esp + 0x84]
push edx
call fcn.00531a60
test al, al
jne 0x41e7eb
inc esi
cmp si, di
jl 0x41e7c1
jmp 0x41e891
mov eax, dword [0x5c65d4]
push 0
movsx esi, si
shl esi, 4
lea ecx, [eax + esi + 4]
call fcn.00531ac0
mov bl, al
mov eax, dword [0x5c65d4]
push 1
lea ecx, [eax + esi + 4]
call fcn.00531ac0
mov byte [esp + 0x11], al
mov eax, dword [0x5c65d4]
push ecx
add esi, eax
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
call fcn.00531810
lea ecx, [esp + 0x48]
call fcn.005319b0
push ecx
lea eax, [esi + 4]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00531810
lea ecx, [esp + 0x4c]
call fcn.005319b0
push ecx
lea edx, [esi + 8]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00531810
lea ecx, [esp + 0x50]
call fcn.005319b0
push ecx
add esi, 0xc
mov ecx, esp
mov dword [esp + 0x28], esp
push esi
call fcn.00531810
lea ecx, [esp + 0x54]
call fcn.005319b0
cmp bl, 0x2c
je 0x41e97a
cmp bl, 0xaa
je 0x41e97a
lea ecx, [esp + 0x48]
call fcn.00531b50
mov ebx, eax
xor esi, esi
test bx, bx
mov byte [esp + 0x2d], bl
jle 0x41e8be
lea edi, [esp + 0x2e]
push esi
lea ecx, [esp + 0x4c]
call fcn.00531ac0
mov byte [edi], al
inc esi
inc edi
cmp si, bx
jl 0x41e8ab
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x48]
push eax
lea edi, [esi + 0x28]
mov ecx, edi
call fcn.00531a60
test al, al
jne 0x41e928
lea ecx, [esi + 0x70]
call fcn.0053a4a0
mov cx, word [esi + 0x32]
push 0xa
lea edx, [esi + 0x94]
push ecx
lea eax, [esp + 0x34]
push edx
push eax
lea ecx, [esi + 0x100]
call fcn.00455a80
mov ebx, eax
test bx, bx
jg 0x41e910
mov ecx, esi
call fcn.0041fd70
mov byte [esi + 0xf8], 0
push ecx
lea edx, [esp + 0x4c]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00531810
mov ecx, edi
call fcn.005319b0
movsx eax, bx
xor edi, edi
lea ebx, [eax + 1]
test ebx, ebx
jle 0x41e94f
xor eax, eax
mov al, byte [eax + esi + 0x94]
lea ecx, [esp + 0x18]
push eax
call fcn.00531b30
inc edi
movsx eax, di
cmp eax, ebx
jl 0x41e936
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x18]
push ecx
push 1
push edx
lea ecx, [esp + 0x60]
call fcn.00404e90
lea eax, [esp + 0x54]
lea ecx, [esi + 0x70]
push eax
call fcn.0053a210
mov ebx, dword [esp + 0x1c]
jmp 0x41ebb0
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x20], 5
mov al, byte [ebx + 0xfa]
test al, al
jne 0x41e9c5
mov al, byte [esp + 0x10]
shl al, 1
cmp al, 0xc
jae 0x41e99c
mov al, 0xc
xor cx, cx
push 0
mov cl, al
lea edx, [ebx + 0x4c]
push ecx
lea eax, [esp + 0x40]
push edx
push eax
lea ecx, [ebx + 0x100]
call fcn.004551e0
test ax, ax
je 0x41eba2
dec dword [esp + 0x20]
lea esi, [ebx + 0x4c]
push 0
mov ecx, esi
call fcn.0053a3c0
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x41e9de
mov byte [esp + 0x10], cl
jmp 0x41e9ea
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
mov byte [esp + 0x10], al
movzx di, byte [esp + 0x10]
xor ebp, ebp
mov word [esp + 0x12], di
test di, di
jle 0x41eb88
movsx ecx, bp
push ecx
push 0
mov ecx, esi
call fcn.0053a3c0
mov ecx, eax
call fcn.0042ab20
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.00531810
lea ecx, [esp + 0x18]
call fcn.005319b0
lea ecx, [esp + 0x14]
call fcn.00531b50
cmp ax, 4
jle 0x41ea5f
push 1
lea ecx, [esp + 0x18]
call fcn.00531ac0
cmp al, 5
jne 0x41ea5f
push 3
lea ecx, [esp + 0x18]
call fcn.00531ac0
mov bl, byte [esp + 0x11]
cmp al, bl
je 0x41ea6a
mov ebx, dword [esp + 0x1c]
inc ebp
cmp bp, di
jl 0x41ea00
jmp 0x41eb88
mov edi, dword [esp + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0
mov byte [edi + 0xfa], 0xff
call fcn.00531830
lea ecx, [esp + 0x1c]
call fcn.005319b0
add edi, 0x70
mov ecx, edi
call fcn.0053a4a0
push 3
lea ecx, [esp + 0x18]
call fcn.00531ac0
test al, al
jbe 0x41eae6
push 3
lea ecx, [esp + 0x18]
call fcn.00531ac0
cmp al, 0x80
jae 0x41eae6
mov esi, 3
push esi
lea ecx, [esp + 0x18]
call fcn.00531ac0
push eax
lea ecx, [esp + 0x1c]
call fcn.00531b30
inc esi
cmp si, 0xb
jl 0x41eab9
cmp bl, 1
jne 0x41eb3a
push 5
lea ecx, [esp + 0x1c]
call fcn.00531ac0
jmp 0x41eb3a
lea ecx, [esp + 0x4c]
mov esi, 2
call fcn.00531b50
movsx edx, ax
add edx, 3
cmp edx, esi
jle 0x41eb3a
push 0
lea ecx, [esp + 0x50]
call fcn.00531ac0
movzx ax, al
add eax, esi
lea ecx, [esp + 0x14]
push eax
call fcn.00531ac0
push eax
lea ecx, [esp + 0x1c]
call fcn.00531b30
lea ecx, [esp + 0x4c]
inc esi
call fcn.00531b50
movsx ecx, ax
movsx edx, si
add ecx, 3
cmp edx, ecx
jl 0x41eafe
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x24]
push eax
call fcn.00531810
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x18]
push ecx
push 1
push edx
lea ecx, [esp + 0x60]
mov byte [esp + 0x88], 0xc
call fcn.00404e90
lea eax, [esp + 0x54]
mov ecx, edi
push eax
call fcn.0053a210
lea ecx, [esp + 0x24]
mov byte [esp + 0x7c], 7
call fcn.00531940
mov di, word [esp + 0x12]
mov ebx, dword [esp + 0x1c]
cmp bp, di
jl 0x41ebb0
cmp word [esp + 0x20], 0
mov byte [ebx + 0xfa], 0
jne 0x41e986
jmp 0x41ebb0
mov ecx, ebx
call fcn.0041fd70
mov byte [ebx + 0xf8], 0
lea esi, [ebx + 0x70]
mov ecx, esi
call fcn.0053a480
test ax, ax
jle 0x41ee20
push esi
push ecx
lea edx, [esp + 0x8c]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.00531810
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x6c]
push eax
add ecx, 0xc
call fcn.00452380
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x57217c]
mov ebx, ecx
mov byte [esp + 0x7c], 0xd
cmp eax, ebx
jae 0x41ec00
mov ebx, eax
mov ebp, dword [esp + 0x88]
cmp ebp, esi
jne 0x41ec21
push eax
push ebx
mov ecx, ebp
call fcn.00404c30
push 0
push 0
mov ecx, ebp
call fcn.00404c30
jmp 0x41ec9e
test ebx, ebx
jbe 0x41ec69
cmp ebx, ecx
jne 0x41ec69
mov eax, dword [esi + 4]
test eax, eax
jne 0x41ec35
mov eax, 0x572184
cmp byte [eax - 1], 0xfe
jae 0x41ec69
push 1
mov ecx, ebp
call fcn.00404bb0
mov eax, dword [esi + 4]
test eax, eax
jne 0x41ec50
mov eax, 0x572184
mov dword [ebp + 4], eax
mov ecx, dword [esi + 8]
mov dword [ebp + 8], ecx
mov esi, dword [esi + 0xc]
mov dword [ebp + 0xc], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x41ec9e
push 1
push ebx
mov ecx, ebp
call fcn.00404d70
test al, al
je 0x41ec9e
mov esi, dword [esi + 4]
test esi, esi
jne 0x41ec83
mov esi, 0x572184
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
call fcn.00404d50
mov eax, dword [esp + 0x68]
mov byte [esp + 0x7c], 7
test eax, eax
je 0x41ecc8
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41ecbf
cmp al, 0xff
je 0x41ecbf
dec al
mov byte [ecx], al
jmp 0x41ecc8
push ecx
call fcn.00556360
add esp, 4
mov edi, str.______
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [ebp + 8]
not ecx
dec ecx
mov ebx, ecx
mov ecx, eax
cmp eax, ebx
jb 0x41ece4
mov ecx, ebx
mov esi, dword [ebp + 4]
mov edi, str.______
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x41ecf7
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x41ee20
cmp eax, ebx
jb 0x41ee20
cmp eax, ebx
setne dl
test edx, edx
jne 0x41ee20
push ecx
lea eax, [esp + 0x88]
mov ecx, esp
mov dword [esp + 0x8c], esp
push eax
call fcn.00531810
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.004205d0
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x57217c]
mov ebx, ecx
mov byte [esp + 0x7c], 0xe
cmp eax, ebx
jae 0x41ed50
mov ebx, eax
cmp ebp, esi
jne 0x41ed6d
push eax
push ebx
mov ecx, ebp
call fcn.00404c30
push 0
push 0
mov ecx, ebp
call fcn.00404c30
jmp 0x41eded
test ebx, ebx
jbe 0x41edb5
cmp ebx, ecx
jne 0x41edb5
mov eax, dword [esi + 4]
test eax, eax
jne 0x41ed81
mov eax, 0x572184
cmp byte [eax - 1], 0xfe
jae 0x41edb5
push 1
mov ecx, ebp
call fcn.00404bb0
mov eax, dword [esi + 4]
test eax, eax
jne 0x41ed9c
mov eax, 0x572184
mov dword [ebp + 4], eax
mov ecx, dword [esi + 8]
mov dword [ebp + 8], ecx
mov esi, dword [esi + 0xc]
mov dword [ebp + 0xc], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x41eded
push 1
push ebx
mov ecx, ebp
call fcn.00404d70
test al, al
je 0x41eded
mov esi, dword [esi + 4]
test esi, esi
jne 0x41edcf
mov esi, 0x572184
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add ebx, eax
mov byte [ebx], 0
mov eax, dword [esp + 0x68]
xor esi, esi
cmp eax, esi
je 0x41ee14
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x41ee0b
cmp al, 0xff
je 0x41ee0b
dec al
mov byte [ecx], al
jmp 0x41ee14
push ecx
call fcn.00556360
add esp, 4
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
lea ecx, [esp + 0x50]
mov byte [esp + 0x7c], 0x11
call fcn.00531940
lea ecx, [esp + 0x4c]
mov byte [esp + 0x7c], 0x10
call fcn.00531940
lea ecx, [esp + 0x48]
mov byte [esp + 0x7c], 0xf
call fcn.00531940
lea ecx, [esp + 0x44]
mov byte [esp + 0x7c], 3
call fcn.00531940
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
cmp esi, eax
mov byte [esp + 0x7c], 2
mov edi, eax
je 0x41ee7d
mov ecx, esi
call fcn.00531940
add esi, 4
cmp esi, edi
jne 0x41ee6b
mov esi, dword [esp + 0x58]
push esi
call fcn.00556360
xor eax, eax
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov byte [esp + 0x7c], 1
call fcn.00531940
lea ecx, [esp + 0x14]
mov byte [esp + 0x7c], 0
call fcn.00531940
lea ecx, [esp + 0x84]
mov dword [esp + 0x7c], 0xffffffff
call fcn.00531940
mov ax, 1
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x70
ret 8