Function at 0x40f5c6
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
jae 0x40c4ce
mov dword [ebp - 0x15a4], 1
jmp 0x40c4d8
mov dword [ebp - 0x15a4], 0
mov dl, byte [ebp - 0x15a4]
mov byte [ebp - 0x3ad], dl
movzx eax, byte [ebp - 0x3ad]
test eax, eax
je 0x40f54b
push esi
push esi
add esp, 4
xor esi, 0x799c
pop esi
push edx
push ecx
add esp, 4
add edx, 0x17bbe
add edx, 0x17c55
mov dword [ebp - 0x3f0], 0
call 0x40f55a
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x3f0], eax
push eax
call 0x40f575
add byte [edx + eax*2 + 0x49], cl
dec ecx
dec esi
cmp al, 0x3a
add esp, 4
and eax, 0x13aa5
pop eax
push esi
push ecx
add esp, 4
xor esi, 0x5482
xor esi, 0x17222
jmp 0x40f597
pop esi
mov ecx, dword [ebp - 0x2098]
mov dword [ebp - 0x15c0], ecx
push esi
and esi, 0x10686
add esi, 0x65bf
or esi, 0x13f82
pop esi
push esi
call 0x40f5c6
add byte [edi + 0x4b], al
dec ebx
dec eax
inc edx
cmp byte [edi + 0x49], cl
add esp, 4
and esi, 0x7627
add esi, 0x16585
pop esi
mov edx, dword [ebp - 0x14]
add edx, 0xfe
imul eax, dword [ebp - 0x10], 0xfe
add eax, 0x56f3663b
imul ecx, dword [ebp - 0x10], 0xfe
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x15c0], edx
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x1ffc], edx
mov eax, dword [ebp - 0x1ffc]
add eax, dword [ebp - 0x15c0]
mov dword [ebp - 0x3f0], eax
push eax
push edi
add esp, 4
or eax, 0xd885
or eax, 0xa320
or eax, 0x2eb4
pop eax
push ebx
xor ebx, 0x24a6
xor ebx, 0x95e0
or ebx, 0x10dbb
xor ebx, 0xbfa9
pop ebx
mov byte [ebp - 0xbec], 0x52
mov byte [ebp - 0xbeb], 0xb9
mov byte [ebp - 0xbea], 0x10
mov byte [ebp - 0xbe9], 0x10
mov byte [ebp - 0xbe8], 0x10
mov byte [ebp - 0xbe7], 0x10
mov byte [ebp - 0xbe6], 0x5a
push edx
push ecx
add esp, 4
and edx, 0x43a5
pop edx
push esi
and esi, 0x2e4
xor esi, 0x8e93
sub esi, 0xca01
and esi, 0xb788
pop esi
push esi
push esi
add esp, 4
or esi, 0xf50
add byte [eax], al
pop esi
mov byte [ebp - 0xbe4], 0x52
mov byte [ebp - 0xbe3], 0xb9
mov byte [ebp - 0xbe2], 0x20
mov byte [ebp - 0xbe1], 0x20
mov byte [ebp - 0xbe0], 0x20
mov byte [ebp - 0xbdf], 0x20
mov byte [ebp - 0xbde], 0x5a
push esi
push esi
add esp, 4
sub esi, 0x654b
jmp 0x40f6f7
add esi, 0x70d9
add esi, 0x17af5
pop esi
push eax
push esi
add esp, 4
sub eax, 0x27ab
add eax, 0xc2f0
sal al, 0xc2
add byte [eax], al
pop eax
mov dword [ebp - 0x209c], 0xe
push eax
add eax, 0x6298
sub eax, 0x14c4d
and eax, 0xafa4
or eax, 0x7d23
pop eax
push edx
or edx, 0x1392b
pop edx
push ecx
sub ecx, 0x4611
pop ecx
push eax
xor eax, 0x43ff
pop eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbec]
dec dword [ecx - 0x15c37b]
call dword [eax - 0x7f]
call 0x4259f4
sub eax, 0x1254a
xor eax, 0x1647a
xor eax, 0x5e1f
pop eax
push eax
call 0x40f78f
add byte [edi + 0x38], cl
dec ebx
xor edx, dword [eax + 0x3d]
dec esp
add esp, 4
les eax, [ecx + eax*4]
sar ah, 0xbb
add byte [eax], al
pop eax
mov dword [ebp - 0x20a0], 0xffffffff
push esi
sub esi, 0xd384
xor esi, 0xa5f8
xor esi, 0x17770
pop esi
push esi
call 0x40f7c4
add byte [esp + eax*2 + 0x4f], al
dec edi
inc edi
dec esi
inc eax
add esp, 4
jmp 0x40f7ce
or esi, 0x10d81
pop esi
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x4fc], ecx
jmp 0x40f7f2
push edi
push edx
add esp, 4
or edi, 0xe16d
sub edi, 0x148b8
jmp 0x40f808
pop edi
push edx
call 0x40f81a
add byte [esi], dh
inc edi
inc ecx
dec edx
inc ebp
cmp al, 0x32
inc ebx
cmp eax, dword [ebx - 0x357efb3c]
or dword [eax + eax], esp
pop edx
mov eax, dword [ebp - 0x4fc]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x40f86c
push ecx
or ecx, 0xab3b
and ecx, 0x4d80
xor ecx, 0x1339f
sub ecx, 0xaf75
pop ecx
push ecx
mov dword [ebp - 0xc80], 7
mov ecx, dword [ebp - 0x4fc]
mov dword [ebp - 0xac4], ecx
push edi
push esi
add esp, 4
and edi, 0xd138
pop edi
push eax
push ebx
add esp, 4
and eax, 0x34f8
sub eax, 0x312a
invalid