Function at 0x10003b40
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x10053238
push eax
mov dword fs:[0], esp
sub esp, 0xa0
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0xb4]
lea eax, [edi + edi*8]
shl eax, 3
push eax
call fcn.100315a4
xor ebp, ebp
add esp, 4
cmp eax, ebp
je 0x10003bed
lea edx, [edi - 1]
cmp edx, ebp
jl 0x10003be7
lea ecx, [eax + 0x28]
inc edx
jmp 0x10003b90
fld qword [0x1005ec08]
add ecx, 0x48
dec edx
fstp qword [ecx - 0x70]
fld qword [0x1005ec08]
fstp qword [ecx - 0x68]
fld qword [0x1005ec08]
fstp qword [ecx - 0x60]
fld qword [0x1005ec08]
fstp qword [ecx - 0x58]
fld qword [0x1005ec08]
fstp qword [ecx - 0x50]
fld qword [0x1005ec08]
fstp qword [ecx - 0x48]
fld qword [0x1005ec08]
fstp qword [ecx - 0x40]
fld qword [0x1005ec08]
fstp qword [ecx - 0x38]
fld qword [0x1005ec08]
fstp qword [ecx - 0x30]
jne 0x10003b90
mov dword [esp + 0x18], eax
jmp 0x10003bf1
mov dword [esp + 0x18], ebp
mov eax, dword [esi + 0xb4]
lea ecx, [eax*4]
push ecx
call fcn.1001aa0c
mov edi, eax
mov eax, dword [esi + 0xb4]
add esp, 4
cmp eax, ebp
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], ebp
jle 0x10003da1
mov edi, dword [esp + 0x18]
add edi, 0x28
jmp 0x10003c30
mov edx, dword [esi + 0xbc]
mov eax, dword [edx + ebp]
mov ecx, dword [esi + 0xb8]
lea eax, [eax + eax*2]
fld qword [ecx + eax*8]
lea eax, [ecx + eax*8]
fld qword [eax + 8]
sub esp, 0x18
fld qword [eax + 0x10]
mov eax, esp
fstp qword [esp + 0x5c]
lea edx, [esp + 0x7c]
fxch st(1)
mov dword [esp + 0x38], esp
fstp qword [eax]
push edx
fstp qword [eax + 8]
fld qword [esp + 0x60]
fstp qword [eax + 0x10]
mov eax, esi
call fcn.10003e70
fld qword [eax]
fstp qword [edi - 0x28]
sub esp, 0x18
fld qword [eax + 8]
mov dword [esp + 0x38], esp
fstp qword [edi - 0x20]
fld qword [eax + 0x10]
fstp qword [edi - 0x18]
mov eax, dword [esi + 0xbc]
mov eax, dword [eax + ebp + 4]
mov edx, dword [esi + 0xb8]
lea ecx, [eax + eax*2]
fld qword [edx + ecx*8]
lea eax, [edx + ecx*8]
fld qword [eax + 8]
fld qword [eax + 0x10]
mov eax, esp
fstp qword [esp + 0x5c]
fxch st(1)
fstp qword [eax]
fstp qword [eax + 8]
fld qword [esp + 0x5c]
fstp qword [eax + 0x10]
lea eax, [esp + 0x94]
push eax
mov eax, esi
call fcn.10003e70
fld qword [eax]
fstp qword [edi - 0x10]
sub esp, 0x18
fld qword [eax + 8]
mov dword [esp + 0x38], esp
fstp qword [edi - 8]
fld qword [eax + 0x10]
fstp qword [edi]
mov ecx, dword [esi + 0xbc]
mov eax, dword [ecx + ebp + 8]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0xb8]
fld qword [eax + edx*8]
lea eax, [eax + edx*8]
fld qword [eax + 8]
lea ecx, [esp + 0xac]
fld qword [eax + 0x10]
mov eax, esp
fstp qword [esp + 0x5c]
push ecx
fxch st(1)
fstp qword [eax]
fstp qword [eax + 8]
fld qword [esp + 0x60]
fstp qword [eax + 0x10]
mov eax, esi
call fcn.10003e70
fld qword [eax]
fstp qword [edi + 8]
fld qword [eax + 8]
fstp qword [edi + 0x10]
fld qword [eax + 0x10]
fstp qword [edi + 0x18]
call fcn.1001a90a
cdq
mov ecx, 0x9c
idiv ecx
xor ebx, ebx
add dl, 0x64
mov bh, dl
call fcn.1001a90a
cdq
mov ecx, 0x9c
idiv ecx
add dl, 0x64
mov bl, dl
shl ebx, 8
call fcn.1001a90a
cdq
mov ecx, 0x9c
idiv ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add ebp, 0xc
add edi, 0x48
add dl, 0x64
movzx edx, dl
or ebx, edx
mov dword [ecx + eax*4], ebx
mov ecx, dword [esi + 0xb4]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x10003c30
mov edi, dword [esp + 0x14]
xor ebp, ebp
push esi
lea ecx, [esp + 0x54]
call fcn.1003bfc4
mov dword [esp + 0xb8], ebp
mov edx, dword [esp + 0x54]
push edx
call dword [sym.imp.USER32.dll_WindowFromDC]
push eax
call fcn.10034e45
mov edx, dword [eax + 0x1c]
lea ecx, [esp + 0x24]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esi + 0xa8]
cmp eax, ebp
jne 0x10003de2
mov dword [esp + 0x14], ebp
jmp 0x10003de9
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov esi, dword [esi + 0xb4]
sub ebx, edx
mov edx, dword [eax + 8]
push edx
sub ebp, ecx
call dword [sym.imp.GDI32.dll_GetBkColor]
push eax
mov eax, dword [esp + 0x18]
push eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2c]
push edi
push esi
call fcn.10009120
add esp, 0x1c
push esi
call fcn.100315a9
add esp, 4
push edi
call fcn.1001aa1e
add esp, 4
lea ecx, [esp + 0x50]
mov dword [esp + 0xb8], 0xffffffff
call fcn.1003c01f
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xac
ret