Function at 0x41a1aa
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4a83d9
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x4d6674]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov ebx, ecx
xor esi, esi
cmp dword [ebx + 0x2180], esi
je 0x41a854
mov edi, dword [ebx + 0x1f6c]
lea eax, [esp + 0x1c]
push eax
call fcn.0040d254
push eax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x40], esi
call fcn.00463ea5
pop ecx
pop ecx
mov byte [esp + 0x38], 2
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.0040174a
mov edi, dword [ebx + 0x1f6c]
lea eax, [esp + 0x28]
push eax
call fcn.0040d630
mov edi, eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x28]
push eax
mov byte [esp + 0x40], 3
call fcn.0045fc81
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x28]
push str.g2gSetFileName
push eax
mov byte [esp + 0x48], 4
call fcn.00461ac5
add esp, 0x10
push edi
mov byte [esp + 0x3c], 5
push dword [esp + 0x18]
mov ecx, dword [ebx + 0x2180]
push eax
call fcn.00448c13
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 2
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [esp + 0x28]
push str.g2gSetFilePath
push eax
call fcn.00461ac5
pop ecx
pop ecx
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x3c], 6
mov ecx, dword [ebx + 0x2180]
push eax
call fcn.00448bc5
mov byte [esp + 0x38], 2
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
mov edi, dword [ebx + 0x1f6c]
lea eax, [esp + 0x14]
push eax
call fcn.0040d630
mov dword [esp + 0x28], eax
lea eax, [esp + 0x20]
mov byte [esp + 0x38], 7
push eax
mov edi, dword [ebx + 0x1f6c]
call fcn.0040d03c
mov edi, eax
lea eax, [esp + 0x24]
push str.g2gSetURL
push eax
mov byte [esp + 0x40], 8
call fcn.00461ac5
pop ecx
pop ecx
mov byte [esp + 0x38], 9
push dword [esp + 0x28]
mov ecx, dword [ebx + 0x2180]
push edi
push eax
call fcn.00448c13
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 2
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.0040174a
mov eax, dword [ebx + 0x1f6c]
push dword [eax + 0x104]
lea eax, [esp + 0x28]
push eax
call fcn.00461d62
mov edi, eax
lea eax, [esp + 0x30]
push str.g2gSetRunWhenDone
push eax
mov byte [esp + 0x48], 0xa
call fcn.00461ac5
add esp, 0x10
push edi
mov byte [esp + 0x3c], 0xb
mov ecx, dword [ebx + 0x2180]
push eax
call fcn.00448bc5
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 2
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [ebx + 0x2850]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00461ca8
mov edi, eax
lea eax, [esp + 0x30]
push str.g2gSetButton
push eax
mov byte [esp + 0x48], 0xc
call fcn.00461ac5
add esp, 0x10
push edi
mov byte [esp + 0x3c], 0xd
mov ecx, dword [ebx + 0x2180]
push eax
call fcn.00448bc5
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 2
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [esp + 0x24]
cmp dword [ebx + 0x1f88], esi
je 0x41a43b
push 3
push eax
call fcn.00461d62
mov edi, eax
lea eax, [esp + 0x30]
push str.g2gSetButtonCode
push eax
mov byte [esp + 0x48], 0xe
call fcn.00461ac5
add esp, 0x10
mov byte [esp + 0x38], 0xf
jmp 0x41a490
cmp dword [ebx + 0x1fa4], esi
je 0x41a46b
push 1
push eax
call fcn.00461d62
mov edi, eax
lea eax, [esp + 0x30]
push str.g2gSetButtonCode
push eax
mov byte [esp + 0x48], 0x10
call fcn.00461ac5
add esp, 0x10
mov byte [esp + 0x38], 0x11
jmp 0x41a490
push esi
push eax
call fcn.00461d62
mov edi, eax
lea eax, [esp + 0x30]
push str.g2gSetButtonCode
push eax
mov byte [esp + 0x48], 0x12
call fcn.00461ac5
add esp, 0x10
mov byte [esp + 0x38], 0x13
mov ecx, dword [ebx + 0x2180]
push edi
push eax
call fcn.00448bc5
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 2
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
mov edi, dword [ebx + 0x1f6c]
lea eax, [esp + 0x24]
push eax
call fcn.0040dd54
mov edi, eax
lea eax, [esp + 0x28]
push str.g2gSetCustom
push eax
mov byte [esp + 0x40], 0x14
call fcn.00461ac5
pop ecx
pop ecx
push edi
mov byte [esp + 0x3c], 0x15
mov ecx, dword [ebx + 0x2180]
push eax
call fcn.00448bc5
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 2
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
call fcn.0046e7df
push eax
lea ecx, [esp + 0x18]
call fcn.00401764
lea eax, [esp + 0x24]
push str.TotalFiles
push eax
mov byte [esp + 0x40], 0x16
call fcn.00461ac5
mov edi, eax
lea eax, [esp + 0x30]
push str.ToGo
push eax
mov byte [esp + 0x48], 0x17
call fcn.00461ac5
add esp, 0x10
mov byte [esp + 0x38], 0x18
mov edi, dword [edi]
mov eax, dword [eax]
push esi
push edi
mov edi, dword [ebx + 0x1f70]
push eax
call fcn.0044a7ed
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
mov edi, eax
call fcn.0040174a
mov byte [esp + 0x38], 0x16
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
mov eax, dword [ebx + 0x1f7c]
push edi
inc eax
push eax
lea eax, [esp + 0x1c]
push str.File__i_of__i
push eax
call fcn.00401a35
push edi
lea eax, [esp + 0x30]
push eax
call fcn.00461d62
mov edi, eax
mov byte [esp + 0x50], 0x19
mov eax, dword [ebx + 0x1f7c]
inc eax
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00461d62
mov dword [esp + 0x48], eax
lea eax, [esp + 0x44]
push str.g2gSetXofY
push eax
mov byte [esp + 0x60], 0x1a
call fcn.00461ac5
add esp, 0x28
push edi
mov byte [esp + 0x3c], 0x1b
push dword [esp + 0x2c]
mov ecx, dword [ebx + 0x2180]
push eax
call fcn.00448c13
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 0x16
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [esp + 0x28]
push str.g2gSetXofYText
push eax
call fcn.00461ac5
pop ecx
pop ecx
lea ecx, [esp + 0x14]
push ecx
mov byte [esp + 0x3c], 0x1c
mov ecx, dword [ebx + 0x2180]
push eax
call fcn.00448bc5
mov byte [esp + 0x38], 0x16
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
cmp dword [ebx + 0x1f88], esi
je 0x41a705
lea eax, [esp + 0x24]
push 0x64
push eax
call fcn.00461d62
mov edi, eax
lea eax, [esp + 0x30]
push str.g2gSetPercent
push eax
mov byte [esp + 0x48], 0x1d
call fcn.00461ac5
add esp, 0x10
push edi
mov byte [esp + 0x3c], 0x1e
mov ecx, dword [ebx + 0x2180]
push eax
call fcn.00448bc5
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 0x16
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [esp + 0x24]
push 0x64
push eax
call fcn.00461d62
mov edi, eax
lea eax, [esp + 0x30]
push str.g2gSetFilePercent
push eax
mov byte [esp + 0x48], 0x1f
call fcn.00461ac5
add esp, 0x10
push edi
mov byte [esp + 0x3c], 0x20
mov ecx, dword [ebx + 0x2180]
push eax
call fcn.00448bc5
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 0x16
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.0041955b
push eax
mov byte [esp + 0x3c], 0x21
call fcn.004200f7
mov byte [esp + 0x38], 0x16
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
call edi
push eax
lea eax, [esp + 0x20]
push eax
call fcn.00461d62
pop ecx
pop ecx
mov dword [esp + 0x28], eax
push esi
mov byte [esp + 0x3c], 0x22
call edi
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00461d62
mov edi, eax
lea eax, [esp + 0x2c]
push str.g2gSetScreenSize
push eax
mov byte [esp + 0x48], 0x23
call fcn.00461ac5
add esp, 0x10
mov byte [esp + 0x38], 0x24
push dword [esp + 0x28]
mov ecx, dword [ebx + 0x2180]
push edi
push eax
call fcn.00448c13
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x20]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 0x16
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.0040174a
lea eax, [esp + 0x24]
push 0x70
push eax
call fcn.00461d62
mov edi, eax
lea eax, [esp + 0x30]
push str.g2gVersion
push eax
mov byte [esp + 0x48], 0x25
call fcn.00461ac5
add esp, 0x10
push edi
mov byte [esp + 0x3c], 0x26
mov ecx, dword [ebx + 0x2180]
push eax
call fcn.00448bc5
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff0
call fcn.0040174a
mov byte [esp + 0x38], 0x16
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.0040174a
cmp dword [ebx + 0x2198], esi
jne 0x41a83c
push ecx
mov eax, esp
mov dword [esp + 0x2c], esp
push str.g2gOnLoad
push eax
call fcn.00461ac5
pop ecx
pop ecx
mov ecx, dword [ebx + 0x2180]
call fcn.00448b66
cmp eax, esi
je 0x41a83c
mov dword [ebx + 0x2198], 1
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret