Function at 0x4036f0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x777628
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x84dfc0]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov eax, dword [0x84dfc0]
xor eax, esp
push eax
lea eax, [esp + 0x74]
mov dword fs:[0], eax
mov edi, ecx
xor ebx, ebx
mov dword [edi], ebx
mov dword [edi + 4], 0xff
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
mov byte [edi + 0x18], bl
mov byte [edi + 0x3c], bl
mov byte [edi + 0x3d], bl
mov dword [edi + 0x40], vtable.DuiLib::CShadowUI.0
mov dword [edi + 0x48], ebx
mov dword [edi + 0x4c], ebx
mov byte [edi + 0x50], bl
mov byte [edi + 0x51], bl
mov byte [edi + 0x52], bl
mov byte [edi + 0x53], 0x96
mov byte [edi + 0x54], 5
mov byte [edi + 0x55], bl
mov byte [edi + 0x56], bl
mov byte [edi + 0x57], bl
mov dword [edi + 0x58], ebx
mov byte [edi + 0x5c], bl
mov dword [edi + 0x60], ebx
lea eax, [edi + 0x68]
mov dword [edi + 0x64], eax
xor ecx, ecx
mov word [eax], cx
xor eax, eax
mov dword [edi + 0xe8], eax
mov dword [edi + 0xec], eax
mov dword [edi + 0xf0], eax
mov dword [esp + 0x10], edi
mov dword [edi + 0xf4], eax
mov dword [esp + 0x7c], ebx
mov byte [edi + 0x108], bl
mov byte [edi + 0x109], bl
mov dword [edi + 0x10c], ebx
mov dword [edi + 0x110], ebx
mov dword [edi + 0x144], ebx
mov dword [edi + 0x148], ebx
mov dword [edi + 0x14c], ebx
mov dword [edi + 0x150], ebx
mov dword [edi + 0x154], ebx
mov dword [edi + 0x1a0], 0x1000
mov byte [edi + 0x1a4], 1
mov byte [edi + 0x1a5], bl
mov byte [edi + 0x1a6], bl
mov byte [edi + 0x1a7], bl
mov byte [edi + 0x1a8], bl
mov byte [edi + 0x1a9], bl
mov dword [edi + 0x1ac], ebx
mov dword [edi + 0x1b0], ebx
mov dword [edi + 0x1b4], ebx
mov dword [edi + 0x1b8], ebx
mov dword [edi + 0x1bc], ebx
mov dword [edi + 0x1c0], ebx
mov dword [edi + 0x1c4], ebx
mov dword [edi + 0x1c8], ebx
mov dword [edi + 0x1cc], ebx
mov dword [edi + 0x1d0], ebx
mov dword [edi + 0x1d4], ebx
mov dword [edi + 0x1d8], ebx
mov dword [edi + 0x1dc], ebx
mov dword [edi + 0x1e0], ebx
mov dword [edi + 0x1e4], ebx
mov dword [edi + 0x1e8], ebx
mov dword [edi + 0x1ec], ebx
mov dword [edi + 0x1f0], ebx
mov dword [edi + 0x1f4], ebx
mov dword [edi + 0x1f8], ebx
mov dword [edi + 0x1fc], ebx
mov dword [edi + 0x200], ebx
mov dword [edi + 0x204], ebx
mov dword [edi + 0x208], ebx
mov esi, 0x53
mov eax, esi
mov edx, 4
mul edx
seto cl
mov byte [esp + 0x7c], 8
mov dword [edi + 0x214], ebx
mov dword [edi + 0x210], esi
neg ecx
or ecx, eax
push ecx
call fcn.00481e79
push 0x14c
push ebx
push eax
mov dword [edi + 0x20c], eax
call fcn.0048d310
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
mov byte [esp + 0x8c], 9
mov dword [edi + 0x220], ebx
mov dword [edi + 0x21c], esi
neg ecx
or ecx, eax
push ecx
call fcn.00481e79
push 0x14c
push ebx
push eax
mov dword [edi + 0x218], eax
call fcn.0048d310
lea eax, [edi + 0x244]
mov dword [edi + 0x224], ebx
xor ecx, ecx
mov dword [edi + 0x240], eax
mov word [eax], cx
mov dword [edi + 0x308], ebx
mov dword [edi + 0x30c], ebx
mov dword [edi + 0x310], ebx
mov eax, esi
mov edx, 4
mul edx
seto cl
mov byte [esp + 0x9c], 0xc
mov dword [edi + 0x31c], ebx
mov dword [edi + 0x318], esi
neg ecx
or ecx, eax
push ecx
call fcn.00481e79
push 0x14c
push ebx
push eax
mov dword [edi + 0x314], eax
call fcn.0048d310
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
mov byte [esp + 0xac], 0xd
mov dword [edi + 0x328], ebx
mov dword [edi + 0x324], esi
neg ecx
or ecx, eax
push ecx
call fcn.00481e79
mov dword [edi + 0x320], eax
push 0x14c
push ebx
push eax
call fcn.0048d310
add esp, 0x40
push 0x58
mov dword [edi + 0x32c], ebx
mov dword [edi + 0x330], ebx
mov dword [edi + 0x334], ebx
lea eax, [esp + 0x1c]
push ebx
push eax
mov dword [edi + 0x228], 0xffa7a6aa
mov dword [edi + 0x22c], 0xff000001
mov dword [edi + 0x230], 0xff0000ff
mov dword [edi + 0x234], 0xffd3215f
mov dword [edi + 0x238], 0xffbae4ff
mov dword [esp + 0x20], ebx
call fcn.0048d310
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
push 0x5c
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call dword [sym.imp.GDI32.dll_GetObjectW]
mov esi, dword [0x85f510]
mov eax, esi
mov byte [esp + 0x2b], 1
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x403a35
sub eax, ecx
sar eax, 1
cmp eax, ebx
jle 0x403a58
push esi
lea edx, [esp + 0x34]
push 0x20
push edx
call fcn.00492814
add esp, 0xc
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push 0xffffffffffffffff
lea ecx, [esp + 0x34]
push ecx
lea esi, [edi + 0x240]
mov dword [edi + 0x23c], eax
call fcn.00401410
mov edx, dword [esp + 0x14]
neg edx
cmp dword [esp + 0x24], 0x2bc
push 0x3c
setge al
cmp byte [esp + 0x2d], 1
mov byte [edi + 0x2c8], al
sete cl
cmp byte [esp + 0x2c], 1
mov dword [edi + 0x2c4], edx
lea eax, [edi + 0x2cc]
sete dl
push ebx
push eax
mov byte [edi + 0x2c9], cl
mov byte [edi + 0x2ca], dl
call fcn.0048d310
add esp, 0xc
cmp dword [0x86907c], ebx
jne 0x403af2
push 0xdc
push 1
push ebx
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [0x86907c], eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push str.msimg32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [edi + 0x160], ebx
mov dword [edi + 0x164], ebx
mov dword [edi + 0x168], ebx
mov dword [edi + 0x16c], ebx
mov dword [edi + 0x170], ebx
mov dword [edi + 0x174], ebx
mov dword [edi + 0x18c], ebx
mov dword [edi + 0x188], ebx
xor eax, eax
mov dword [edi + 0x178], eax
mov dword [edi + 0x17c], eax
mov dword [edi + 0x180], eax
mov dword [edi + 0x184], eax
mov dword [edi + 0x190], eax
mov dword [edi + 0x194], eax
mov dword [edi + 0x198], eax
mov dword [edi + 0x19c], eax
mov dword [edi + 0xf8], eax
mov dword [edi + 0xfc], eax
mov dword [edi + 0x100], eax
mov dword [edi + 0x104], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], eax
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], ebx
mov dword [edi + 0x30], ebx
mov dword [edi + 0x34], ebx
mov dword [edi + 0x38], ebx
mov dword [edi + 0x15c], 0xffffffff
mov dword [edi + 0x158], 0xffffffff
mov eax, edi
mov ecx, dword [esp + 0x74]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0048d1f2
add esp, 0x70
ret