Function at 0x45d338
Capabilities:
Get number of processors

Disassembly:
popal
jb 0x45d25a
jb 0x45d1f9
add byte [edx], al
add byte [edi], bh
rcl byte [edx + 0x47], 0
or al, 0x42
imul ebp, dword [esi + 0x61], 0x65537972
popal
jb 0x45d26f
push 0x10000003
inc eax
add byte [eax + eax], dl
push es
or byte [eax + 0x45d3], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
or cl, byte [eax + 0x40]
add byte [ecx], al
add byte [ecx + ecx*2], al
je 0x45d294
insd dword es:[edi], dx
add al, byte [eax]
and byte [eax + edx + 0x20040], bl
or al, byte [esi + 0x6f]
jne 0x45d2ac
dec ecx
outsb dx, byte [esi]
js 0x45d247
add byte [edx], cl
in al, 0xc1
inc ebp
add byte [eax], dl
add byte [ecx], cl
inc ecx
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x45d2b5
jb 0x45d2bb
jb 0x45d25a
add byte [eax], al
pushfd
adc byte [eax], al
or al, 0
add eax, 0x65646e49
js 0x45d269
add byte [eax], al
pushfd
adc byte [eax], al
or byte [eax], al
add eax, 0x6e756f43
je 0x45d278
add byte [edx], al
add byte [edx], ch
add al, bh
push edx
inc edi
add byte [edx], cl
push esp
jb 0x45d2ec
insd dword es:[edi], dx
inc ebp
js 0x45d2ea
jae 0x45d2fd
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add dword [eax], ecx
adc bl, 0x45
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
xor al, byte [eax]
add al, 0x53
inc edi
add byte [edi], al
push esp
outsd dx, dword [esi]
inc ecx
jb 0x45d321
popal
jns 0x45d2b5
add byte [eax + 0x800449a], bh
inc esp
add byte [eax], cl
add byte [edx], al
or byte [eax + 0x45d3], al
adc bl, 0x45
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
inc eax
mov eax, 0x100449a
add byte [ecx], al
add dword [edx], eax
add byte [edx], al
add byte [0x47531800], ch
add byte [0x45746547], cl
outsb dx, byte [esi]
jne 0x45d350
jb 0x45d347
je 0x45d357
jb 0x45d2ed
add byte [eax*8 + 0x80045], dl
lds eax, [ebp]
or byte [eax], al
inc ebp
add byte [eax], cl
add byte [ecx], al
or byte [eax + 0x45d3], al
add dword [eax], ecx
adc bl, 0x45
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte ss:[ecx + ecx*2 + 0x47], dh
add byte [edi], al
inc edi
je 0x45d356
je 0x45d374
insd dword es:[edi], dx
add eax, dword [eax]
dec esp
and byte [eax], al
or byte [eax], al
add cl, byte [eax]
adc bl, 0x45
add byte [eax], al
add byte [ebx + edx*2], al
push ebx
insb byte es:[edi], dx
add al, byte [eax]
add byte [eax + edx + 0x10040], bl
add eax, 0x65646e49
js 0x45d337
add byte [edx], al
add byte [ebp], al
nop
dec ecx
inc edi
add byte [edi], al
push ebx
je 0x45d38c
je 0x45d3aa
insd dword es:[edi], dx
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add ecx, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ebx], al
or byte [eax + 0x45d3], al
adc bl, 0x45
add byte [eax], al
add byte [ebx + edx*2], al
add al, 0x53
push ebx
insb byte es:[edi], dx
add al, byte [eax]
add byte [eax + edx + 0x10040], bl
add eax, 0x65646e49
js 0x45d36d
add byte [edx], cl
dec esp
and byte [eax], al
add al, byte [eax]
add eax, 0x756c6156
add al, byte gs:[eax]
push esi
popal
insb byte es:[edi], dx
jne 0x45d3de
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
add byte [ebx + edx*8 + 0x1e070045], al
push esp
dec esp
imul esi, dword [ebx + 0x74], 0x7379533c
push ebx
jns 0x45d402
je 0x45d3f6
insd dword es:[edi], dx
push esp
inc ebx
jne 0x45d40a
je 0x45d408
insd dword es:[edi], dx
inc ecx
je 0x45d411
jb 0x45d408
bound esi, qword [ebp + 0x74]
hlt
inc ebp
add byte [eax], al
add byte [ebx], bl
push ebx
jns 0x45d425
je 0x45d419
insd dword es:[edi], dx
inc edi
outsb dx, byte gs:[esi]
jb 0x45d425
arpl word [ebx + 0x2e], si
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
jae 0x45d3cb
add byte [esi], al
add byte [edx], al
or esp, edx
inc ebp
add byte [edx], al
add byte [edx], al
sub al, 0xd4
inc ebp
add byte [edx], al
add byte [edx], al
dec esp
aam 0x45
add byte [edx], al
add byte [edx], al
imul edx, esp, 0x45
add byte [edx], al
add byte [edx], al
mov edx, esp
inc ebp
add byte [edx], al
add byte [edx], al
scasb al, byte es:[edi]
aam 0x45
add byte [edx], al
add byte [edx], al
add byte [ecx], al
add byte [0x2e002d], al
add al, byte [eax]
add al, byte [eax]
add dword [eax], eax
add eax, 0x2e002d
add eax, 0x6d657449
dec ecx
je 0x45d46a
insd dword es:[edi], dx
jae 0x45d40a
add byte [eax + edx + 0x49340040], bl
adc byte [eax], al
xor al, 0x49
inc edi
add byte [ecx + ecx*2 + 0x47], al
inc esp
dec ecx
inc edi
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4308ffff], al
add byte [eax], al
add byte [eax - 0x80000000], al
invalid
popal
jo 0x45d489
arpl word [ecx + 0x74], bp
jns 0x45d3c9
adc byte [eax], al
or byte [eax], al
add bh, bh
push 0x1004749
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4305ffff], al
outsd dx, dword [esi]
jne 0x45d4b9
je 0x45d3d1
rol dword [ebp], 0x14
dec ecx
inc edi
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4c04ffff], al
imul esi, dword [ebx + 0x74], 0x45c300
xor byte [ecx + 0x47], cl
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x5005ffff], al
dec esp
imul esi, dword [ebx + 0x74], 0x45c1e4
sbb al, 0
je 0x45d46c
ret
jae 0x45d4ff
in al, 0xc1
inc ebp
add byte [eax + eax], bl
add bh, bh
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
invalid
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x4f08ffff], al
outsb dx, byte [esi]
dec esi
outsd dx, dword [esi]
je 0x45d538
jns 0x45d4d2
add byte [eax], al
int3
add bh, ah
aam 0x45
add cl, dh
aam 0x45
add ch, dl
aam 0x45
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ah, bh
aam 0x45
add byte [eax], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi + edi*4 + 0x45], ch
add byte [eax + 0xc0045d5], cl
aad 0x45
add byte [eax], al
add byte [eax], al
add byte [eax + 0x140045d5], cl
salc
add byte [eax], al
add byte [eax], al
mov ch, dl
inc ebp
add byte [esi + edx*8], dl
inc ebp
add byte [ebx - 0x1effba2b], ah
aad 0x45
add byte [eax], al
add byte [eax], al
add bh, ah
aad 0x45
add byte [eax], ah
add byte [eax], al
add ah, ch
daa
inc eax
add byte [ebx + eax*4 - 0x7c6bffc0], cl
inc eax
add byte [eax - 0x77ffbf7a], dl
xchg byte [eax], al
push 0x740040fb
sti
inc eax
add byte [eax - 0x5bffbf7a], dh
xchg byte [eax], al
mov bl, bh
inc eax
add byte [ecx + eax*4 + 0x40], ch
add byte [eax - 0x7e], bl
inc eax
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [ecx + ecx + 0xc0045], ah
add byte [eax], al
mov eax, 0x1000449a
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add eax, dword [eax]
add byte [ecx + ecx + 0xc0045], ah
add byte [eax], al
or dword [esi + 0x69], esp
outsb dx, byte [esi]
popal
insb byte es:[edi], dx
imul edi, dword [edx + 0x65], 0x272
mov eax, 0x1000449a
add byte [eax], al
add byte [0x756c6176], al
add al, byte gs:[eax]
add byte [ebx + ebp], al
inc eax
add byte [eax + eax], dl
add byte [eax], al
add al, 0x64
popal
je 0x45d640
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
and eax, 0x797a614c
dec esp
outsd dx, dword [esi]
popal
inc ecx
je 0x45d667
jb 0x45d65e
bound esi, qword [ebp + 0x74]
jae 0x45d629
dec ebp
popal
imul esp, dword [ebp + 0x43], 0x6c
outsd dx, dword [esi]
jae 0x45d679
jb 0x45d66b
and al, 0x41
arpl word [edx + edx*2 + 0x65], si
arpl word [eax], ax
add byte [eax], al
adc al, 0xd6
inc ebp
add byte [edi], al
and eax, 0x797a614c
dec esp
outsd dx, dword [esi]
popal
inc ecx
je 0x45d695
jb 0x45d68c
bound esi, qword [ebp + 0x74]
jae 0x45d657
dec ebp
popal
imul esp, dword [ebp + 0x43], 0x6c
outsd dx, dword [esi]
jae 0x45d6a7
jb 0x45d699
and al, 0x41
arpl word [edx + edx*2 + 0x65], si
arpl word [eax + 0x280045d5], cx
sub dword [eax], eax
add byte [eax], al
or edx, dword [ebx + 0x79]
jae 0x45d6be
insd dword es:[edi], dx
push edx
je 0x45d6c4
imul eax, dword [eax], 0x2000000
add byte [eax], al
add byte [ebp - 0x74aaffc0], cl
add byte [eax], al
lea eax, [eax]
push ebp
mov ebp, esp
in al, dx
add esp, 0xfffffff0
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], ecx
dec ebp
cld
mov dword [ebp - 8], edx
mov edi, eax
xor eax, eax
push ebp
push 0x45d838
push dword fs:[eax]
add byte [edi + edi*8 + 0x30], ah
mov dword fs:[eax], esp
cmp dword [edi + 0x14], 0
jne 0x45d69c
mov eax, dword [ebp - 8]
mov edx, dword [edi + 0x10]
mov ecx, dword [0x449ab8]
call fcn.0040ce48
jmp 0x45d80c
cli
invalid
add dword [eax], eax
add byte [ebx + 0x5f77e83d], al
add byte [eax], al
cmp dword [0x5f77e8], 0
jne 0x45d6b6
mov dl, 1
mov eax, dword [0x40173c]
call fcn.00408238
mov dword [0x5f77e8], eax
mov eax, dword [0x5f004c]
cmp dword [eax], 0
jne 0x45d6c7
mov al, 0x1a
call fcn.00407100
lcall 0x5f77, 0xe8a1fffa
add al, ch
pop ss
mov eax, 0xca83fffa
invalid
mov eax, dword [0x5f77e8]
call fcn.00408ee8
or edx, 0xffffffff
call fcn.00408c64
xor edx, edx
push ebp
push 0x45d805
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x45d709
mov eax, dword [ebp - 8]
mov edx, dword [edi + 0x10]
mov ecx, dword [0x449ab8]
call fcn.0040ce48
call fcn.00409808
jmp 0x45d80c
cmp word [eax], 2
jne 0x45d73a
lea eax, [edi + 0x10]
mov edx, dword [0x449ab8]
call fcn.0040ce04
xor eax, eax
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 8]
mov edx, dword [0x449ab8]
call fcn.0040ce04
call fcn.00409808
jmp 0x45d80c
mov dl, 1
mov eax, dword [0x450a38]
call fcn.00408238
mov edx, eax
test edx, edx
je 0x45d74f
sub edx, 0xffffffec
lea eax, [edi + 0xc]
call fcn.0040e7d8
lea edx, [ebp - 0x10]
mov eax, dword [edi + 0x14]
call fcn.0045bdb8
mov edx, dword [ebp - 0x10]
lea eax, [edi + 0x10]
mov ecx, dword [0x449ab8]
call fcn.0040ce48
lea eax, [ebp - 4]
mov edx, dword [edi + 0x10]
mov ecx, dword [0x449ab8]
call fcn.0040ce48
xor ebx, ebx
jmp 0x45d79d
mov eax, dword [ebp - 4]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0xc]
inc ebx
mov esi, dword [ebp - 4]
test esi, esi
je 0x45d7a9
sub esi, 4
mov esi, dword [esi]
cmp esi, ebx
jg 0x45d788
lea eax, [ebp - 4]
mov edx, dword [0x449ab8]
call fcn.0040ce04
xor eax, eax
mov dword [edi + 0x14], eax
mov eax, dword [ebp - 8]
mov edx, dword [edi + 0x10]
mov ecx, dword [0x449ab8]
call fcn.0040ce48
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45d80c
cmp dword [0x5f77e8], 0
jne 0x45d7f8
mov dl, 1
mov eax, dword [0x40173c]
call fcn.00408238
mov dword [0x5f77e8], eax
mov eax, dword [0x5f77e8]
call fcn.00408e44
pop eax
jmp eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45d83f
lea eax, [ebp - 0x10]
mov edx, dword [0x449ab8]
call fcn.0040ce04
lea eax, [ebp - 4]
mov edx, dword [0x449ab8]
call fcn.0040ce04
pop eax
jmp eax