Function at 0x409753
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [ebp - 0x76c]
add eax, 1
mov dword [ebp - 0x76c], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x76c]
cmp edx, dword [ecx + 0x18]
jae 0x4096e0
mov eax, dword [ebp - 0x76c]
mov ecx, dword [ebp - 0x19a8]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x770], edx
mov eax, dword [ebp - 0x76c]
mov ecx, dword [ebp - 0x19ac]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19b0]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19b4], ecx
mov dword [ebp - 0x1cc], 0
jmp 0x409544
mov edx, dword [ebp - 0x1cc]
add edx, 1
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x1cc]
movsx ecx, byte [eax]
test ecx, ecx
leave
je 0x4095f6
mov edx, dword [ebp - 0x1cc]
movsx eax, byte [ebp + edx - 0x87c]
inc dword [ebp - 0x7a7bf040]
add byte [eax], al
invalid
push ebx
push ebx
add esp, 4
sub ebx, 0x16cde
fisubr word [ecx + eax]
sub ebx, 0x10844
xor ebx, 0x11318
pop ebx
push esi
or esi, 0xb0a9
sub esi, 0x39ac
sub esi, 0x17079
jns 0x40960a
add dword [eax], eax
or esi, 0x1f8b
pop esi
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x1cc]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1cc]
movsx ecx, byte [ebp + eax - 0x87c]
cmp edx, ecx
je 0x4095e8
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x1cc]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1cc]
movsx edx, byte [ebp + ecx - 0x87c]
cmp eax, edx
jne 0x4095ef
jmp 0x409535
jmp 0x4095f6
push edx
call 0x409605
add byte [eax + 0x3b], al
inc esp
cmp al, 0x41
inc edi
xor bh, byte [eax]
add esp, 4
or edx, 0x98fe
pop edx
push esi
push edi
add esp, 4
jmp 0x40961b
pop esi
push esi
push ebx
add esp, 4
xor esi, 0x16df
pop esi
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x1cc]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1cc]
movsx eax, byte [ebp + edx - 0x87c]
cmp ecx, eax
jne 0x409655
mov dword [ebp - 0xccc], 0
jmp 0x4096c4
push esi
or esi, 0x70e4
or esi, 0x1e03
and esi, 0xfe50
pop esi
push edx
push ebx
add esp, 4
add edx, 0x13996
and edx, 0x4796
xor edx, 0x54c2
xor edx, 0xfa21
pop edx
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x1cc]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1cc]
movsx ecx, byte [ebp + eax - 0x87c]
or ecx, 0x20
cmp edx, ecx
jge 0x4096ba
mov dword [ebp - 0xccc], 0xffffffff
jmp 0x4096c4
mov dword [ebp - 0xccc], 1
cmp dword [ebp - 0xccc], 0
jne 0x4096db
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x50c], edx
jmp 0x4096ec
jmp 0x4094c5
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x7a0], ecx
push ecx
push esi
add esp, 4
or ecx, 0x4ac3
pop ecx
push esi
add esi, 0x16f98
sub esi, 0x9d51
xor esi, 0xc110
xor esi, 0x8051
pop esi
push edx
push esi
add esp, 4
xor edx, 0x1481e
pop edx
mov edx, dword [ebp - 0x3fc]
add edx, 0xe
mov dword [ebp - 0x1a04], edx
push ebx
or ebx, 0x112d6
sub ebx, 0x16f0a
call 0x409753
add byte [ebx], bh
inc edi
xor cl, byte [ebp + 0x40]
inc eax
dec ebp
add esp, 4
sub ebx, 0x786f
pop ebx
push edi
sub edi, 0x1d30
sub edi, 0x1843b
pop edi
cmp dword [ebp - 0x3fc], 0
je 0x40977d
cmp dword [ebp - 0xae4], 0
jne 0x4097c3
push ebx
push ebx
add esp, 4
add ebx, 0x71a6
xor ebx, 0xd114
or ebx, 0xdcc0
pop ebx
push edi
add edi, 0x89a
xor edi, 0x82d0
jmp 0x4097a8
add edi, 0xd5b1
pop edi
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x19b8], eax
push 0
call dword [ebp - 0x19b8]
mov dword [ebp - 0x2058], 0xa
push eax
push esi
add esp, 4
add eax, 0x1230
pop eax
push ecx
push edx
add esp, 4
or ecx, 0x183ff
add ecx, 0xa25b
jmp 0x4097f0
pop ecx
push edi
and edi, 0x10c32
add edi, 0x11a15
pop edi
mov ecx, dword [ebp - 0x3fc]
mov dl, byte [ecx + 0xa]
mov byte [ebp - 0x3b0], dl
mov eax, dword [ebp - 0xae4]
sub eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x16a4], eax
mov dword [ebp - 0xcfc], 0
push edx
push esi
add esp, 4
or edx, 0x1524e
xor edx, 0xdbf3
jmp 0x409841
or edx, 0xdae2
pop edx
push eax
push ebx
add esp, 4
xor eax, 0x4bde
pop eax
push esi
add esi, 0x1580d
pop esi
mov byte [ebp - 0x9d8], 0x56
invalid
test dword [ecx], ebp
idiv bh