Function at 0x409b60
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
push ebx
push esi
mov esi, dword [ebp + 0x10]
mov ebx, ecx
mov ecx, dword [ebp + 8]
lea eax, [esi + esi]
mov dword [ebp - 0x110], eax
add eax, ecx
mov dword [ebp - 0x104], eax
mov dword [ebp - 4], eax
add eax, 0xfffffffe
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x100], 0
mov dword [ebp - 0x108], eax
test ebx, ebx
je 0x48bbbe
mov edx, dword [ebp + 0x14]
test edx, 0xe20f5a6f
jne 0x48bbee
test ebx, ebx
je 0x48bc00
test ecx, ecx
je 0x48bc00
cmp dword [ebp + 0x18], 0
mov eax, dword [ebp + 0x1c]
je 0x48bbf8
test eax, eax
js 0x48bc0a
test edi, edi
js 0x48bc14
test esi, esi
js 0x48c49a
cmp esi, edi
jg 0x48c49a
mov eax, dword [ebx]
cmp eax, 0x50435245
jne 0x48bc1e
test byte [ebx + 0xc], 2
je 0x48bc32
mov ecx, dword [ebx + 8]
test ecx, 0x800
je 0x40a24d
mov eax, 1
mov dword [ebp - 0xc], eax
mov dword [ebp - 0xa8], eax
test edx, 0x8000000
jne 0x40a254
test edx, 0x8000
jne 0x40a25e
xor eax, eax
cmp dword [ebp - 0xc], 0
mov dword [ebp - 0x6c], eax
je 0x409c93
test edx, 0x2000
je 0x48bc3c
test dword [ebx + 0xc], 0x2000
movzx eax, word [ebx + 0x22]
movzx edx, word [ebx + 0x24]
lea eax, [ebx + eax*2]
mov dword [ebp - 0xc8], eax
movzx eax, word [ebx + 0x26]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xf4], 0x989680
mov dword [ebp - 0xf0], 0x989680
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x14], eax
jne 0x48bcb5
test dword [ebx + 0xc], 0x4000
jne 0x48bcd3
test eax, eax
jne 0x409cfb
mov eax, 0x4ae7e0
mov dword [ebp - 0x14], eax
mov eax, ecx
or eax, dword [ebp + 0x14]
test al, 0x10
jne 0x48bcf4
mov dword [ebp - 0x38], 0
test dword [ebx + 0xc], 0x100
jne 0x48bd00
mov dword [ebp - 0x1c], 0
test ecx, 0x40000
jne 0x48bd0c
mov dword [ebp - 0x30], 0
movzx eax, word [ebx + 0x26]
imul edx, eax
movzx eax, word [ebx + 0x22]
add edx, eax
mov dword [ebp - 0x60], esi
lea eax, [ebx + edx*2]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x80], eax
lea eax, [eax + edi*2]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 8], eax
test cl, 0x20
jne 0x40a268
xor eax, eax
mov dword [ebp - 0x9c], eax
test ecx, 0x20000000
jne 0x40a272
xor eax, eax
mov dword [ebp - 0xa0], eax
test ecx, 0x2000000
jne 0x40a27c
xor eax, eax
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xcc], 0
test dl, dl
js 0x40a286
xor eax, eax
mov dword [ebp - 0xb0], eax
test edx, 0x100
jne 0x40a290
xor eax, eax
mov dword [ebp - 0xac], eax
test edx, 0x400
jne 0x40a29a
xor eax, eax
mov dword [ebp - 0x98], eax
test edx, 0x10000000
jne 0x40a2a4
xor eax, eax
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x50], 0
test esi, 0x1000
jne 0x40a2ae
xor eax, eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xbc], eax
lea edi, [eax + 0x100]
add eax, 0x340
mov dword [ebp - 0xb4], eax
mov eax, edx
mov dword [ebp - 0xb8], edi
and eax, 0x1800000
jne 0x48bd18
test ecx, 0x1800000
jne 0x48bd3d
mov dword [ebp - 0x8c], 1
test edx, 0x700000
jne 0x40a2b8
and ecx, 0x700000
jne 0x48bd50
mov dword [ebp - 0xe0], 2
cmp dword [ebp - 0x6c], 0
jne 0x48bdfc
mov eax, 0x55555556
imul dword [ebp + 0x1c]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edi, [eax + eax*2]
mov eax, 0x55555556
lea ecx, [edi + edi]
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x14], eax
movzx eax, word [ebx + 0x20]
test ax, ax
jne 0x48be12
mov esi, dword [ebp + 0x18]
mov dword [ebp - 0xec], esi
lea ecx, [edi + edi]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x64], 0
test esi, esi
je 0x409f30
movzx eax, word [ebx + 0x1e]
lea ecx, [esi + edi*4]
shl eax, 2
mov edx, ecx
sub edx, eax
lea eax, [esi + 8]
cmp edx, eax
jb 0x40a2bf
sub ecx, 4
cmp ecx, edx
jae 0x40a110
mov dword [esi + 4], 0xffffffff
mov eax, dword [ebp - 0xec]
mov dword [eax], 0xffffffff
cmp dword [ebp - 0x38], 0
jne 0x409f41
mov eax, dword [ebx + 0xc]
test al, 0x10
jne 0x40a1ef
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebx + 0xc]
test al, 0x40
jne 0x40a210
cmp dword [ebp - 0x30], 0
mov edi, dword [ebp - 8]
mov ecx, edi
mov dword [ebp + 0x10], ecx
jne 0x48bf32
mov esi, dword [ebx + 8]
or esi, dword [ebp + 0x14]
and esi, 0x4000000
jne 0x409f87
cmp dword [ebp - 0x24], esi
jne 0x40a1bf
cmp dword [ebp - 0x1c], esi
jne 0x48c09f
mov dword [ebp - 8], ecx
test esi, esi
jne 0x409f9a
cmp dword [ebp - 0x10c], esi
jne 0x40a128
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x84]
push 0
push 0
lea ecx, [ebp - 0xf8]
push ecx
push 2
push eax
mov ecx, eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0xd0], 0
call int.0040a300
add esp, 0x14
cmp dword [ebp - 0x90], 0
mov esi, eax
jne 0x48c29c
test esi, esi
jle 0x40a063
cmp esi, 1
jne 0x48c3aa
cmp dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x14]
jne 0x48c409
test dword [ebp - 0x64], 0x10000
mov ecx, dword [ebp - 0x68]
jne 0x48c44f
mov eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
movzx edi, word [ebx + 0x1e]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp eax, edi
mov eax, dword [ebp + 0x18]
jle 0x48c45e
cmp dword [ebp + 0x1c], 2
jl 0x40a2eb
mov ecx, dword [ebp - 0x78]
sub ecx, dword [ebp - 0x80]
sar ecx, 1
mov dword [eax], ecx
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x80]
sar ecx, 1
mov dword [eax + 4], ecx
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jne 0x48c2ba
mov edx, dword [ebp - 4]
cmp dword [ebp - 0xc], 0
mov dword [ebp - 0xcc], 0
lea edi, [edx + 2]
je 0x40a2d5
mov ecx, dword [ebp + 0x10]
cmp edi, ecx
jae 0x40a0a3
mov ax, word [edi]
mov esi, 0xfc00
and ax, si
mov esi, 0xdc00
cmp ax, si
je 0x40a2cd
mov eax, dword [ebp - 0xe0]
xor esi, esi
cmp dword [ebp - 0x30], esi
jne 0x48c2f9
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 4], edi
cmp edi, ecx
ja 0x40a195
cmp dword [ebp - 0x38], esi
jne 0x40a195
cmp edi, dword [ebp - 0x104]
jbe 0x40a0dd
cmp word [edi - 2], 0xd
je 0x40a0e5
mov dword [ebp - 0x48], esi
jmp 0x409f55
cmp edi, ecx
jae 0x40a0dd
cmp word [edi], 0xa
jne 0x40a0dd
test dword [ebx + 0xc], 0x800
jne 0x40a0dd
cmp eax, 2
jne 0x48c389
lea eax, [edi + 2]
mov dword [ebp - 4], eax
mov dword [ebp - 0x48], esi
jmp 0x409f55
mov dword [ecx], 0xffffffff
sub ecx, 4
cmp ecx, edx
jae 0x40a110
mov esi, dword [ebp - 0xec]
jmp 0x409f1d
cmp dword [ebp - 0x6c], 0
jne 0x409f9a
mov edx, dword [ebp - 4]
mov eax, ecx
sub eax, edx
and eax, 0xfffffffe
cmp eax, 0x7d0
jge 0x409f9a
cmp dword [ebp - 0x24], 0
je 0x40a2c6
mov eax, 1
lea edx, [edx + eax*2]
cmp edx, dword [ebp - 0x108]
jbe 0x409f9a
mov esi, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x18]
cmp si, ax
jne 0x48c26b
cmp edx, ecx
jae 0x40a193
jmp 0x40a180
mov ax, word [edx]
add edx, 2
cmp ax, si
je 0x40a237
cmp edx, ecx
jb 0x40a180
xor esi, esi
cmp dword [ebp - 0x20], 0
jne 0x48c3be
test esi, esi
jne 0x40a2dd
mov esi, dword [ebp - 0x100]
test esi, esi
jne 0x48c3d5
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
cmp dx, word [ebp - 0x10]
jne 0x48c071
cmp eax, edi
jae 0x409f87
cmp word [eax], dx
je 0x409f87
add eax, 2
mov dword [ebp - 4], eax
cmp eax, edi
jb 0x40a1d7
jmp 0x409f87
movzx edi, word [ebx + 0x18]
movzx esi, di
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x34], esi
test al, 0x20
je 0x409f41
jmp 0x48be61
movzx edi, word [ebx + 0x1a]
movzx esi, di
mov dword [ebp - 0x10c], 1
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xfc], esi
test al, al
jns 0x409f55
jmp 0x48bece
sub edx, 2
cmp edx, ecx
jae 0x40a193
mov dword [ebp - 0x108], edx
jmp 0x409f9a
xor eax, eax
jmp 0x409c5b
mov eax, 2
jmp 0x409c7e
mov eax, 1
jmp 0x409c7e
mov eax, 1
jmp 0x409d69
mov eax, 1
jmp 0x409d7d
mov eax, 1
jmp 0x409d91
mov eax, 1
jmp 0x409dae
mov eax, 1
jmp 0x409dc2
mov eax, 1
jmp 0x409dd6
mov eax, 1
jmp 0x409dea
mov eax, 1
jmp 0x409e20
mov ecx, edx
jmp 0x409e75
mov edx, eax
jmp 0x409f12
xor eax, eax
jmp 0x40a156
add edi, 2
jmp 0x40a0a3
mov ecx, dword [ebp + 0x10]
jmp 0x40a0a3
cmp esi, 0xfffffff4
jne 0x40a05a
jmp 0x40a1a7
xor esi, esi
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cli
sub al, 0xa7
sbb dword [ebx - 0x5f], 0x894cdf23
stc
inc esi
movsd dword es:[edi], dword [esi]
mov al, byte [0xfeb7200c]
cmp byte [edx - 0x7d], cl
int 0xf2
dec edx
or ebp, 0xfffffff2
adc al, 0xd5
adc cl, byte [eax - 0x3e4a9203]
add bl, byte [ebx]
or edx, ebp
jbe 0x48bb7b
mov ebp, 0x20d87804
jg 0x48bbab
pop ecx
mov dl, 0x1f
invalid
jmp 0x48bb2f
dec edi
dec ebx
push ebp
mov al, 0x86
inc ecx
dec esp
hlt
jecxz 0x48bb43
mov word [eax + 0x2ca5e2e1], es
in al, dx
push ss
push ecx
iretd
mov dword [0x257f7fba], eax
push edi
pop esp
push esi
insd dword es:[edi], dx
insd dword es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
std
sbb byte [ebx - 0x414744], ah
pop ebp
jno 0x48bbf7
call [ebp + 0x71]
xor cl, byte [esi]
xor cl, byte [esi]
rol byte [ebx + 0x30], 1
dec eax
dec eax
retf 0xeb2d
mov cl, 0x9e
sub al, ah
sub ebp, dword [edi]
jmp 0x48bbc8
invalid
outsb dx, byte [esi]
push 0x994fedf2
mov ah, 0x43
les ecx, [ebx + 0x28]
add eax, 0xafd6516b
sub byte [0xafd6516b], al
lea edx, [0x2e512960]
invalid
pop ds
dec ebp
inc eax
invalid
xchg dword [edi + 0x70], ebx
add esp, ebx
retf 0x676d
lds ecx, [eax - 0x7ccbeb6c]
retf
jp 0x48bd36
into
inc ebp
mov edx, 0x72b4e410
mov ah, 0x72
dec edi
sbb eax, 0xcd8e1f28
pop ds
mov cs, ebp
and al, 0x61
wait
mov bh, 0x43
push esp
dec eax
xchg esp, eax
xchg dword [ebx - 0x55], esp
clc
arpl bx, si
add bl, byte [edx + 0xac14870]
mov al, byte [0x5fede36]
push 0xe3834fa0
fst dword [eax - 0x5e]
inc edi
sahf
sahf
outsd dx, dword [esi]
arpl word [ebx + 0x2f363f8], bp
lcall 0x36a0, 0xac14870
fdivp st(6)
add eax, 0x834fa068
jecxz 0x48bd07
push eax
mov byte [0x6f9e9e47], al
sbb edx, dword [edx + 0x4e]
dec esi
std
or eax, 0xc31cc13
invalid
or al, 0xfe
push ebx
cmp eax, 0x13135ad0
lahf
invalid
pushfd
or esp, dword [esi + esi*4 + 0xe53ecf]
cmp al, 0xbe
add byte [ebx], bl
mov dl, 0xfb
in eax, dx
call 0x3537baa4
aam 0x40
aas
mov al, byte [0x72ccbbbf]
push 0x6bbbc2b
mov eax, 0x9a2cced6
dec edi
movsd dword es:[edi], dword [esi]
and dword [ebx], 0x3198d9d8
sahf
mov dword [eax + edi], ebp
sbb edi, dword [eax + edi*4 - 0x3c802660]
and dword [ebx + 0x75], eax
mov dl, dh
mov esi, 0x49800f59
inc esi
into
wait
push ds
xlatb
dec esi
cdq
xor byte [ebp - 0x6fc8dc0b], 0x2a
fsubr st(0)
mov ah, 5
test eax, 0x39f6b07d
sub eax, ebx
and byte [ecx - 0x58], ch
mov dh, 0x59
adc eax, 0x9d9aa25a
fadd qword [edx + edx*2 - 1]
xchg bp, ax
invalid
sbb eax, 0x533fbd4c
push ebx
test dl, bl
mov byte [eax + 0x37f5d3c5], dh
jo 0x48be00
into
call 0xcfc3db58
adc byte [edx - 0x108f6b07], bh
mov edx, 0xef7094f9
adc al, 0x29
aaa
cmc
dec ebp
or al, byte [esi]
inc esi
xor ebp, esi
int3
xchg esi, eax
xchg esi, eax
mov ah, byte [edi]
lodsd eax, dword [esi]
pop eax
mov eax, dword [0x2a154d1f]
and al, 0x27
nop
in al, 0xb1
rcl byte [eax - 1], 0x25
invalid
push eax
jmp dword [0xbbf960f0]
jo 0x48be73
ret
mov al, 0x34
aam 0x3f
pop ebx
shr dword [ecx + 0x1cbd596f], 0x7c
push eax
pop ss
nop
popal
scasb al, byte es:[edi]
sub byte [eax], ah
aad 0x6a
xchg esi, eax
cmp edi, dword [edi]
invalid
cwde
push edi
jmp 0xe732803f
add esi, edi
invalid
mov ebx, 0x5d0ff1e7
mov dl, 0x80
movsd dword es:[edi], dword [esi]
sahf
mov dword [esi - 0x21dfc880], edi
push ebp
out dx, al
test eax, 0x271eea58
jbe 0x48c043
movsd dword es:[edi], dword [esi]
sbb eax, eax
idiv dword [ecx - 0x59]
pop edi
retf
push edi
daa
and eax, dword [ecx]
nop
pop esi
mov dword [0xd24b6fe0], eax
xchg edi, eax
dec edi
push ebx
or byte [ebx], 0xd3
test al, 0x7b
jne 0x48c119
sbb bl, byte [eax + 0x7e]
jge 0x48c069
xchg edi, eax
dec ebx
adc cl, bh
mov cl, 0xc4
cli
mov bh, 0x2f
fld qword [edx - 0x350fd340]
sub dword [ebx], 0x63636c5c
pop es
fimul dword [ebp - 0x66]
invalid
add esp, esi
mov al, byte [0x7c886b38]
retf
sbb byte [esi + 0x68a3bdbc], cl
add eax, 0x52eea584
add dword [ebp + 0x6d66faca], 0x8cf867e0
xchg dword [ebp - 0x80], ebp
xchg edx, eax
and al, 0x99
mov ebp, 0xed5e6087
sub byte [eax + 0x72], ah
push eax
fnstsw word [esi - 0x63]
popfd
jb 0x48c2af
fsubr st(0)
adc cl, byte [edi + ebx*2 - 0x49f736ce]
fadd st(1)
cwde
or al, 0x50
loopne 0x48c2e5
mov dh, 0xd8
rcr dword [eax + 0x41e0500c], 0x81
dec eax
invalid
or dword [eax + 0x62], 0xc95c4ec2
cmpsb byte [esi], byte es:[edi]
mov edi, 0xd8f2ca7b
xchg edx, eax
fcom dword [edx - 0x73585a27]
clc
push ds
fldenv [ebp + 0x1ef88ca7]
cli
jns 0x48c2b2
imul dword [edi - 0x798b535e]
mov edi, 0x34e906bb
ret 0x2543
scasd eax, dword es:[edi]
mov byte [0xbf8674ac], al
mov ebx, 0xc234e906
inc ebx
and eax, 0xf7fec351
add dword [eax - 0x4a], ebx
stosb byte es:[edi], al
push esi
sbb eax, 0x33dff3e2
xchg esp, eax
jne 0x48c2f4
lock inc byte [edx - 0x3cbdee96]
inc byte [edx - 0x3cbdee96]
cmpsb byte [esi], byte es:[edi]
mov ch, 0xbe
inc ebp
mov gs, ebx
xor byte [eax + 0x108b5ee0], bl
popal
push esi
sal dword [esi], cl
dec ebp
xor ecx, dword [ebx + eax*4 - 0x19]
and al, 0xee
jmp 0x48c317
out 0x24, eax
out dx, al
xor al, 0x65
jecxz 0x48c291
jecxz 0x48c2da
insd dword es:[edi], dx
imul ebx, dword [edx - 0x2aae54f6], 0x436e4e38
mov bl, 0xb5
inc byte [ebx - 0x506e97fa]
sub al, byte [ecx - 0x11]
dec ecx
fisub dword [ebx - 0x6a]
add esi, edi
jmp 0x48c360
cdq
jecxz 0x48c367
adc bl, cl
sti
rol dword [ebp - 0x5a], 1
inc ebp
cmpsb byte [esi], byte es:[edi]
out 0xb0, eax
wait
retf 0x187a
out dx, al
scasb al, byte es:[edi]
sbb ebx, dword [ebx - 0x64]
fisub word [eax + 0x51]
insb byte es:[edi], dx
dec esi
or dword [esi], eax
mov byte [0x983ee06d], al
sbb eax, 0xe4e233ce
shl dword [edi], 0xb9
mov ebp, 0x1aaa731
arpl word [eax - 0x11ebcef4], di
mov eax, 0xee14310c
sub edi, dword [ecx - 0x1eb19572]
out 0x35, al
shl ah, 0x64
out 0xed, eax
push 0x4e
loope 0x48c39c
xor eax, 0xe764e4c0
in eax, dx
js 0x48c420
jmp 0x97467ce7
sub dword [eax + edi - 0x3a6bcb1], esp
add edx, dword [esi - 0x5e]
enter 0xffffffffffffa680, 0x2a
and ebp, esp
pop ss
jns 0x48c3f7
xor eax, 0x3e278a83
lodsd eax, dword [esi]
mov ebx, 0x874b4b63
out 0xa4, eax
mov ebp, 0xbca2e028
retf
sub al, ah
mov byte [0x9d3dcbbc], al
cmp dh, dh
lahf
cmp dword [edx], 0x4e
jecxz 0x48c3dc
jns 0x48c485
pushf
pushfd
push ss
mov ds, word [edi + 0x1d]
retf
pminsw mm4, qword [esi]
jg 0x48c3b2
mov dl, 0x47
je 0x48c429
inc edx
and al, 0xfe
mov word [ecx - 0x7c023d1e], ds
daa
cdq
mov word [ebx - 0x4854c44f], es
xchg ebp, eax
add eax, 0x153b7647
test edi, eax
xchg edx, eax
add esp, dword [edx + 0x21f3b3fa]
dec edx
inc esi
xchg edx, eax
rol dword [ecx + 0x6a], 1
ror dword [esi], 1
inc edi
jbe 0x48c47a
adc eax, 0x392c785
movsb byte es:[edi], byte [esi]
invalid
push 0xffffffffffffffd1
push cs
push cs
out 0xb9, eax
jbe 0x48c43c
test eax, 0xbcc4eefc
dec esi
das
ret 0x1007
lodsb al, byte [esi]
fimul word [esi]
cdq
enter 0x624d, 0x70
jns 0x48c42a
inc ecx
das
inc esp
pop edi
int1
sbb bl, byte [esi - 0x14]
pop esi
in al, dx
jno 0x48c491
mov eax, 0xcf192433
pushal
xlatb
scasd eax, dword es:[edi]
dec edi
jno 0x48c48b
and al, 0x19
iretd
inc edi
push ds
int3