Function at 0x401230
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x3a8
sub eax, 1
push ebx
push edi
jne 0x4012c5
push 0x3a4
push eax
lea ebx, [eax + 1]
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x14], 0x3a8
call fcn.004131f0
mov eax, dword [esp + 0x3c0]
add esp, 0xc
call fcn.00401e70
cmp byte [0x497292], 0
je 0x4012ae
cmp byte [0x497294], 0
mov edi, dword [esp + 0x3b4]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 2
jne 0x42aa61
cmp byte [edi + 9], 0
jne 0x42aaac
cmp byte [edi + 0x184], bl
je 0x42aaf8
push ebx
push esi
call dword [sym.imp.USER32.dll_KillTimer]
push 0
push 0x2ee
push ebx
push esi
call dword [sym.imp.USER32.dll_SetTimer]
pop edi
pop ebx
add esp, 0x3a8
ret 4
push ebx
push ecx
add esp, 4
and ebx, 0xe4ff
sub ebx, 0xe48e
xor ebx, 0x142b2
or ebx, 0x175b
pop ebx
push ecx
xor ecx, 0xb6e1
or ecx, 0x11e9c
xor ecx, 0xcf28
pop ecx
lea edx, [ebp - 0x16cc]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc24], ecx
xor edx, edx
mov word [ebp - 0x1fc], dx
xor eax, eax
mov word [ebp - 0x104], ax
push ebx
push ecx
add esp, 4
or ebx, 0x17500
pop ebx
push eax
push edi
add esp, 4
call 0x42a8f1
add byte [ebx + 0x44], al
aas
cmp eax, dword [ebp + 0x43]
inc ecx
add esp, 4
call 0x42a901
add byte [edx + edi], dh
cmp ecx, dword ds:[edx + 0x46]
xor al, 0x83
les eax, [eax + ebx*2]
mov ecx, dword [ebp - 0xc24]
mov dx, word [ecx]
mov word [ebp - 0xf82], dx
mov eax, dword [ebp - 0xc24]
add eax, 2
mov dword [ebp - 0xc24], eax
mov cx, word [ebp - 0xf82]
mov word [ebp - 0x1fc], cx
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xf84], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
mov dword [ebp - 0xc28], ecx
mov dx, word [ebp - 0xf84]
mov word [ebp - 0x104], dx
push eax
push edx
add esp, 4
and eax, 0xc3c2
and eax, 0x15d75
pop eax
push edi
add edi, 0x12f1a
sub edi, 0xfb14
pop edi
push ebx
push edi
add esp, 4
or ebx, 0x2d3
and ebx, 0x47ab
pop ebx
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x42a9b4
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x42aa17
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x42a8d3
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x42a8d3
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x42aa01
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x42aa0b
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x42aa60
push ecx
add ecx, 0x155a5
or ecx, 0x7eca
call 0x42aa3b
add byte [esi + 0x4e], al
cmp byte [edi], dh
cmp al, 0x4a
cmp eax, 0x4c4833f
pop ecx
push ecx
call 0x42aa4e
add byte [esi + 0x37], cl
dec esp
dec eax
inc esp
inc edx
cmp al, 0x83
les eax, [ecx + ebx*2]
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp fcn.0042aac8
push esi
xor esi, 0xa70d
sub esi, 0x14d2b
pop esi
push ebx
push esi
add esp, 4
jmp 0x42aa79
jmp 0x42aa7f
or ebx, 0x16f36
pop ebx
push edi
push ebx
add esp, 4
add edi, 0x1072b
pop edi
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
cmp ecx, dword [ebp - 0xc2c]
je 0x42aabe
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x42a874
mov dword [ebp - 0x6ec], 0
add byte [esi - 0x7d], bl
mov ebp, 0xfffff914
add byte [ebp + 0x41], dh