Function at 0x4a3c70
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x528868
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], edi
lea ecx, [esp + 0x30]
mov dword [esp + 0x6c], 1
call fcn.0050a720
lea ecx, [esp + 0x40]
mov byte [esp + 0x6c], 2
call fcn.004f70e0
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 3
call fcn.004f5840
push ecx
lea eax, [esp + 0x78]
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0x74], 4
call fcn.004f5850
lea ecx, [esp + 0x2c]
call fcn.004f5b70
lea ecx, [esp + 0x28]
mov word [esp + 0x2c], 0xfe
push ecx
lea ecx, [esp + 0x34]
call fcn.004f6590
lea edx, [esp + 0x74]
lea ecx, [esp + 0x10]
push edx
call fcn.004f5850
xor ebx, ebx
lea ecx, [esp + 0x74]
push ebx
mov byte [esp + 0x70], 5
call fcn.004f5b60
cmp al, 0x80
jne 0x4a3d31
lea ecx, [esp + 0x74]
call fcn.004f5d00
sub eax, 4
lea ecx, [esp + 0x74]
push eax
call fcn.004f5d20
add eax, 4
jmp 0x4a3d58
push ebx
lea ecx, [esp + 0x78]
call fcn.004f5b60
cmp al, 0x80
jbe 0x4a3d62
lea ecx, [esp + 0x74]
call fcn.004f5d00
sub eax, 3
lea ecx, [esp + 0x74]
push eax
call fcn.004f5d20
add eax, 3
push eax
lea ecx, [esp + 0x18]
call fcn.004f5dc0
mov esi, dword [esp + 0x78]
sub esp, 0x24
lea ecx, [esp + 0x54]
mov eax, esp
mov dword [esp + 0x9c], esp
push ebx
push ecx
push eax
mov ecx, 0x554070
call fcn.004f3fa0
lea ecx, [esp + 0x64]
call fcn.004f7290
lea ecx, [esp + 0x40]
call fcn.004f76c0
test ax, ax
jle 0x4a4119
push ebx
lea ecx, [esp + 0x44]
call fcn.004f7600
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x4a4119
mov edx, dword [eax + 8]
sub edx, ecx
sar edx, 2
je 0x4a4119
push ebx
lea ecx, [esp + 0x44]
call fcn.004f7600
mov ecx, dword [eax + 4]
call fcn.004f5d00
test ax, ax
jle 0x4a4119
push ecx
mov ecx, esp
mov dword [esp + 0x7c], esp
push ebx
call fcn.004f5870
mov ecx, esi
call fcn.004f5b70
push ecx
lea ecx, [esp + 0x44]
mov eax, esp
mov dword [esp + 0x7c], esp
push eax
call fcn.004f7610
mov ecx, esi
call fcn.004f5b70
push ebx
mov ecx, esi
xor ebp, ebp
call fcn.004f5b60
cmp al, 0x80
jne 0x4a3e3e
mov ecx, esi
call fcn.004f5d00
cmp ax, 6
jl 0x4a4119
push ebx
mov ecx, esi
call fcn.004f5b60
cmp al, 0x80
jne 0x4a4119
mov ebp, 4
jmp 0x4a3e60
push ebx
mov ecx, esi
call fcn.004f5b60
cmp al, 0x80
jbe 0x4a3e60
mov ecx, esi
call fcn.004f5d00
cmp ax, 5
jl 0x4a4119
mov ebp, 3
push 1
mov ecx, esi
call fcn.004f5b60
push 2
lea ecx, [esp + 0x78]
mov bl, al
call fcn.004f5b60
cmp bl, al
jne 0x4a43a1
push 2
mov ecx, esi
call fcn.004f5b60
push 1
lea ecx, [esp + 0x78]
mov bl, al
call fcn.004f5b60
cmp bl, al
jne 0x4a43a1
push ebp
mov ecx, esi
call fcn.004f5b60
cmp al, 0x7f
jne 0x4a41c3
lea ecx, [ebp + 1]
push ecx
mov ecx, esi
call fcn.004f5b60
push 0
lea ecx, [esp + 0x14]
mov bl, al
call fcn.004f5b60
cmp bl, al
jne 0x4a41c3
lea edi, [ebp + 2]
mov ecx, esi
push edi
call fcn.004f5b60
cmp al, 0x23
je 0x4a404d
push edi
mov ecx, esi
call fcn.004f5b60
cmp al, 0x78
je 0x4a404d
push 6
mov ecx, esi
call fcn.004f5b60
cmp al, 0x21
jne 0x4a3f07
mov edi, dword [esp + 0x14]
xor ebx, ebx
jmp 0x4a3d66
mov ebx, dword [esp + 0x14]
mov byte [0x55747d], 1
xor edi, edi
mov ecx, dword [ebx + 0x10]
cmp ecx, edi
jne 0x4a3f21
mov dword [esp + 0x1c], edi
jmp 0x4a3f2a
mov eax, dword [ebx + 0x14]
sub eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x78], 0
cmp eax, edi
jle 0x4a3f87
add ebp, 2
mov ebx, dword [ebx + 0x10]
push ebp
mov ecx, esi
call fcn.004f5b60
cmp al, byte [edi + ebx]
je 0x4a3f6c
mov dl, byte [esp + 0x78]
mov eax, dword [esp + 0x1c]
inc dl
mov ebx, dword [esp + 0x14]
mov byte [esp + 0x78], dl
mov edi, dword [esp + 0x78]
and edi, 0xff
cmp edi, eax
jl 0x4a3f3a
jmp 0x4a3f87
push ebp
mov ecx, esi
call fcn.004f5b60
mov edx, dword [esp + 0x14]
push eax
push 5
lea ecx, [edx + 8]
call fcn.004f5c80
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x1c]
and eax, 0xff
cmp eax, ecx
jl 0x4a3fa4
push 0
push 5
lea ecx, [ebx + 8]
call fcn.004f5c80
mov al, byte [0x55747c]
test al, al
jne 0x4a3fee
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x84], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
add ebx, 8
mov ecx, esp
mov dword [esp + 0x2c], esp
push ebx
mov byte [esp + 0x80], 6
call fcn.004f5850
mov ecx, 0x5540a8
mov byte [esp + 0x7c], 5
call fcn.004f91a0
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 4
call fcn.004f5980
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 3
call fcn.004f5980
lea ecx, [esp + 0x40]
mov byte [esp + 0x6c], 2
call fcn.004f71e0
lea ecx, [esp + 0x30]
mov byte [esp + 0x6c], 1
call fcn.004f61c0
lea ecx, [esp + 0x74]
mov byte [esp + 0x6c], 0
call fcn.004f5980
lea ecx, [esp + 0x7c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.004f5980
xor ax, ax
jmp 0x4a43fc
mov byte [esp + 0x78], 1
xor ebx, ebx
sub esp, 0x24
mov ecx, 0x554070
mov eax, esp
mov dword [esp + 0x40], esp
push ebx
push eax
call fcn.004f4b10
lea ecx, [esp + 0x64]
call fcn.004f7290
lea ecx, [esp + 0x40]
call fcn.004f76c0
test ax, ax
jle 0x4a4104
push ebx
lea ecx, [esp + 0x44]
call fcn.004f7600
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x4a4104
mov edx, dword [eax + 8]
sub edx, ecx
sar edx, 2
je 0x4a4104
push ebx
lea ecx, [esp + 0x44]
call fcn.004f7600
mov ecx, dword [eax + 4]
call fcn.004f5d00
cmp ax, 6
jl 0x4a4104
push ebx
push ebx
lea ecx, [esp + 0x48]
call fcn.004f7600
mov ecx, eax
call fcn.0041fe70
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
call fcn.004f5850
mov ecx, esi
call fcn.004f5b70
push ebp
mov ecx, esi
call fcn.004f5b60
cmp al, 0x7f
jne 0x4a415a
lea edi, [ebp + 2]
mov ecx, esi
push edi
call fcn.004f5b60
cmp al, 0x23
je 0x4a4104
push edi
mov ecx, esi
call fcn.004f5b60
cmp al, 0x78
jne 0x4a415a
mov al, byte [esp + 0x78]
mov cl, al
inc al
cmp cl, 3
mov byte [esp + 0x78], al
jb 0x4a4054
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 4
call fcn.004f5980
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 3
call fcn.004f5980
lea ecx, [esp + 0x40]
mov byte [esp + 0x6c], 2
call fcn.004f71e0
lea ecx, [esp + 0x30]
mov byte [esp + 0x6c], 1
call fcn.004f61c0
mov byte [esp + 0x6c], bl
jmp 0x4a43de
push 0x64
call fcn.00446990
add esp, 4
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 4
call fcn.004f5980
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 3
call fcn.004f5980
lea ecx, [esp + 0x40]
mov byte [esp + 0x6c], 2
call fcn.004f71e0
lea ecx, [esp + 0x30]
mov byte [esp + 0x6c], 1
call fcn.004f61c0
lea ecx, [esp + 0x74]
mov byte [esp + 0x6c], bl
call fcn.004f5980
lea ecx, [esp + 0x7c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.004f5980
mov ax, 1
jmp 0x4a43fc
push esi
lea ecx, [esp + 0x1c]
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x6c], 7
call fcn.004f5d00
dec eax
mov ecx, esi
push eax
call fcn.004f5b60
lea edx, [esp + 0x18]
mov ecx, edi
push edx
mov bl, al
call fcn.004a3b00
cmp al, bl
jne 0x4a4393
push 0
lea ecx, [esp + 0x7c]
call fcn.004f5870
lea eax, [esp + 0x78]
lea ecx, [esp + 0x7c]
push eax
mov byte [esp + 0x70], 8
call fcn.004f5c20
lea ecx, [esp + 0x78]
mov bl, al
mov byte [esp + 0x6c], 7
call fcn.004f5980
test bl, bl
je 0x4a4298
lea ecx, [esp + 0x18]
mov byte [esp + 0x6c], 5
call fcn.004f5980
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 4
call fcn.004f5980
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 3
call fcn.004f5980
lea ecx, [esp + 0x40]
mov byte [esp + 0x6c], 2
call fcn.004f71e0
lea ecx, [esp + 0x30]
mov byte [esp + 0x6c], 1
call fcn.004f61c0
lea ecx, [esp + 0x74]
mov byte [esp + 0x6c], 0
call fcn.004f5980
lea ecx, [esp + 0x7c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.004f5980
mov ax, 1
jmp 0x4a43fc
lea ecx, [esp + 0x7c]
push ecx
mov ecx, edi
call fcn.004a3b00
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push esi
call fcn.004f5850
lea edx, [esp + 0x28]
mov ecx, edi
push edx
call fcn.004a4f60
push ecx
lea eax, [esp + 0x80]
mov bl, 9
mov ecx, esp
mov dword [esp + 0x20], esp
push eax
mov byte [esp + 0x74], bl
call fcn.004f5850
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call fcn.004a4f60
lea edx, [esp + 0x20]
lea ecx, [esp + 0x24]
push edx
mov byte [esp + 0x70], 0xa
call fcn.004f5c20
test al, al
mov byte [esp + 0x6c], bl
lea ecx, [esp + 0x20]
je 0x4a4380
call fcn.004f5980
lea ecx, [esp + 0x24]
mov byte [esp + 0x6c], 7
call fcn.004f5980
lea ecx, [esp + 0x18]
mov byte [esp + 0x6c], 5
call fcn.004f5980
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 4
call fcn.004f5980
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 3
call fcn.004f5980
lea ecx, [esp + 0x40]
mov byte [esp + 0x6c], 2
call fcn.004f71e0
lea ecx, [esp + 0x30]
mov byte [esp + 0x6c], 1
call fcn.004f61c0
lea ecx, [esp + 0x74]
mov byte [esp + 0x6c], 0
call fcn.004f5980
lea ecx, [esp + 0x7c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.004f5980
mov ax, 1
jmp 0x4a43fc
call fcn.004f5980
lea ecx, [esp + 0x24]
mov byte [esp + 0x6c], 7
call fcn.004f5980
lea ecx, [esp + 0x18]
mov byte [esp + 0x6c], 5
call fcn.004f5980
lea ecx, [esp + 0x10]
mov byte [esp + 0x6c], 4
call fcn.004f5980
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 3
call fcn.004f5980
lea ecx, [esp + 0x40]
mov byte [esp + 0x6c], 2
call fcn.004f71e0
lea ecx, [esp + 0x30]
mov byte [esp + 0x6c], 1
call fcn.004f61c0
mov byte [esp + 0x6c], 0
lea ecx, [esp + 0x74]
call fcn.004f5980
lea ecx, [esp + 0x7c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.004f5980
or ax, 0xffff
mov ecx, dword [esp + 0x64]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x60
ret 0xc