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

Disassembly:
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push edi
push ebx
add esp, 4
call 0x409856
add byte [ecx + 0x3b], cl
xor al, 0x43
inc eax
inc ebp
xor al, 0x37
add esp, 4
pop edi
push ebx
jmp 0x409861
and ebx, 0xf09f
pop ebx
push edx
push edx
add esp, 4
add edx, 0x1ea5
pop edx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x4098bc
push esi
push edi
add esp, 4
sub esi, 0x16bbf
and esi, 0x26bb
add esi, 0x117c4
pop esi
push edx
add edx, 0x177d
sub edx, 0x1231
add edx, 0xa8db
and edx, 0x7b8
pop edx
jmp 0x409aea
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac8], ecx
push eax
call 0x4098e1
add byte [edi + 0x47], cl
aas
dec edi
dec ebp
dec edx
aaa
add esp, 4
call 0x4098f4
add byte [esi], dh
inc edx
inc ebx
dec ebx
xor al, 0x4e
inc esp
aas
inc edi
add esp, 4
pop eax
push ebx
push esi
add esp, 4
sub ebx, 0x37a8
pop ebx
mov edx, dword [ebp - 0x15a0]
mov dword [ebp - 0xac4], edx
mov dword [ebp - 0xc8c], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15a0]
jne 0x40996b
push ecx
push eax
add esp, 4
add ecx, 0x16138
jmp 0x409939
invalid
add ecx, 0xeeb1
pop ecx
push esi
sub esi, 0x9211
pop esi
push esi
push ebx
add esp, 4
add esi, 0x9e29
add esi, 0x15f74
pop esi
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d8], ecx
jmp 0x409a9c
cmp dword [ebp - 0xc88], 0
jle 0x409a90
push eax
call 0x409986
add byte [ebx + eax*2 + 0x45], cl
inc ebx
inc edx
aas
dec esp
add esp, 4
add al, 0x58
push ebx
push edx
add esp, 4
xor ebx, 0xad30
jmp 0x40999d
sub ebx, 0x10ea4
sub ebx, 0x1098d
pop ebx
mov edx, dword [ebp - 0xac8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xac4]
dec dword [edi]
mov dh, 0x11
dec dword [edi]
mov dh, 0x11
cmp eax, edx
je 0x409a2c
push eax
or eax, 0x115dc
jmp 0x4099d0
pop eax
push eax
and eax, 0x1f12
call 0x4099e8
add byte [eax + 0x3b], cl
inc ebp
dec eax
inc edi
cmp cl, byte [edi + eax*2 + 0x44]
inc esi
add esp, 4
and eax, 0xe73a
pop eax
mov eax, dword [ebp - 0xac8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xac4]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x409a14
mov dword [ebp - 0x15d4], 1
jmp 0x409a1e
mov dword [ebp - 0x15d4], 0xffffffff
mov ecx, dword [ebp - 0x15d4]
mov dword [ebp - 0xc8c], ecx
jmp 0x409a90
push ecx
push ebx
add esp, 4
sub ecx, 0x445f
pop ecx
push ecx
xor ecx, 0x17e4c
jmp 0x409a48
call 0x409a54
add byte [edi], bh
cmp eax, 0x4e3e3f4a
add esp, 4
sub ecx, 0x79ad
pop ecx
mov edx, dword [ebp - 0xc88]
sub edx, 1
mov dword [ebp - 0xc88], edx
mov eax, dword [ebp - 0xac8]
add eax, 1
mov dword [ebp - 0xac8], eax
mov ecx, dword [ebp - 0xac4]
add ecx, 1
mov dword [ebp - 0xac4], ecx
jmp 0x40996b
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d8], edx
cmp dword [ebp - 0x15d8], 0
jne 0x409ae5
push eax
add eax, 0xb681
or eax, 0x147a5
jmp 0x409ab9
xor eax, 0x2722
pop eax
push esi
xor esi, 0x3bce
jmp 0x409ad0
xor esi, 0x12509
pop esi
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xac0], eax
jmp 0x409b26
jmp 0x409833
push ebx
push edx
add esp, 4
xor ebx, 0xc9fa
pop ebx
push ebx
xor ebx, 0x16429
sub ebx, 0xe828
pop ebx
push edi
push eax
add esp, 4
jmp 0x409b0f
and edi, 0x1723
sub edi, 0x107be
pop edi
mov dword [ebp - 0xac0], 0
push edi
call 0x409b37
add byte [edx + 0x48], al
dec esp
dec edx
inc ebp
dec esp
cmp byte [ebx], dh
dec ecx
xor eax, 0xe804c483
or dword [eax], eax
add byte [eax], al
add byte [ebx + 0x36], al
cmp al, 0x3c
xor eax, 0x83443347
les eax, [ecx + eax*4]
out 0xf6, eax
cwde
add byte [eax], al
jmp 0x409b57
pop edi
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
mov byte [ebp - 0x873], 0x72
mov byte [ebp - 0x872], 0x6f
mov byte [ebp - 0x871], 0x63
mov byte [ebp - 0x870], 0x65
mov byte [ebp - 0x86f], 0x73
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push edi
push edi
add esp, 4
add edi, 0x10bc
pop edi
push esi
add esi, 0xf2b7
xor esi, 0x3e74
add esi, 0xe7de
pop esi
push edx
push esi
add esp, 4
and edx, 0x1f0e
or edx, 0x1819d
pop edx
mov ecx, 0x6b
mov word [ebp - 0x173c], cx
mov edx, 0x65
mov word [ebp - 0x173a], dx
mov eax, 0x72
mov word [ebp - 0x1738], ax
mov ecx, 0x6e
mov word [ebp - 0x1736], cx
mov edx, 0x65
mov word [ebp - 0x1734], dx
mov eax, 0x6c
mov word [ebp - 0x1732], ax
mov ecx, 0x33
mov word [ebp - 0x1730], cx
mov edx, 0x32
mov word [ebp - 0x172e], dx
mov eax, 0x2e
mov word [ebp - 0x172c], ax
mov ecx, 0x64
mov word [ebp - 0x172a], cx
mov edx, 0x6c
mov word [ebp - 0x1728], dx
mov eax, 0x6c
mov word [ebp - 0x1726], ax
xor ecx, ecx
mov word [ebp - 0x1724], cx
push ecx
or ecx, 0x127a0
pop ecx
push eax
push eax
add esp, 4
add eax, 0xfb06
call 0x409c99
add byte [esi], dh
aaa
cmp eax, 0x38494a40
inc edi
dec edi
add esp, 4
or eax, 0x2340
xor eax, 0x1489a
pop eax
push edi
and edi, 0x2b81
or edi, 0x3500
jmp 0x409cbc
pop edi
push esi
call 0x409ccb
add byte [ebx], bh
dec edi
dec edx
inc esp
dec ebx
inc edi
add esp, 4
pop esi
push ecx
push edx
add esp, 4
sub ecx, 0x41c3
pop ecx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x19b8], edx
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x19bc]
mov dword [ebp - 0x15dc], edx
push esi
push ecx
add esp, 4
xor esi, 0x793c
call 0x409d1a
add byte [ebp + 0x42], cl
dec ecx
inc eax
dec eax
cmp al, byte [ebx - 0x97efb3c]
lcall 9, 0xe8000101
add byte [eax], al
add byte [ecx + 0x43], al
cmp ecx, dword [edi + 0x4f]
cmp al, 0x4d