Function at 0x1002d70
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 0x1002db6
push 1
call fcn.01002dca
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push esi
push ebx
call fcn.01002de5
test eax, eax
je 0x100e45c
push esi
push ebx
call fcn.01002aac
push 0
call fcn.01002dca
pop edi
pop esi
pop ebx
leave
ret 8
test byte [0x10382f8], 2
jne 0x100e859
jmp 0x1002daf
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 0x100e4eb
mov esi, dword [sym.imp.ntdll.dll_DbgPrintEx]
push 0x100e86c
push 1
push 0x70
call esi
push 0x1009c78
push 1
push 0x70
call esi
add esp, 0x18
jmp 0x1002daf
movsx eax, word [esi + 2]
movsx ecx, word [esi + 6]
cmp eax, ecx
mov dword [ebp - 0x20], eax
jg 0x100e832
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 0x100e526
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 0x100e541
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.01003e51
mov eax, dword [ebp - 8]
mov cx, word [0x10382c8]
cmp cx, word [eax + 2]
je 0x100e596
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 0x100e5d1
jmp 0x100e802
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x28]
sub eax, edx
inc eax
cmp word [ebp + 8], ax
jle 0x100e5e0
movzx eax, ax
mov dword [ebp + 8], eax
test byte [ebx + 0x68], 1
je 0x100e6ce
cmp dword [ebp - 0x1c], 0
je 0x100e6ce
movzx eax, word [edi + 6]
cmp ax, 0xffff
je 0x100e62e
movzx esi, word [edi + 4]
cmp si, ax
movsx ecx, si
jl 0x100e60d
movsx ecx, ax
cmp ecx, edx
jle 0x100e61e
cmp si, ax
jge 0x100e61b
movsx eax, si
jmp 0x100e620
cwde
jmp 0x100e620
mov eax, edx
movsx esi, word [ebx + 0xc]
mov ecx, dword [ebx + 0x74]
sub eax, esi
movsx ecx, cx
jmp 0x100e636
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 0x100e67e
movzx eax, word [edi]
cmp ax, si
movsx ecx, ax
jg 0x100e654
movsx ecx, si
movsx eax, word [ebp + 8]
add eax, edx
cmp ecx, eax
jge 0x100e66a
movzx eax, word [edi]
cmp ax, si
cwde
jg 0x100e66a
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 0x100e690
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 0x100e69e
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 0x100e6b4
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 0x100e712
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 0x100e70a
movzx ecx, word [ebp - 0x18]
jmp 0x100e70f
sub ecx, edx
movzx ecx, cx
mov dword [ebp - 0x18], eax
test cx, cx
jge 0x100e719
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.01002e03
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 0x100e784
cmp dword [ebp - 0x1c], esi
jne 0x100e854
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 0x100e7f0
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 0x100e5cb
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 0x100e81e
and dword [ebp - 0x10], 0
movsx eax, word [esi + 6]
inc dword [ebp - 0x20]
inc word [ebp - 2]
cmp dword [ebp - 0x20], eax
jle 0x100e4fe
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 0x1002da8
mov esi, dword [ebp + 0xc]
jmp 0x100e802
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.010225ac
jmp 0x1002daf