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 0x100e906
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 0x100ed03
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 0x100e995
mov esi, dword [sym.imp.ntdll.dll_DbgPrintEx]
push 0x100ed14
push 1
push 0x70
call esi
push 0x100ac30
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 0x100ecdc
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 0x100e9d0
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 0x100e9eb
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 0x100ea40
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 0x100ea7b
jmp 0x100ecac
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x28]
sub eax, edx
inc eax
cmp word [ebp + 8], ax
jle 0x100ea8a
movzx eax, ax
mov dword [ebp + 8], eax
test byte [ebx + 0x68], 1
je 0x100eb78
cmp dword [ebp - 0x1c], 0
je 0x100eb78
movzx eax, word [edi + 6]
cmp ax, 0xffff
je 0x100ead8
movzx esi, word [edi + 4]
cmp si, ax
movsx ecx, si
jl 0x100eab7
movsx ecx, ax
cmp ecx, edx
jle 0x100eac8
cmp si, ax
jge 0x100eac5
movsx eax, si
jmp 0x100eaca
cwde
jmp 0x100eaca
mov eax, edx
movsx esi, word [ebx + 0xc]
mov ecx, dword [ebx + 0x74]
sub eax, esi
movsx ecx, cx
jmp 0x100eae0
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 0x100eb28
movzx eax, word [edi]
cmp ax, si
movsx ecx, ax
jg 0x100eafe
movsx ecx, si
movsx eax, word [ebp + 8]
add eax, edx
cmp ecx, eax
jge 0x100eb14
movzx eax, word [edi]
cmp ax, si
cwde
jg 0x100eb14
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 0x100eb3a
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 0x100eb48
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 0x100eb5e
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 0x100ebbc
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 0x100ebb4
movzx ecx, word [ebp - 0x18]
jmp 0x100ebb9
sub ecx, edx
movzx ecx, cx
mov dword [ebp - 0x18], eax
test cx, cx
jge 0x100ebc3
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 0x100ec2e
cmp dword [ebp - 0x1c], esi
jne 0x100ecfe
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 0x100ec9a
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 0x100ea75
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 0x100ecc8
and dword [ebp - 0x10], 0
movsx eax, word [esi + 6]
inc dword [ebp - 0x20]
inc word [ebp - 2]
cmp dword [ebp - 0x20], eax
jle 0x100e9a8
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 0x100ecac
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.010225e8
jmp 0x1002f13