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 0x100e89a
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 0x100ec97
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 0x100e929
mov esi, dword [sym.imp.ntdll.dll_DbgPrintEx]
push 0x100eca8
push 1
push 0x70
call esi
push 0x100aba0
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 0x100ec70
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 0x100e964
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 0x100e97f
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 0x100e9d4
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 0x100ea0f
jmp 0x100ec40
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x28]
sub eax, edx
inc eax
cmp word [ebp + 8], ax
jle 0x100ea1e
movzx eax, ax
mov dword [ebp + 8], eax
test byte [ebx + 0x68], 1
je 0x100eb0c
cmp dword [ebp - 0x1c], 0
je 0x100eb0c
movzx eax, word [edi + 6]
cmp ax, 0xffff
je 0x100ea6c
movzx esi, word [edi + 4]
cmp si, ax
movsx ecx, si
jl 0x100ea4b
movsx ecx, ax
cmp ecx, edx
jle 0x100ea5c
cmp si, ax
jge 0x100ea59
movsx eax, si
jmp 0x100ea5e
cwde
jmp 0x100ea5e
mov eax, edx
movsx esi, word [ebx + 0xc]
mov ecx, dword [ebx + 0x74]
sub eax, esi
movsx ecx, cx
jmp 0x100ea74
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 0x100eabc
movzx eax, word [edi]
cmp ax, si
movsx ecx, ax
jg 0x100ea92
movsx ecx, si
movsx eax, word [ebp + 8]
add eax, edx
cmp ecx, eax
jge 0x100eaa8
movzx eax, word [edi]
cmp ax, si
cwde
jg 0x100eaa8
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 0x100eace
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 0x100eadc
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 0x100eaf2
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 0x100eb50
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 0x100eb48
movzx ecx, word [ebp - 0x18]
jmp 0x100eb4d
sub ecx, edx
movzx ecx, cx
mov dword [ebp - 0x18], eax
test cx, cx
jge 0x100eb57
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]
cwde
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x60], ecx
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
inc eax
mov dword [ebp - 0x48], eax
push 1
lea eax, [ebp - 0x64]
push eax
push dword [0x1038268]
mov dword [ebp - 0x40], esi
call dword [sym.imp.GDI32.dll_PolyTextOutW]
cmp dword [ebp - 0x2c], esi
je 0x100ebc2
cmp dword [ebp - 0x1c], esi
jne 0x100ec92
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 0x100ec2e
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 0x100ea09
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 0x100ec5c
and dword [ebp - 0x10], 0
movsx eax, word [esi + 6]
inc dword [ebp - 0x20]
inc word [ebp - 2]
cmp dword [ebp - 0x20], eax
jle 0x100e93c
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 0x100ec40
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.01022600
jmp 0x1002f13