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 0x100e8aa
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 0x100eca7
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 0x100e939
mov esi, dword [sym.imp.ntdll.dll_DbgPrintEx]
push 0x100ecb8
push 1
push 0x70
call esi
push 0x100aba8
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 0x100ec80
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 0x100e974
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 0x100e98f
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 0x100e9e4
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 0x100ea1f
jmp 0x100ec50
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x28]
sub eax, edx
inc eax
cmp word [ebp + 8], ax
jle 0x100ea2e
movzx eax, ax
mov dword [ebp + 8], eax
test byte [ebx + 0x68], 1
je 0x100eb1c
cmp dword [ebp - 0x1c], 0
je 0x100eb1c
movzx eax, word [edi + 6]
cmp ax, 0xffff
je 0x100ea7c
movzx esi, word [edi + 4]
cmp si, ax
movsx ecx, si
jl 0x100ea5b
movsx ecx, ax
cmp ecx, edx
jle 0x100ea6c
cmp si, ax
jge 0x100ea69
movsx eax, si
jmp 0x100ea6e
cwde
jmp 0x100ea6e
mov eax, edx
movsx esi, word [ebx + 0xc]
mov ecx, dword [ebx + 0x74]
sub eax, esi
movsx ecx, cx
jmp 0x100ea84
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 0x100eacc
movzx eax, word [edi]
cmp ax, si
movsx ecx, ax
jg 0x100eaa2
movsx ecx, si
movsx eax, word [ebp + 8]
add eax, edx
cmp ecx, eax
jge 0x100eab8
movzx eax, word [edi]
cmp ax, si
cwde
jg 0x100eab8
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 0x100eade
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 0x100eaec
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 0x100eb02
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 0x100eb60
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 0x100eb58
movzx ecx, word [ebp - 0x18]
jmp 0x100eb5d
sub ecx, edx
movzx ecx, cx
mov dword [ebp - 0x18], eax
test cx, cx
jge 0x100eb67
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 0x100ebd2
cmp dword [ebp - 0x1c], esi
jne 0x100eca2
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 0x100ec3e
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 0x100ea19
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 0x100ec6c
and dword [ebp - 0x10], 0
movsx eax, word [esi + 6]
inc dword [ebp - 0x20]
inc word [ebp - 2]
cmp dword [ebp - 0x20], eax
jle 0x100e94c
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 0x100ec50
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.01022610
jmp 0x1002f13