Function at 0x4353e8
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x48f0f6
mov eax, dword fs:[0]
push eax
sub esp, 0x110
mov eax, dword [0x4bb760]
xor eax, esp
mov dword [esp + 0x108], eax
push ebx
push esi
push edi
mov eax, dword [0x4bb760]
xor eax, esp
push eax
lea eax, [esp + 0x120]
mov dword fs:[0], eax
mov ebx, ecx
and dword [esp + 0x18], 0
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
call esi
imul eax, eax, 0x64
xor edx, edx
push 1
div dword [ebx + 0x3e4]
mov edi, eax
mov eax, dword [ebx + 0x3e0]
mov dword [esp + 0x18], eax
call esi
imul eax, eax, 0x64
xor edx, edx
mov ecx, dword [ebx + 0x3e8]
div dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x1c], eax
sub ecx, edx
je 0x435486
dec ecx
jne 0x4354c0
push edx
push eax
push edi
push 1
call esi
sub eax, dword [esp + 0x28]
shr eax, 1
push eax
push 0
call esi
sub eax, edi
jmp 0x4354a8
push edx
push dword [esp + 0x18]
push dword [ebx + 0x3e4]
push 1
call esi
sub eax, dword [ebx + 0x3e0]
shr eax, 1
push eax
push 0
call esi
sub eax, dword [ebx + 0x3e4]
shr eax, 1
mov ecx, ebx
push eax
call fcn.004466eb
lea eax, [esp + 0x2c]
push eax
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebx + 0x98]
lea eax, [esp + 0x3c]
push eax
call fcn.0042cec6
and dword [esp + 0x128], 0
mov ecx, 0x26c
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x3c]
cdq
idiv ecx
test eax, eax
je 0x43551e
mov ecx, dword [ebx + 0x98]
lea eax, [esp + 0x20]
push 1
push eax
call fcn.0040c4f0
mov ecx, eax
mov dword [esp + 0x18], 1
mov byte [esp + 0x13], 1
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
mov ecx, 0xd0
cdq
idiv ecx
test eax, eax
jne 0x435523
mov byte [esp + 0x13], 0
test byte [esp + 0x18], 1
je 0x435533
lea ecx, [esp + 0x20]
call fcn.004051ae
mov ecx, dword [0x4c294c]
cmp byte [esp + 0x13], 0
mov eax, dword [esp + 0x34]
push 0x14
pop edi
cmovne ecx, edi
sub eax, dword [esp + 0x2c]
xor edx, edx
mov dword [0x4c294c], ecx
sub ecx, dword [esp + 0x30]
add ecx, dword [esp + 0x38]
push edx
push edx
push eax
push ecx
push edx
lea ecx, [ebx + 0x338]
call fcn.004466eb
mov edx, dword [0x4c294c]
lea esi, [ebx + 0x2c4]
mov eax, dword [esp + 0x38]
mov ecx, esi
sub edx, dword [esp + 0x30]
add eax, 0xffffffe8
push 1
push 0x18
push 0x12c
add eax, edx
push eax
push 2
call fcn.004466eb
mov ecx, esi
call fcn.00434969
lea ecx, [esp + 0xb4]
push ecx
push 0x5c
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_GetObjectW]
lea eax, [esp + 0xb4]
mov dword [esp + 0xb4], edi
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
push 0
push edi
push 0x30
push dword [ebx + 0x2e4]
call esi
mov ecx, dword [0x4c294c]
mov edx, 0x12c
mov eax, dword [esp + 0x38]
sub ecx, dword [esp + 0x30]
add eax, 0xffffffe8
push 1
push 0x18
add eax, ecx
lea ecx, [ebx + 0x250]
push edx
push eax
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x3c]
sub eax, edx
push eax
call fcn.004466eb
push 0
push edi
push 0x30
push dword [ebx + 0x270]
call esi
mov eax, dword [esp + 0x38]
mov ecx, ebx
sub eax, dword [esp + 0x30]
add eax, 0x1e
push eax
call fcn.00435ab1
lea ecx, [esp + 0x3c]
call fcn.004045c4
mov ecx, dword [esp + 0x120]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x108]
xor ecx, esp
call fcn.004697c7
mov esp, ebp
pop ebp
ret