Function at 0x4b1320
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff8c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4b1c86
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4b1c6b
mov eax, dword [ebp - 4]
call fcn.004b2680
xor eax, eax
push ebp
push 0x4b1c59
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.004b2650
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call sub.rtl120.bpl__Classes_Rect_qqriiii
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x54]
mov eax, dword [0x807284]
call sub.rtl120.bpl__System_LoadResString_qqrp20System_TResStringRec
mov eax, dword [ebp - 0x54]
push eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call sub.rtl120.bpl__System__CallDynaInst_qqrv
xor eax, eax
push ebp
push 0x4b1c3c
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x10], eax
test byte [ebp - 5], 8
je 0x4b149f
mov eax, dword [ebp - 4]
call fcn.004b2e68
cmp dword [eax + 8], 0
jle 0x4b140f
mov eax, dword [ebp - 4]
call fcn.004b2e68
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
mov edi, eax
dec edi
test edi, edi
jl 0x4b149f
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x20]
cmp dword [eax + 8], 0
jle 0x4b149b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x20]
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call sub.rtl120.bpl__Classes_Rect_qqriiii
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x58]
mov eax, dword [0x807284]
call sub.rtl120.bpl__System_LoadResString_qqrp20System_TResStringRec
mov eax, dword [ebp - 0x58]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call sub.rtl120.bpl__System__CallDynaInst_qqrv
inc ebx
dec edi
jne 0x4b1424
test byte [ebp - 5], 4
je 0x4b16b3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
mov edi, eax
dec edi
test edi, edi
jl 0x4b1589
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
call fcn.004ad1f0
test al, al
je 0x4b1581
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x34]
call fcn.004af78c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x18]
pop edx
pop ecx
call fcn.004b1308
test al, al
jne 0x4b1581
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004af768
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call sub.rtl120.bpl__Classes_Rect_qqriiii
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x5c]
mov eax, dword [0x807284]
call sub.rtl120.bpl__System_LoadResString_qqrp20System_TResStringRec
mov eax, dword [ebp - 0x5c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call sub.rtl120.bpl__System__CallDynaInst_qqrv
inc ebx
dec edi
jne 0x4b14c2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
mov edi, eax
sub edi, 2
test edi, edi
jl 0x4b16c3
inc edi
xor ebx, ebx
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
cmp dword [eax + 0x34], 0
je 0x4b16a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x34]
call fcn.004af884
add al, 0xfe
sub al, 2
jae 0x4b16a9
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004b034c
call fcn.004ad1f0
test al, al
jne 0x4b16a9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
lea edx, [ebp - 0x20]
call fcn.004acf20
lea edx, [ebx + 1]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004b034c
lea edx, [ebp - 0x30]
call fcn.004acf20
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x40]
push eax
call sub.user32.dll_IntersectRect
test eax, eax
je 0x4b16a9
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x40]
push eax
call sub.user32.dll_EqualRect
test eax, eax
je 0x4b1660
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004af894
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call sub.rtl120.bpl__Classes_Rect_qqriiii
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [0x807284]
call sub.rtl120.bpl__System_LoadResString_qqrp20System_TResStringRec
mov eax, dword [ebp - 0x60]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call sub.rtl120.bpl__System__CallDynaInst_qqrv
inc ebx
dec edi
jne 0x4b15a4
jmp 0x4b16c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
add eax, eax
add dword [ebp - 0xc], eax
test byte [ebp - 5], 2
je 0x4b1796
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
mov ebx, eax
dec ebx
cmp ebx, 1
jl 0x4b17a4
inc dword [ebp - 0xc]
mov esi, ebx
dec esi
jmp 0x4b16ed
dec esi
test esi, esi
jle 0x4b171d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004b034c
cmp dword [eax + 0x34], 0
je 0x4b171d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004b034c
mov eax, dword [eax + 0x34]
call fcn.004af884
cmp al, 3
je 0x4b16ec
test esi, esi
jl 0x4b1742
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004b034c
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
pop edx
call fcn.004aef24
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call sub.rtl120.bpl__Classes_Rect_qqriiii
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x64]
mov eax, dword [0x807284]
call sub.rtl120.bpl__System_LoadResString_qqrp20System_TResStringRec
mov eax, dword [ebp - 0x64]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call sub.rtl120.bpl__System__CallDynaInst_qqrv
dec ebx
test ebx, ebx
jne 0x4b16e4
jmp 0x4b17a4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x4b1957
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4b190e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x30]
call fcn.004a5504
mov esi, eax
dec esi
cmp esi, 0
jl 0x4b18c3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004abf50
mov edx, dword [0x4a4704]
call sub.rtl120.bpl__System__IsClass_qqrp14System_TObjectp17System_TMetaClass
test al, al
jne 0x4b18a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004abf50
mov edx, dword [0x4a4644]
call sub.rtl120.bpl__System__IsClass_qqrp14System_TObjectp17System_TMetaClass
test al, al
jne 0x4b18a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004abf50
mov edx, dword [0x4a4908]
call sub.rtl120.bpl__System__IsClass_qqrp14System_TObjectp17System_TMetaClass
test al, al
jne 0x4b18a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004abf50
mov edx, dword [0x4a49d8]
call sub.rtl120.bpl__System__IsClass_qqrp14System_TObjectp17System_TMetaClass
test al, al
je 0x4b18b9
test ebx, ebx
jg 0x4b18a2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
dec eax
jne 0x4b18b9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x30]
mov edx, esi
call fcn.004a554c
dec esi
cmp esi, 0xffffffff
jne 0x4b17f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
call fcn.004ac274
test al, al
je 0x4b1904
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x30]
call fcn.004a5504
test eax, eax
jne 0x4b1904
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
call sub.rtl120.bpl__System_TObject_Free_qqrv
dec ebx
cmp ebx, 0xffffffff
jne 0x4b17d3
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call sub.rtl120.bpl__Classes_Rect_qqriiii
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [0x807284]
call sub.rtl120.bpl__System_LoadResString_qqrp20System_TResStringRec
mov eax, dword [ebp - 0x68]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call sub.rtl120.bpl__System__CallDynaInst_qqrv
test byte [ebp - 5], 1
je 0x4b1a9e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4b1aac
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
call fcn.004ac274
test al, al
jne 0x4b1a92
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
call fcn.004ad1f0
test al, al
je 0x4b1a92
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x34]
call fcn.004af868
movzx esi, ax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
call fcn.004aeb6c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
call fcn.004ac274
test al, al
je 0x4b1a49
test ebx, ebx
jle 0x4b1a3c
mov edx, ebx
dec edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004b034c
call fcn.004ad1f0
test al, al
je 0x4b1a3c
mov edi, ebx
dec edi
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004b034c
mov eax, dword [eax + 0x34]
call fcn.004af868
add ax, si
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004b034c
mov eax, dword [eax + 0x34]
pop edx
call fcn.004af870
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004a554c
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call sub.rtl120.bpl__Classes_Rect_qqriiii
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [0x807284]
call sub.rtl120.bpl__System_LoadResString_qqrp20System_TResStringRec
mov eax, dword [ebp - 0x6c]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call sub.rtl120.bpl__System__CallDynaInst_qqrv
dec ebx
cmp ebx, 0xffffffff
jne 0x4b1978
jmp 0x4b1aac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
add dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
add dword [ebp - 0xc], eax
test byte [ebp - 5], 4
je 0x4b1be2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
mov ebx, eax
dec ebx
cmp ebx, 0
jl 0x4b1b99
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
cmp dword [eax + 0x34], 0
je 0x4b1b4e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov esi, dword [eax + 0x34]
mov eax, esi
call fcn.004af868
test ax, ax
je 0x4b1b18
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
dec eax
jne 0x4b1b4e
mov eax, esi
call fcn.004af75c
test al, al
jne 0x4b1b4e
mov eax, esi
call fcn.004af878
test al, al
jne 0x4b1b4e
mov eax, esi
call fcn.004af884
sub al, 2
jb 0x4b1b47
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.004a5504
dec eax
jne 0x4b1b4e
mov eax, esi
call sub.rtl120.bpl__System_TObject_Free_qqrv
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
call fcn.004ac274
test al, al
je 0x4b1b8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
mov eax, dword [eax + 0x30]
call fcn.004a5504
test eax, eax
jne 0x4b1b8f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, ebx
call fcn.004b034c
call sub.rtl120.bpl__System_TObject_Free_qqrv
dec ebx
cmp ebx, 0xffffffff
jne 0x4b1adb
mov eax, dword [ebp - 0x10]
push eax
push 0x64
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_MulDiv
push eax
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call sub.rtl120.bpl__Classes_Rect_qqriiii
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [0x807284]
call sub.rtl120.bpl__System_LoadResString_qqrp20System_TResStringRec
mov eax, dword [ebp - 0x70]
push eax
mov cl, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call sub.rtl120.bpl__System__CallDynaInst_qqrv
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b1c43
call sub.rtl120.bpl__System_ExceptObject_qqrv
test eax, eax
jne 0x4b1bff
mov ebx, 0x64
jmp 0x4b1c01
xor ebx, ebx
push ebx
push 0
push 0
lea eax, [ebp - 0x50]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call sub.rtl120.bpl__Classes_Rect_qqriiii
lea eax, [ebp - 0x50]
push eax
lea edx, [ebp - 0x74]
mov eax, dword [0x807284]
call sub.rtl120.bpl__System_LoadResString_qqrp20System_TResStringRec
mov eax, dword [ebp - 0x74]
push eax
mov cl, 2
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov si, 0xfffd
call sub.rtl120.bpl__System__CallDynaInst_qqrv
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b1c8d
lea eax, [ebp - 0x74]
mov edx, 9
call sub.rtl120.bpl__System__UStrArrayClr_qqrpvi
ret