Function at 0x1002ed4
Capabilities:
Get number of processors

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x64
cmp word [0x10382f8], 0
push ebx
push esi
push edi
jne 0x1002f1a
push 1
call fcn.01002f2e
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push esi
push ebx
call fcn.01002bf2
test eax, eax
je 0x100e8c1
push esi
push ebx
call fcn.01002c10
push 0
call fcn.01002f2e
pop edi
pop esi
pop ebx
leave
ret 8
test byte [0x10382f8], 2
jne 0x100ecd8
jmp 0x1002f13
movzx ecx, word [esi + 2]
movsx edi, word [ebx + 0xa]
mov ax, cx
sub ax, word [ebx + 0xe]
movsx edx, cx
mov word [ebp - 2], ax
mov ax, word [esi]
sub ax, word [ebx + 0xc]
mov word [ebp - 4], ax
movsx eax, word [ebx + 0x44]
add eax, edx
cdq
idiv edi
movzx eax, dx
mov dword [ebp - 0x10], eax
xor eax, eax
cmp cx, word [esi + 6]
mov ecx, dword [0x1038030]
sete al
add ecx, 0x300000
mov dword [ebp - 0x2c], eax
mov eax, dword fs:[0x18]
movsx edx, word [ebx + 8]
mov eax, dword [eax + 0x30]
lea edx, [edx + edx + 2]
push edx
push ecx
push dword [eax + 0x18]
call dword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x100e950
mov esi, dword [sym.imp.ntdll.dll_DbgPrintEx]
push 0x100ece8
push 1
push 0x70
call esi
push 0x100aa2c
push 1
push 0x70
call esi
add esp, 0x18
jmp 0x1002f13
movsx eax, word [esi + 2]
movsx ecx, word [esi + 6]
cmp eax, ecx
mov dword [ebp - 0x20], eax
jg 0x100ecb1
movsx edi, word [ebp - 0x10]
imul edi, edi, 0x1c
add edi, dword [ebx + 0x3c]
xor ecx, ecx
inc ecx
mov dword [ebp - 0x28], edi
cmp word [edi + 0x10], cx
jne 0x100e98b
movzx edx, word [ebx + 8]
mov eax, dword [edi + 0x18]
mov dword [ebp - 8], eax
mov dword [ebp + 8], edx
mov dword [ebp - 0x1c], ecx
jmp 0x100e9a6
and dword [ebp - 0x1c], 0
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 8]
push eax
movzx eax, word [esi]
push eax
push dword [edi + 0x18]
call fcn.010042b9
mov eax, dword [ebp - 8]
mov cx, word [0x10382c8]
cmp cx, word [eax + 2]
je 0x100e9fb
movzx eax, byte [eax + 2]
and eax, 0xf
push dword [eax*4 + 0x1038348]
push dword [0x1038268]
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [ebp - 8]
movzx eax, word [eax + 2]
shr ax, 4
and eax, 0xf
push dword [eax*4 + 0x1038348]
push dword [0x1038268]
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
mov word [0x10382c8], ax
mov eax, dword [ebx + 0x74]
movsx ecx, word [ebp - 2]
movsx edx, word [esi]
shr eax, 0x10
cwde
imul eax, ecx
mov ecx, dword [ebx + 0x74]
shr ecx, 0x10
movsx ecx, cx
add ecx, eax
mov dword [ebp - 0x38], eax
movzx eax, word [esi + 4]
mov dword [ebp - 0x30], ecx
movsx ecx, ax
cmp edx, ecx
mov dword [ebp - 0xc], edx
jle 0x100ea36
jmp 0x100ec81
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x28]
sub eax, edx
inc eax
cmp word [ebp + 8], ax
jle 0x100ea45
movzx eax, ax
mov dword [ebp + 8], eax
test byte [ebx + 0x68], 1
je 0x100eb33
cmp dword [ebp - 0x1c], 0
je 0x100eb33
movzx eax, word [edi + 6]
cmp ax, 0xffff
je 0x100ea93
movzx esi, word [edi + 4]
cmp si, ax
movsx ecx, si
jl 0x100ea72
movsx ecx, ax
cmp ecx, edx
jle 0x100ea83
cmp si, ax
jge 0x100ea80
movsx eax, si
jmp 0x100ea85
cwde
jmp 0x100ea85
mov eax, edx
movsx esi, word [ebx + 0xc]
mov ecx, dword [ebx + 0x74]
sub eax, esi
movsx ecx, cx
jmp 0x100ea9b
movsx eax, word [ebx + 0x74]
movsx ecx, word [ebp - 4]
imul eax, ecx
mov dword [ebp - 0x3c], eax
movzx esi, word [edi + 2]
cmp si, 0xffff
je 0x100eae3
movzx eax, word [edi]
cmp ax, si
movsx ecx, ax
jg 0x100eab9
movsx ecx, si
movsx eax, word [ebp + 8]
add eax, edx
cmp ecx, eax
jge 0x100eacf
movzx eax, word [edi]
cmp ax, si
cwde
jg 0x100eacf
movsx eax, si
mov ecx, dword [ebx + 0x74]
movsx esi, word [ebx + 0xc]
movsx ecx, cx
sub eax, esi
imul eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x100eaf5
mov esi, dword [ebx + 0x74]
movsx ecx, word [ebp + 8]
movsx esi, si
imul esi, ecx
add esi, eax
mov dword [ebp - 0x34], esi
movsx eax, word [edi + 4]
cmp eax, edx
movzx esi, ax
jg 0x100eb03
movzx esi, dx
movsx eax, word [ebp + 8]
add edx, eax
movsx eax, word [edi]
cmp eax, edx
mov dword [ebp - 0x14], esi
movzx eax, ax
jl 0x100eb19
movzx eax, dx
movsx edx, word [ebx + 0xc]
sub eax, esi
movzx ecx, ax
mov eax, dword [ebx + 0x74]
movsx esi, si
cwde
sub esi, edx
imul esi, eax
mov dword [ebp - 0x18], esi
jmp 0x100eb77
movsx ecx, word [ebp - 4]
movsx esi, word [ebp + 8]
movzx eax, dx
mov dword [ebp - 0x14], eax
movsx eax, word [ebx + 0x74]
imul eax, ecx
mov ecx, dword [ebx + 0x74]
movsx ecx, cx
imul ecx, esi
add ecx, eax
mov dword [ebp - 0x18], esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], ecx
movzx ecx, word [edi]
add esi, edx
cmp cx, si
jle 0x100eb6f
movzx ecx, word [ebp - 0x18]
jmp 0x100eb74
sub ecx, edx
movzx ecx, cx
mov dword [ebp - 0x18], eax
test cx, cx
jge 0x100eb7e
xor ecx, ecx
mov esi, dword [ebp - 0x24]
push ecx
push esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x14]
push eax
push edi
push ebx
call fcn.01002b44
mov ecx, dword [ebp - 0x18]
movzx eax, ax
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x58], esi
cwde
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x60], ecx
imul eax, eax, 0x18
mov ecx, dword [0x1038080]
mov dword [ebp - 0x54], 2
lea esi, [ebp - 0x3c]
lea edi, [ebp - 0x50]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
add eax, ecx
mov dword [ebp - 0x40], esi
cmp word [eax + 8], si
jne 0x100ebdc
cmp word [eax + 0xa], si
je 0x100ebe3
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x48], eax
push 1
lea eax, [ebp - 0x64]
push eax
push dword [0x1038268]
call dword [sym.imp.GDI32.dll_PolyTextOutW]
cmp dword [ebp - 0x2c], esi
je 0x100ec03
cmp dword [ebp - 0x1c], esi
jne 0x100ecd3
movsx eax, word [ebp + 8]
add dword [ebp - 0xc], eax
mov edi, dword [ebp + 0xc]
movsx eax, word [edi + 4]
cmp dword [ebp - 0xc], eax
jg 0x100ec6f
mov ax, word [ebp + 8]
mov esi, dword [ebp - 8]
add word [ebp - 4], ax
add esi, 4
movzx eax, word [esi]
mov dword [ebp + 8], eax
movzx eax, byte [esi + 2]
and eax, 0xf
push dword [eax*4 + 0x1038348]
mov dword [ebp - 8], esi
push dword [0x1038268]
call dword [sym.imp.GDI32.dll_SetTextColor]
movzx eax, word [esi + 2]
shr ax, 4
and eax, 0xf
push dword [eax*4 + 0x1038348]
push dword [0x1038268]
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ax, word [esi + 2]
mov word [0x10382c8], ax
movzx eax, word [edi + 4]
movsx ecx, ax
cmp dword [ebp - 0xc], ecx
jle 0x100ea30
mov esi, edi
mov ax, word [esi]
sub ax, word [ebx + 0xc]
inc dword [ebp - 0x10]
mov word [ebp - 4], ax
mov ax, word [ebp - 0x10]
cmp ax, word [ebx + 0xa]
jne 0x100ec9d
and dword [ebp - 0x10], 0
movsx eax, word [esi + 6]
inc dword [ebp - 0x20]
inc word [ebp - 2]
cmp dword [ebp - 0x20], eax
jle 0x100e963
call dword [sym.imp.GDI32.dll_GdiFlush]
push dword [ebp - 0x24]
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
push 0
push dword [eax + 0x18]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
jmp 0x1002f0c
mov esi, dword [ebp + 0xc]
jmp 0x100ec81
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.01022628
jmp 0x1002f13