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

Disassembly:
mov ecx, dword [ebp - 0x4f4]
add ecx, 1
mov dword [ebp - 0x4f4], ecx
push eax
push eax
add esp, 4
sub eax, 0x8092
or eax, 0x66a6
pop eax
push esi
push eax
add esp, 4
sub esi, 0x7d52
pop esi
push edi
and edi, 0x17c12
sub edi, 0x16f73
and edi, 0xca74
pop edi
mov edx, dword [ebp - 0x4f4]
sub edx, dword [ebp - 0x77c]
cmp edx, 0xffffffff
jb 0x40440d
push ebx
push esi
add esp, 4
sub ebx, 0x134e
call 0x4043ed
add byte [edi + ecx*2 + 0x49], al
dec ebx
cmp al, byte [eax - 0x7d]
les eax, [ecx + eax*4]
jecxz 0x40443c
or eax, dword [eax]
add byte [ebx + 0x53], bl
call 0x404404
add byte [edi], bh
push eax
inc edx
cmp eax, 0xc4834d36
add al, 0x5b
jmp 0x40463b
mov dword [ebp - 0xcbc], 7
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 0xaec], eax
push edx
push ecx
add esp, 4
xor edx, 0x8ce4
call 0x40443b
add byte [ebx], bh
dec eax
dec eax
push eax
aas
dec ebx
add esp, 4
jmp 0x404445
les eax, [ebx + ebp*8]
add eax, 0x323d4c50
push eax
dec esp
invalid
invalid
push eax
pop edx
push edi
jmp 0x40444e
or edi, 0x47e7
pop edi
mov ecx, dword [ebp - 0x15d8]
mov dword [ebp - 0xae8], ecx
mov dword [ebp - 0xcc0], 0
mov edx, dword [ebp - 0x4f4]
cmp edx, dword [ebp - 0x15d8]
jne 0x4044bc
push edx
sub edx, 0x15175
or edx, 0x9464
xor edx, 0x6ad0
xor edx, 0x17de0
pop edx
push ebx
push ebx
add esp, 4
and ebx, 0x1548f
pop ebx
push edx
push ecx
add esp, 4
or edx, 0x76b6
pop edx
mov eax, dword [ebp - 0xcc0]
mov dword [ebp - 0x15e0], eax
jmp 0x4045ed
cmp dword [ebp - 0xcbc], 0
jle 0x4045e1
push edx
push esi
add esp, 4
xor edx, 0xb96c
xor edx, 0x12274
jmp 0x4044e0
pop edx
push edi
push ebx
add esp, 4
xor edi, 0x4606
pop edi
push edi
add edi, 0x13254
add edi, 0x251b
pop edi
mov ecx, dword [ebp - 0xaec]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xae8]
movzx ecx, byte [eax]
cmp edx, ecx
je 0x40457d
push edx
sub edx, 0x111dd
and edx, 0xfd2c
pop edx
push esi
call 0x404530
add byte [esi], bh
dec edi
aaa
cmp byte [edx + 0x3f], cl
cmp eax, 0x8337384c
les eax, [ebx + ebp*8]
add eax, 0x4b3b424d
dec ebx
pop esi
push edx
xor edx, 0x1646f
pop edx
mov edx, dword [ebp - 0xaec]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xae8]
movzx edx, byte [ecx]
cmp eax, edx
jle 0x404565
mov dword [ebp - 0x15dc], 1
jmp 0x40456f
mov dword [ebp - 0x15dc], 0xffffffff
mov eax, dword [ebp - 0x15dc]
mov dword [ebp - 0xcc0], eax
jmp 0x4045e1
push ebx
call 0x40458d
add byte [ecx + 0x4e], cl
dec ebx
dec esi
xor eax, 0x83354d43
les eax, [ecx + eax*4]
jecxz 0x404600
push ecx
add byte [eax], al
sub ebx, 0x9195
call 0x4045ab
add byte [edx + 0x34], al
xor edi, dword [eax + edx*2]
dec edi
dec ebp
inc esi
cmp dword [ebx - 0x74a4fb3c], eax
lea eax, [ebx + esi*8 - 1]
inc dword [ebx - 0x7276fe17]
inc esp
invalid
mov ecx, dword [ebp - 0xcc0]
mov dword [ebp - 0x15e0], ecx
cmp dword [ebp - 0x15e0], 0
jne 0x404636
push ecx
sub ecx, 0x14227
and ecx, 0x72ee
call 0x404612
jb 0x404602
add al, ch
or al, byte [eax]
add byte [eax], al
add byte [0x4d473d41], dh
dec ecx
inc esi
cmp dword [eax], edi
add esp, 4
pop ecx
push eax
push ecx
add esp, 4
sub eax, 0xd509
sub eax, 0x20c9
pop eax
mov edx, dword [ebp - 0x4f4]
mov dword [ebp - 0x3cc], edx
jmp 0x404677
jmp 0x404384
push edx
or edx, 0x4f2b
and edx, 0x4b1
jmp 0x404651
or edx, 0x9e2d
pop edx
push edx
push ecx
add esp, 4
call 0x404669
add byte [ebp + ecx*2 + 0x3e], al
xor ecx, dword [edx + 0x3e]
add esp, 4
pop edx
mov dword [ebp - 0x3cc], 0
push ecx
add ecx, 0x10889
sub ecx, 0x139e9
pop ecx
push esi
and esi, 0x5b61
xor esi, 0x107cd
call 0x40469f
add byte [edi], dh
xor cl, byte [ebp + ecx*2 + 0x3f]
dec eax
dec ebp
add esp, 4
sub esi, 0x3f42
pop esi
push edx
or edx, 0x68e2