Function at 0x4118b0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x57782e
mov eax, dword fs:[0]
push eax
sub esp, 0x1a0
mov eax, dword [0x60bd28]
xor eax, esp
mov dword [esp + 0x19c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x60bd28]
xor eax, esp
push eax
lea eax, [esp + 0x1b4]
mov dword fs:[0], eax
xor edi, edi
mov dword [esp + 0x14], edi
mov eax, dword [0x60e340]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [eax + ecx*4 + 0x18], edx
mov eax, dword [0x60e340]
add dword [eax + 0x10], 1
mov eax, dword [0x60e340]
mov dword [eax + 0x14], edi
mov ecx, dword [0x60e340]
mov esi, dword [ecx]
push ecx
mov edx, esp
mov dword [esp + 0x30], esp
push 0xf3
add esi, 0x11582c
push edx
mov dword [esp + 0x30], esi
call fcn.00408fe0
add esp, 8
call fcn.0040ba60
push str.___________________
call fcn.0040b400
push 0x596192
call fcn.0040b400
add esp, 0xc
cmp dword [esi], edi
mov dword [esp + 0x28], edi
jle 0x41231a
jmp 0x411968
mov edi, dword [esp + 0x28]
mov esi, ecx
lea eax, [edi + edi*4]
shl eax, 7
lea ebp, [eax + esi + 0x134]
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5969b0
call fcn.00402a30
lea ecx, [esp + 0x64]
push 0x7f
push ecx
call fcn.00409d00
mov edx, dword [eax]
add esp, 0xc
push edx
lea eax, [esp + 0xb8]
push 0x5962e8
push eax
call fcn.00540420
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
add esp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4119ce
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xb0]
push ecx
call fcn.0040b400
add esp, 4
lea ebx, [ebp + 0x80]
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5969b0
call fcn.00402a30
lea edx, [esp + 0x54]
push 0x7c
push edx
call fcn.00409d00
mov eax, dword [eax]
add esp, 0xc
push eax
lea ecx, [esp + 0xb8]
push 0x5962e8
push ecx
call fcn.00540420
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
add esp, 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411a3d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xb0]
push ecx
call fcn.0040b400
add esp, 4
lea edx, [ebp + 0x100]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x5969b0
call fcn.00402a30
lea eax, [esp + 0x70]
push 0x7d
push eax
call fcn.00409d00
mov ecx, dword [eax]
add esp, 0xc
push ecx
lea edx, [esp + 0xb8]
push 0x5962e8
push edx
call fcn.00540420
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
add esp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411aac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xb0]
push ecx
call fcn.0040b400
add edi, 0x100
add esp, 4
cmp dword [esi + 0x1413c], edi
jne 0x411c1d
cmp byte [esi + 0x14140], 0
je 0x411b35
lea edx, [esp + 0x70]
push 0xf9
push edx
call fcn.00408fe0
mov ecx, dword [eax]
add esp, 8
lea edx, [esp + 0xb0]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x411af2
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411b20
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xb0]
push ecx
call fcn.0040b400
add esp, 4
jmp 0x411c1d
lea edx, [esp + 0x6c]
push 0xfa
push edx
call fcn.00408fe0
mov ecx, dword [eax]
add esp, 8
lea edx, [esp + 0xb0]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x411b50
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411b7e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xb0]
push ecx
call fcn.0040b400
xor esi, esi
push esi
call fcn.00472050
add esp, 8
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x411ba0
sub eax, edx
je 0x411c1d
mov edi, dword [esp + 0x24]
add edi, 0x141a5
cmp esi, 0x64
jge 0x411c1d
mov edx, dword [esp + 0x24]
cmp byte [esi + edx + 0x14141], 0
jne 0x411bf7
push edi
push esi
call fcn.00472050
add esp, 4
push eax
lea eax, [esp + 0xb8]
push str._s:_s
push eax
call fcn.00540420
lea ecx, [esp + 0xc0]
push ecx
call fcn.0040b400
add esp, 0x14
add esi, 1
push esi
add edi, 0x20
call fcn.00472050
add esp, 4
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x411c10
sub eax, edx
jne 0x411bb7
push str.CloneCD
push ebp
call fcn.00540150
add esp, 8
test eax, eax
je 0x411fe6
mov eax, ebx
or edi, 0xffffffff
lea edx, [eax + 1]
jmp 0x411c40
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x411c40
sub eax, edx
je 0x411c53
movsx edi, byte [ebx]
sub edi, 0x30
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x34]
mov dword [esp + 0x1c], 0xffffffff
call fcn.00470bf0
xor esi, esi
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x9c]
mov dword [esp + 0x1c0], esi
call fcn.00470bf0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._CLONE_CD_CALC_PATH_SoftwareElaborate_Bytes
mov byte [esp + 0x1c4], 1
call fcn.00402a30
lea edx, [esp + 0x7c]
push edx
call fcn.00411540
add esp, 8
mov eax, dword [eax]
or dword [esp + 0x14], 1
push eax
push SysFreeString
lea ecx, [esp + 0x38]
mov byte [esp + 0x1c4], 2
call fcn.00470c80
test eax, eax
jne 0x411d15
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._CLONE_CD_CALC_PATH_SoftwareSlySoft
call fcn.00402a30
lea eax, [esp + 0x58]
push eax
call fcn.00411540
add esp, 8
mov eax, dword [eax]
or dword [esp + 0x14], 2
push eax
push SysFreeString
lea ecx, [esp + 0xa0]
mov dword [esp + 0x1c4], 3
call fcn.00470c80
test eax, eax
jne 0x411d15
xor bl, bl
jmp 0x411d17
mov bl, 1
test byte [esp + 0x14], 2
mov dword [esp + 0x1bc], 2
je 0x411d4e
mov eax, dword [esp + 0x54]
and dword [esp + 0x14], 0xfffffffd
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411d4e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test byte [esp + 0x14], 1
mov dword [esp + 0x1bc], 1
je 0x411d85
mov eax, dword [esp + 0x78]
and dword [esp + 0x14], 0xfffffffe
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411d85
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x411d8d
mov dword [esp + 0x18], esi
lea ecx, [esp + 0x30]
call fcn.0046f550
lea ecx, [esp + 0x98]
call fcn.0046f550
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._CLONE_CD_CALC_PATH_SoftwareSlySoftCloneCDSettings
call fcn.00402a30
lea ecx, [esp + 0x4c]
push ecx
call fcn.00411540
add esp, 8
mov eax, dword [eax]
push eax
push SysFreeString
lea ecx, [esp + 0x38]
mov byte [esp + 0x1c4], 4
call fcn.00470c80
mov esi, eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x1bc], 1
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411e03
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
je 0x411e11
lea ecx, [esp + 0x18]
push ecx
jmp 0x4120b1
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str._CLONE_CD_CALC_PATH_SoftwareElaborate_BytesCloneCDSettings
call fcn.00402a30
lea edx, [esp + 0x78]
push edx
call fcn.00411540
add esp, 8
mov eax, dword [eax]
push eax
push SysFreeString
lea ecx, [esp + 0x38]
mov byte [esp + 0x1c4], 5
call fcn.00470c80
mov esi, eax
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
mov byte [esp + 0x1bc], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411e72
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
je 0x411e85
lea ecx, [esp + 0x18]
push ecx
push str.CloneCDTrayStatus
jmp 0x4120b6
push str.SoftwareSlySoftCloneCDSettings
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x38]
call fcn.00470c80
test eax, eax
je 0x412095
cmp edi, 5
jl 0x412089
mov dword [esp + 0x18], 0
lea edx, [esp + 0x7c]
push 0x101
push edx
call fcn.00408fe0
add esp, 8
or dword [esp + 0x14], 8
mov dword [esp + 0x1bc], 7
mov esi, dword [eax]
lea eax, [esp + 0x64]
push 0xfb
push eax
call fcn.00408fe0
mov eax, dword [eax]
push esi
push eax
lea ecx, [esp + 0xc0]
push ecx
call fcn.00540420
mov eax, dword [esp + 0x78]
add eax, 0xfffffff0
add esp, 0x14
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411f18
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x14]
test bl, 8
mov dword [esp + 0x1bc], 6
je 0x411f53
mov eax, dword [esp + 0x7c]
and ebx, 0xfffffff7
add eax, 0xfffffff0
mov dword [esp + 0x14], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411f53
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, 4
mov dword [esp + 0x1bc], 1
je 0x411f8a
mov eax, dword [esp + 0x2c]
and ebx, 0xfffffffb
add eax, 0xfffffff0
mov dword [esp + 0x14], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411f8a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xb0]
push ecx
call fcn.0040b400
add esp, 4
cmp dword [esp + 0x18], 0
je 0x411fbe
push ecx
mov edx, esp
mov dword [esp + 0x24], esp
push 0xfc
push edx
call fcn.00408fe0
add esp, 8
call fcn.0040ba60
add esp, 4
lea ecx, [esp + 0x98]
mov byte [esp + 0x1bc], 0
call fcn.00470c30
lea ecx, [esp + 0x30]
mov dword [esp + 0x1bc], 0xffffffff
call fcn.00470c30
push str.Alcohol
push ebp
call fcn.00540150
add esp, 8
test eax, eax
je 0x4122f6
push 0x596192
lea ecx, [esp + 0x20]
call fcn.00402a30
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [esp + 0x84]
mov dword [esp + 0x1c0], 8
or edi, 0xffffffff
call fcn.00470bf0
push str.S_1_5_21_3286890340_329096812_1702366270_1165SoftwareAlcohol_SoftAlcohol_120_Basic
push SysFreeString
lea ecx, [esp + 0x88]
mov byte [esp + 0x1c4], 9
call fcn.00470c80
test eax, eax
lea ecx, [esp + 0x80]
je 0x412101
lea eax, [esp + 0x1c]
push eax
push str.Emulation_special_setting
call fcn.00470cf0
mov eax, dword [esp + 0x1c]
cmp dword [eax - 0xc], 0
je 0x412173
push eax
call fcn.00541939
mov edi, eax
sar edi, 7
add esp, 4
and edi, 1
jmp 0x412173
lea edx, [esp + 0x18]
push edx
push str.CloneCDTray
jmp 0x4120b6
push str.SoftwareElaborate_BytesCloneCDSettings
push SysFreeString
lea ecx, [esp + 0x38]
call fcn.00470c80
test eax, eax
je 0x4120c8
lea eax, [esp + 0x18]
push eax
push str.Traystatus
lea ecx, [esp + 0x38]
call fcn.0046fcb0
lea ecx, [esp + 0x30]
call fcn.0046f550
mov eax, dword [esp + 0x18]
test eax, eax
je 0x411eb1
cmp eax, 1
jne 0x411fbe
lea ecx, [esp + 0x2c]
push 0x100
push ecx
call fcn.00408fe0
add esp, 8
or dword [esp + 0x14], 4
mov byte [esp + 0x1bc], 6
jmp 0x411ed3
push str.SoftwareAlcohol_SoftAlcohol_120_Basic
push SysFreeString
call fcn.00470c80
test eax, eax
je 0x412125
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x84]
jmp 0x41205b
push str.SoftwareAlcohol_SoftAlcohol_120_Basic
push SysFreeString
lea ecx, [esp + 0x88]
call fcn.00470c80
test eax, eax
je 0x4122b7
lea edx, [esp + 0x1c]
push edx
push str.Disable_Ignore_Media_Type
lea ecx, [esp + 0x88]
call fcn.00470cf0
mov eax, dword [esp + 0x1c]
cmp dword [eax - 0xc], 0
je 0x412173
push eax
call fcn.00541939
mov edi, 1
add esp, 4
sub edi, eax
lea ecx, [esp + 0x80]
call fcn.0046f550
test edi, edi
je 0x4121ad
cmp edi, 1
jne 0x4122b7
lea eax, [esp + 0x60]
push 0x100
push eax
call fcn.00408fe0
add esp, 8
or dword [esp + 0x14], 0x10
mov byte [esp + 0x1bc], 0xa
jmp 0x4121cf
lea ecx, [esp + 0x58]
push 0x101
push ecx
call fcn.00408fe0
add esp, 8
or dword [esp + 0x14], 0x20
mov dword [esp + 0x1bc], 0xb
mov esi, dword [eax]
lea edx, [esp + 0x50]
push 0xff
push edx
call fcn.00408fe0
mov eax, dword [eax]
push esi
push eax
lea eax, [esp + 0xc0]
push eax
call fcn.00540420
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
add esp, 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412214
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x14]
test bl, 0x20
mov dword [esp + 0x1bc], 0xa
je 0x41224f
mov eax, dword [esp + 0x58]
and ebx, 0xffffffdf
add eax, 0xfffffff0
mov dword [esp + 0x14], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41224f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, 0x10
mov dword [esp + 0x1bc], 9
je 0x412286
mov eax, dword [esp + 0x60]
and ebx, 0xffffffef
add eax, 0xfffffff0
mov dword [esp + 0x14], ebx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412286
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xb0]
push ecx
call fcn.0040b400
add esp, 4
test edi, edi
je 0x4122b7
push ecx
mov edx, esp
mov dword [esp + 0x24], esp
push 0xfc
push edx
call fcn.00408fe0
add esp, 8
call fcn.0040ba60
add esp, 4
lea ecx, [esp + 0x80]
mov byte [esp + 0x1bc], 8
call fcn.00470c30
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov dword [esp + 0x1bc], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4122f6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x596192
call fcn.0040b400
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add eax, 1
add esp, 4
cmp eax, dword [ecx]
mov dword [esp + 0x28], eax
jl 0x411962
mov ecx, dword [esp + 0x1b4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x19c]
xor ecx, esp
call fcn.0053fab2
add esp, 0x1ac
ret