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

Disassembly:
add byte [ebx + 0x53], bl
add ebx, 0x148ad
and ebx, 0x12cee
add ebx, 0x55f3
sub ebx, 0x16ba5
pop ebx
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0xe48], ecx
push esi
add esi, 0x9012
pop esi
push edx
push eax
add esp, 4
sub edx, 0x10611
sub edx, 0x16217
pop edx
push eax
push ecx
add esp, 4
or eax, 0x1093c
add eax, 0x10027
and eax, 0x2276
pop eax
mov edx, dword [ebp - 0xe48]
mov dword [ebp - 0xe4c], edx
lea eax, [ebp - 0xc50]
push eax
call dword [ebp - 0xe4c]
test eax, eax
jne 0x408edc
push esi
push edx
add esp, 4
xor esi, 0xf33f
or esi, 0x13bcd
add esi, 0xad49
xor esi, 0x5b16
pop esi
push eax
push eax
add esp, 4
or eax, 0x9f89
pop eax
push eax
xor eax, 0x13f6e
pop eax
mov dword [ebp - 0x418], 0
jmp 0x4095c7
push esi
call 0x408eed
add byte [eax], bh
cmp cl, byte [eax + 0x44]
cmp eax, dword [ebp + 0x3f]
aas
dec eax
dec eax
add esp, 4
or esi, 0x33bc
call 0x408f04
add byte [edx], bh
dec edx
dec eax
inc ebx
dec ecx
dec esp
inc eax
add esp, 4
sub esi, 0x140ff
pop esi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0xe50], ecx
mov edx, dword [ebp - 0xe50]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xe54], eax
mov ecx, dword [ebp - 0xe54]
mov dword [ebp - 0xb78], ecx
push esi
sub esi, 0xbfa1
sub esi, 0x1200d
add esi, 0x13614
and esi, 0x102f0
pop esi
push edx
push eax
add esp, 4
jmp 0x408f5b
and edx, 0xc372
or edx, 0xad60
pop edx
cmp dword [ebp - 0xb78], 0
jne 0x408f80
mov dword [ebp - 0x188], 0
jmp 0x409227
mov edx, dword [ebp - 0xb78]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x6cc], ecx
push ebx
push esi
add esp, 4
add ebx, 0xe298
pop ebx
push edi
add edi, 0x4e84
xor edi, 0x11edd
pop edi
push edx
push esi
add esp, 4
and edx, 0x153dd
or edx, 0x11269
or edx, 0xdb5e
pop edx
cmp dword [ebp - 0x6cc], 0
jne 0x408fdc
mov dword [ebp - 0x188], 0
jmp 0x409227
mov edx, dword [ebp - 0x6cc]
mov dword [ebp - 0x254], edx
push edx
push edx
add esp, 4
and edx, 0x79c2
jmp 0x408ff9
add edx, 0x1438c
add edx, 0x617a
pop edx
push eax
xor eax, 0x66a3
add eax, 0x16526
jmp 0x409019
pop eax
lea eax, [ebp - 0xc50]
mov dword [ebp - 0x6c8], eax
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x6c4], edx
xor eax, eax
mov word [ebp - 0x11c], ax
xor ecx, ecx
mov word [ebp - 0x30], cx
push ecx
push edx
add esp, 4
jmp 0x409051
and ecx, 0x14b70
pop ecx
push eax
push ebx
add esp, 4
and eax, 0x1ac2
or eax, 0x48c6
or eax, 0x11acf
sub eax, 0x1180f
pop eax
mov edx, dword [ebp - 0x6c4]
mov ax, word [edx]
mov word [ebp - 0x88a], ax
mov ecx, dword [ebp - 0x6c4]
add ecx, 2
mov dword [ebp - 0x6c4], ecx
mov dx, word [ebp - 0x88a]
mov word [ebp - 0x11c], dx
mov eax, dword [ebp - 0x6c8]
mov cx, word [eax]
mov word [ebp - 0x88c], cx
mov edx, dword [ebp - 0x6c8]
add edx, 2
mov dword [ebp - 0x6c8], edx
mov ax, word [ebp - 0x88c]
mov word [ebp - 0x30], ax
push ebx
sub ebx, 0xfb20
pop ebx
push ebx
push eax
add esp, 4
xor ebx, 0xc6bf
call 0x4090ed
add byte [0x4f333337], bh
dec ebp
dec ecx
add esp, 4
pop ebx
push edi
xor edi, 0x596f
or edi, 0x131a7
pop edi
movzx ecx, word [ebp - 0x30]
test ecx, ecx
jne 0x40911c
movzx edx, word [ebp - 0x11c]
movzx eax, word [ebp - 0x30]
sub edx, eax
mov dword [ebp - 0xb80], edx
jmp 0x409176
movzx ecx, word [ebp - 0x11c]
movzx edx, word [ebp - 0x30]
cmp ecx, edx
je 0x409044
movzx eax, word [ebp - 0x11c]
xor eax, 0x20
movzx ecx, word [ebp - 0x30]
cmp eax, ecx
je 0x409044
movzx edx, word [ebp - 0x11c]
movzx eax, word [ebp - 0x30]
cmp edx, eax
jge 0x409160
mov dword [ebp - 0xb7c], 0xffffffff
jmp 0x40916a
mov dword [ebp - 0xb7c], 1
mov ecx, dword [ebp - 0xb7c]
mov dword [ebp - 0xb80], ecx
cmp dword [ebp - 0xb80], 0
jne 0x4091bf
push ecx
add ecx, 0x12b28
pop ecx
push ebx
xor ebx, 0x9bf2
pop ebx
push ecx
push edx
add esp, 4
xor ecx, 0x109a3
xor ecx, 0x3c8b
sub ecx, 0x58fa
pop ecx
push edi
jmp 0x4091b0
pop edi
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x188], edx
jmp 0x409227
push edi
push ecx
add esp, 4
add edi, 0x41
or edi, 0x2793
xor edi, 0x706b
and edi, 0xa985
pop edi
push esi
add esi, 0x4fd6
or esi, 0x5466
sub esi, 0xdec9
pop esi
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax]
mov dword [ebp - 0x254], ecx
mov edx, dword [ebp - 0x254]
cmp edx, dword [ebp - 0x6cc]
je 0x40921d
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0x30], 0
jne 0x408fe8
mov dword [ebp - 0x188], 0
push eax
xor eax, 0x5446
xor eax, 0xfaee
add eax, 0x7bef
pop eax
push ebx
push edx
add esp, 4
xor ebx, 0xb53a
and ebx, 0xd2
add ebx, 0xc032
and ebx, 0x5de3
pop ebx
mov ecx, dword [ebp - 0x188]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x1b8], edx
push ebx
push ecx
add esp, 4
sub ebx, 0x58f4
sub ebx, 0x68c7
and ebx, 0x8682
pop ebx
push ecx
add ecx, 0x3777
or ecx, 0xb874
xor ecx, 0x12b23
and ecx, 0x17378
pop ecx
mov dword [ebp - 0x3ec], 0
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0xb84], eax
cmp dword [ebp - 0xb84], 0
jne 0x4092ca
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], ecx
jmp 0x4095bb
mov edx, dword [ebp - 0xb84]
mov eax, dword [ebp - 0x1b8]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0xb88], eax
jne 0x4092f2
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], ecx
jmp 0x4095bb
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0xb88]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0xb8c], edx
cmp dword [ebp - 0xb8c], 0
jne 0x409324
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], eax
jmp 0x4095bb
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [ebp - 0xb8c]
mov dword [ebp - 0x3e0], ecx
jne 0x409349
mov edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], edx
jmp 0x4095bb
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0xe58], ecx
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x1b8]
add eax, dword [edx + 0x24]
mov dword [ebp - 0xe5c], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x1b8]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0xe60], edx
mov dword [ebp - 0x3e4], 0
jmp 0x4093a3
mov eax, dword [ebp - 0x3e4]
add eax, 1
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x3e4]
cmp edx, dword [ecx + 0x18]
jae 0x4095af
mov eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0xe58]
mov edx, dword [ebp - 0x1b8]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x3e8], edx
mov eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0xe5c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0xe60]
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0xe64], ecx
mov dword [ebp - 0xc8], 0
jmp 0x409413
mov edx, dword [ebp - 0xc8]
add edx, 1
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x3e8]
add eax, dword [ebp - 0xc8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4094c5
mov edx, dword [ebp - 0xc8]
movsx eax, byte [ebp + edx - 0x494]
test eax, eax
je 0x4094c5
push esi
push eax
add esp, 4
add esi, 0xf2d8
xor esi, 0x144
sub esi, 0x36ec
or esi, 0x13fbc
pop esi
push edi
add edi, 0xd784
add edi, 0xe659
and edi, 0x10a38
pop edi
mov ecx, dword [ebp - 0x3e8]
add ecx, dword [ebp - 0xc8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc8]
movsx ecx, byte [ebp + eax - 0x494]
cmp edx, ecx
je 0x4094b7
mov edx, dword [ebp - 0x3e8]
add edx, dword [ebp - 0xc8]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0xc8]
movsx edx, byte [ebp + ecx - 0x494]
cmp eax, edx
jne 0x4094be
jmp 0x409404
jmp 0x4094c5
push eax
xor eax, 0x993
sub eax, 0x129c
add eax, 0xb8c7
pop eax
push ecx
push eax
add esp, 4
sub ecx, 0x8ac3
and ecx, 0x8e26
or ecx, 0x966c
and ecx, 0x111ba
pop ecx
mov eax, dword [ebp - 0x3e8]
add eax, dword [ebp - 0xc8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0xc8]
movsx eax, byte [ebp + edx - 0x494]
cmp ecx, eax
jne 0x409524
mov dword [ebp - 0x6d0], 0
jmp 0x409593
push edx
and edx, 0x146f1
call 0x40953a
add byte [edx], bh
push eax
cmp al, 0x48
dec edx
inc edi
cmp dword [ebx + 0x4c], eax
add esp, 4
and edx, 0x5902
pop edx
push ecx
push edx
add esp, 4
jmp 0x409550
jmp 0x409555
pop ecx
mov ecx, dword [ebp - 0x3e8]
add ecx, dword [ebp - 0xc8]
movsx edx, byte [ecx]
or edx, 0x20
cmp dword [ebp - 0x6d0], 0
jne 0x4095aa
mov edx, dword [ebp - 0xe64]
mov dword [ebp - 0x250], edx
jmp 0x409394
mov eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
mov dword [ebp - 0x418], ecx
push esi
add esi, 0x7fa4
add byte [eax], al
pop esi
push edi
or edi, 0xb4dc
pop edi
push ebx
or ebx, 0xb38f
xor ebx, 0x3b44
pop ebx
push edi
push eax
add esp, 4
or edi, 0x9b3e
pop edi
push ebx
xor ebx, 0x16c72
pop ebx
mov edx, dword [ebp - 0x228]
add edx, 0xe
mov dword [ebp - 0xeb0], edx
push edx
xor edx, 0x12c7d
pop edx
push ecx
add ecx, 0xccd5
add ecx, 0x6503
rol dword [ebx], 0x65
add byte [eax], al
pop ecx
push esi
add esi, 0x4787
sub esi, 0x9d9a
add esi, 0x121ed
pop esi
push edx
and edx, 0x262e
pop edx
cmp dword [ebp - 0x228], 0
je 0x40964c
cmp dword [ebp - 0x614], 0
jne 0x409692
push ebx
xor ebx, 0xdc15
and ebx, 0x5cb6
pop ebx
push eax
sub eax, 0x9f74
pop eax
push ecx
jmp 0x409669
jmp 0x40966e
call 0x40967a
add byte [edi + 0x3e], cl
dec esi
cmp byte [ebx], bh
inc ebp
add esp, 4
pop ecx
mov eax, dword [ebp - 0x418]
mov dword [ebp - 0x1068], eax
push 0
call dword [ebp - 0x1068]
mov dword [ebp - 0x1230], 0xa
push edi
sub edi, 0x3b8
xor edi, 0x7a06
call 0x4096b6
add byte [ecx], bh
inc ebx
xor cl, byte [edi + 0x48]
dec esi
add esp, 4
pop edi
push ebx
xor ebx, 0x1670a
add ebx, 0x107d3
or ebx, 0x17d6b
pop ebx
mov ecx, dword [ebp - 0x228]
mov dl, byte [ecx + 0xa]
mov byte [ebp - 0x1fd], dl
mov eax, dword [ebp - 0x614]
sub eax, dword [ebp - 0x228]
mov dword [ebp - 0xc0c], eax
mov dword [ebp - 0x700], 0
push esi
push eax
add esp, 4
jmp 0x409704
pop esi
push ebx
push esi
add esp, 4
jmp 0x409711
pop ebx
push ebx
and ebx, 0x13b7f
xor ebx, 0x14c7c
jmp 0x409724
add ebx, 0x3568
pop ebx
mov byte [ebp - 0x598], 0x56
mov byte [ebp - 0x597], 0x69
mov byte [ebp - 0x596], 0x72
mov byte [ebp - 0x595], 0x74
mov byte [ebp - 0x594], 0x75
mov byte [ebp - 0x593], 0x61
mov byte [ebp - 0x592], 0x6c
mov byte [ebp - 0x591], 0x50
mov byte [ebp - 0x590], 0x72
mov byte [ebp - 0x58f], 0x6f
mov byte [ebp - 0x58e], 0x74
mov byte [ebp - 0x58d], 0x65
mov byte [ebp - 0x58c], 0x63
mov byte [ebp - 0x58b], 0x74
mov byte [ebp - 0x58a], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0xe68], ecx
mov edx, dword [ebp - 0xe68]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xe6c], eax
mov ecx, dword [ebp - 0xe6c]
mov dword [ebp - 0xb90], ecx
push ecx
push edi
add esp, 4
jmp 0x4097ca
xor ecx, 0x11723
and ecx, 0xd7a8
jmp 0x4097dc
pop ecx
push eax
call 0x4097ea
add byte [ecx], bh
cmp al, 0x34
dec ebp
inc ebx
push eax
add esp, 4
pop eax
cmp dword [ebp - 0xb90], 0
jne 0x409806
mov dword [ebp - 0x18c], 0
jmp 0x409aad
mov edx, dword [ebp - 0xb90]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x6dc], ecx
push esi
and esi, 0xc914
pop esi
push ecx
push ebx
add esp, 4
xor ecx, 0xbf33
or ecx, 0x1b98
call 0x409840
add byte [ebp + 0x33], al
dec esi
aas
xor eax, dword [esi + 0x37]
inc esp
dec ecx
add esp, 4
and ecx, 0xa713
pop ecx
cmp dword [ebp - 0x6dc], 0
jne 0x409862
mov dword [ebp - 0x18c], 0
jmp 0x409aad
mov edx, dword [ebp - 0x6dc]