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

Disassembly:
push ebx
sub ebx, 0x9e99
call 0x40c5d0
add byte [ecx], bh
xor al, 0x35
cmp al, 0x48
inc edx
dec esi
dec ebp
add esp, 4
pop ebx
push edx
add edx, 0x16dd8
and edx, 0x15376
jmp 0x40c5e6
xor edx, 0xc08a
pop edx
lea edx, [ebp - 0x14d4]
mov dword [ebp - 0xefc], edx
mov eax, dword [ebp - 0x5e8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xef8], ecx
xor edx, edx
mov word [ebp - 0x270], dx
xor eax, eax
mov word [ebp - 0x140], ax
push eax
push eax
add esp, 4
and eax, 0x8f59
pop eax
push eax
push esi
add esp, 4
sub eax, 0xbfda
pop eax
push eax
call 0x40c642
add byte [0x3c504d4c], dh
xor edi, dword ds:[ebx]
inc esi
add esp, 4
or eax, 0xca61
pop eax
mov ecx, dword [ebp - 0xef8]
mov dx, word [ecx]
mov word [ebp - 0x136a], dx
mov eax, dword [ebp - 0xef8]
add eax, 2
mov dword [ebp - 0xef8], eax
mov cx, word [ebp - 0x136a]
mov word [ebp - 0x270], cx
mov edx, dword [ebp - 0xefc]
mov ax, word [edx]
mov word [ebp - 0x136c], ax
mov ecx, dword [ebp - 0xefc]
add ecx, 2
mov dword [ebp - 0xefc], ecx
mov dx, word [ebp - 0x136c]
mov word [ebp - 0x140], dx
push ecx
xor ecx, 0x3411
and ecx, 0xd124
pop ecx
push eax
or eax, 0x1032d
call 0x40c6c8
add byte [ecx], bh
inc ecx
xor eax, dword [ecx + 0x4f]
inc ebp
inc eax
add esp, 4
pop eax
push eax
push ecx
add esp, 4
xor eax, 0x14df3
pop eax
movzx eax, word [ebp - 0x140]
test eax, eax
jne 0x40c6fb
movzx ecx, word [ebp - 0x270]
movzx edx, word [ebp - 0x140]
sub ecx, edx
mov dword [ebp - 0x19e0], ecx
jmp 0x40c75e
movzx eax, word [ebp - 0x270]
movzx ecx, word [ebp - 0x140]
cmp eax, ecx
je 0x40c61a
movzx edx, word [ebp - 0x270]
xor edx, 0x20
movzx eax, word [ebp - 0x140]
cmp edx, eax
je 0x40c61a
movzx ecx, word [ebp - 0x270]
movzx edx, word [ebp - 0x140]
cmp ecx, edx
jge 0x40c748
mov dword [ebp - 0x19dc], 0xffffffff
jmp 0x40c752
mov dword [ebp - 0x19dc], 1
mov eax, dword [ebp - 0x19dc]
mov dword [ebp - 0x19e0], eax
cmp dword [ebp - 0x19e0], 0
jne 0x40c7a7
push edx
sub edx, 0x165ef
xor edx, 0x16c3d
or edx, 0x11d63
pop edx
push ecx
push ecx
add esp, 4
sub ecx, 0x1742d
pop ecx
push ebx
push esi
add esp, 4
sub ebx, 0xf9a9
sub ebx, 0x3127
pop ebx
mov ecx, dword [ebp - 0x5e8]
mov dword [ebp - 0x38c], ecx
jmp 0x40c80f
push eax
call 0x40c7b8
add byte [ecx + 0x39], al
cmp byte [ebx], bh
cmp eax, 0x45454b32
cmp al, 0x83
les eax, [ecx + eax*4]
enter 0xfffffffffffffce3, 0
add al, ch
or dword [eax], eax
add byte [eax], al
add byte [eax + 0x39], dl
dec ebx
inc eax
inc eax
xor al, 0x4a
add esp, 4
les eax, [ecx + eax*4]
sal byte [esi], 0x28
add byte [eax], al
pop eax
mov edx, dword [ebp - 0x5e8]
mov eax, dword [edx]
add cl, byte [ecx - 0x5e77b]
dec dword [ebx - 0x5e773]
invalid
cmp ecx, dword [ebp - 0xf00]
je 0x40c805
mov edx, dword [ebp - 0x5e8]
cmp dword [edx + 0x30], 0
jne 0x40c5bb
mov dword [ebp - 0x38c], 0
push edx
sub edx, 0x9d89
pop edx
push eax
push eax
add esp, 4
or eax, 0x14cfc
xor eax, 0xa5fc
jmp 0x40c82d
call 0x40c83d
add byte [edx + 0x45], al
inc eax
inc esi
dec edi
xor eax, 0xc4833c39
add al, 0x58
cmp dword [ebp - 0x38c], 0
jne 0x40d15b
mov eax, 0x6b
mov word [ebp - 0x1be4], ax
mov ecx, 0x65
mov word [ebp - 0x1be2], cx
mov edx, 0x72
mov word [ebp - 0x1be0], dx
mov eax, 0x6e
mov word [ebp - 0x1bde], ax
invalid
invalid