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

Disassembly:
add esp, 4
xor esi, 0x14280
pop esi
push ebx
push esi
add esp, 4
xor ebx, 0x17827
pop ebx
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0xec], edx
jmp 0x4078dd
push edi
add edi, 0x178f4
pop edi
push edx
push edi
add esp, 4
and edx, 0x1442b
sub edx, 0x9d44
pop edx
push eax
push ecx
add esp, 4
or eax, 0x94df
pop eax
push ebx
push eax
add esp, 4
sub ebx, 0x1263d
pop ebx
mov eax, 1
imul ecx, eax, 0
lea edx, [ebp + ecx - 0x2b4]
mov dword [ebp - 0x4a8], edx
mov dword [ebp - 0x784], 0xffffffff
push eax
sub eax, 0x103d
and eax, 0xc8ed
xor eax, 0x755b
pop eax
push edx
and edx, 0x10b3a
call 0x407956
add byte [edx], bh
inc eax
dec edx
cmp al, 0x46
dec ebp
cmp eax, dword [ebx - 0xd7efb3c]
jge 0x4079af
add byte [eax], al
pop edx
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x100], eax
jmp 0x40797d
mov ecx, dword [ebp - 0x100]
add ecx, 1
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
sub edx, dword [ebp - 0x190]
cmp edx, 0xffffffff
jb 0x4079c5
push eax
or eax, 0x18b0
call 0x4079a5
add byte [ecx + 0x44], al
inc ecx
xor eax, dword [edi + 0x3e]
aas
aaa
dec edi
dec edx
add esp, 4
pop eax
push ebx
jmp 0x4079b1
aaa
inc ebx
pop ebx
push edx
or edx, 0x4192
or edx, 0x17bd2
pop edx
jmp 0x407bc1
mov dword [ebp - 0x2c4], 7
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x260], eax
push edx
add edx, 0x17686
jmp 0x4079e8
pop edx
push edi
or edi, 0xd3d4
add edi, 0x16597
add edi, 0x7e45
call 0x407a09
add byte [0x4d3a3247], bh
dec eax
cmp al, 0x83
les eax, [edi + ebx*2]
mov ecx, dword [ebp - 0x4a8]
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x2c8], 0
mov edx, dword [ebp - 0x100]
cmp edx, dword [ebp - 0x4a8]
jne 0x407a42
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x4b0], eax
jmp 0x407b73
cmp dword [ebp - 0x2c4], 0
jle 0x407b67
push edi
and edi, 0x2148
or edi, 0x38f5
and edi, 0x7a3d
pop edi
push edi
push eax
add esp, 4
sub edi, 0x4f22
call 0x407a7d
add byte [0x43474e35], dh
cmp ecx, dword [edi + 0x37]
aaa
add esp, 4
pop edi
mov ecx, dword [ebp - 0x260]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x264]
movzx ecx, byte [eax]
cmp edx, ecx
je 0x407b03
push eax
call 0x407aa5
add byte [ebx + ecx*2 + 0x37], cl
inc edx
inc edx
inc esi
inc ebp
add esp, 4
and eax, 0xfa03
sub eax, 0x9b3c
pop eax
push ecx
jmp 0x407abc
sub ecx, 0x254c
or ecx, 0xe68d
pop ecx
mov edx, dword [ebp - 0x260]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x264]
movzx edx, byte [ecx]
cmp eax, edx
jle 0x407aeb
mov dword [ebp - 0x4ac], 1
jmp 0x407af5
mov dword [ebp - 0x4ac], 0xffffffff
mov eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x2c8], eax
jmp 0x407b67
push edx
call 0x407b14
add byte [ecx + 0x39], cl
inc edi
aaa
cmp byte [esi + 0x40], cl
aas
inc ebx
cmp al, byte [ebx - 0x357efb3c]
xor byte [ecx], al
add byte [edx + 0x56], bl
jmp 0x407b28
xor esi, 0xbf24
sub esi, 0x18359
pop esi
mov ecx, dword [ebp - 0x2c4]
sub ecx, 1
mov dword [ebp - 0x2c4], ecx
mov edx, dword [ebp - 0x260]
add edx, 1
mov dword [ebp - 0x260], edx
mov eax, dword [ebp - 0x264]
add eax, 1
mov dword [ebp - 0x264], eax
jmp 0x407a42
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x4b0], ecx
cmp dword [ebp - 0x4b0], 0
jne 0x407bbc
push ebx
sub ebx, 0x154a5
and ebx, 0xc273
xor ebx, 0x463e
pop ebx
push ecx
push esi
add esp, 4
sub ecx, 0x18478
xor ecx, 0x10f44
sub ecx, 0x89a1
or ecx, 0x1357f
pop ecx
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0x268], edx
jmp 0x407bcb
jmp 0x40796e
mov dword [ebp - 0x268], 0
push edi
call 0x407bd9
add byte [eax + 0x3d], dl
dec ebx
dec edi
cmp byte [ebx + eax*4 - 0x3c], cl
add al, 0x81
invalid