Function at 0x50929a
Capabilities:
Get number of processors
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push esi
and esi, 0xb829
pop esi
push edx
push eax
add esp, 4
xor edx, 0x794f
pop edx
push ecx
call 0x5090cf
add byte [eax + 0x38], dl
dec ebp
inc ebx
dec ebp
inc ecx
add esp, 4
and ecx, 0xaa6d
and ecx, 0x67cb
pop ecx
mov edx, dword [ebp - 0x30]
add edx, 0x138
imul eax, dword [ebp - 0x2c], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x2c], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c80], edx
push ebx
push ebx
add esp, 4
call 0x50911e
add byte [eax + 0x36], al
cmp ecx, dword [ebx + 0x3b]
cmp edx, dword ds:[eax + 0x35]
add esp, 4
jmp 0x509129
call 0x509137
add byte [eax + 0x36], dl
xor al, 0x4f
dec edi
inc ecx
dec esi
add esp, 4
pop ebx
mov edx, dword [ebp - 0x1c80]
add edx, 1
mov dword [ebp - 0x1494], edx
push ebx
push ecx
add esp, 4
and ebx, 0xbbf7
and ebx, 0x9fd1
jmp 0x509163
pop ebx
push edx
push esi
add esp, 4
add edx, 0xb395
or edx, 0xf3ac
xor edx, 0xa65
pop edx
push eax
push ebx
add esp, 4
sub eax, 0x5301
pop eax
push ecx
or ecx, 0x7922
add ecx, 0x58d2
call 0x5091a2
add byte [eax + 0x41], al
aaa
dec eax
aaa
xor eax, dword ds:[ebx + 0x6eb04c4]
cmp ecx, dword ds:[ecx + 0x43]
cmp eax, 0x4569594a
aam 0x38
add dword [eax], eax
add byte [0x44f3644b], al
imul ecx, dword [ebp - 0x2c], 0x138
sub eax, ecx
xor eax, dword [ebp - 0x1494]
imul eax, dword [ebp - 0x2c]
imul edx, dword [ebp - 0x2c], 0x138
sub eax, edx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x1494]
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1d24], eax
mov dword [ebp - 0x1520], 1
push edi
push edx
add esp, 4
add edi, 0x50cd
pop edi
push ecx
and ecx, 0x14c8d
sub ecx, 0x129f9
jmp 0x509211
call 0x509221
add byte [esi], dh
dec edi
dec ecx
inc esi
dec esp
dec esp
dec edi
inc edi
add esp, 4
pop ecx
imul ecx, dword [ebp - 0x1520], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x1520], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1d24]
imul ecx, dword [ebp - 0x1520]
imul eax, dword [ebp - 0x1520], 0x138
sub ecx, eax
mov dword [ebp - 0x1524], ecx
mov ecx, dword [ebp - 0xfb0]
mov edx, dword [ebp - 0xfac]
mov dword [ebp - 0x152c], ecx
mov dword [ebp - 0x1528], edx
push ecx
or ecx, 0x3471
sub ecx, 0x1744d
pop ecx
push ebx
push ecx
add esp, 4
call 0x50929a
add byte [ebx], bh
aaa
dec edi
aaa
dec esp
dec ecx
xor cl, byte [edx + 0x3c]
add esp, 4
and ebx, 0x171b7
xor ebx, 0x1222a
pop ebx
push ebx
push eax
add esp, 4
call 0x5092be
add byte [edx], bh
cmp al, 0x4d
xor al, 0x37
dec esp
dec edx
cmp al, 0x83
les eax, [ecx + eax*4]
ret
add esp, 4
pop ebx
imul eax, dword [ebp - 0xa30], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0xa30], 0x138
sub eax, ecx
xor eax, dword [ebp - 0x1e7c]
imul eax, dword [ebp - 0xa30]
imul edx, dword [ebp - 0xa30], 0x138
sub eax, edx
mov dword [ebp - 0xa34], eax
push edx
jmp 0x50b9fa
add edx, 0x7b27
xor edx, 0x141a8
jmp 0x50ba0c
pop edx
push ecx
and ecx, 0x48e3
sub ecx, 0xa1d2
jmp 0x50ba22
pop ecx
push eax
push edx
add esp, 4
jmp 0x50ba2e
pop eax
push edx
push esi
add esp, 4
or edx, 0x2cf7
jmp 0x50ba40
sub edx, 0x12448
xor edx, 0x15bee
pop edx
push eax
or eax, 0x54ca
pop eax
mov dword [ebp - 0x2c0], 1
push eax
push edx
add esp, 4
jmp 0x50ba6b
and eax, 0xe75c
or eax, 0x751a
pop eax
push ebx
push esi
add esp, 4
jmp 0x50ba84
and ebx, 0xaaf7
or ebx, 0x45bd
pop ebx
imul eax, dword [ebp - 0x2c0], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x2c0], 0x138
sub eax, ecx
xor eax, 2
imul eax, dword [ebp - 0x2c0]
imul edx, dword [ebp - 0x2c0], 0x138
sub eax, edx
mov dword [ebp - 0x2c4], eax
push esi
push eax
add esp, 4
sub esi, 0x5b15
and esi, 0x123b0
or esi, 0xb016
pop esi
push eax
push ebx
add esp, 4
and eax, 0x13976
and eax, 0x82ad
jmp 0x50baf9
pop eax
mov eax, dword [ebp - 0x938]
mov ecx, dword [ebp - 0x934]
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], ecx
jmp 0x50bce8
push edx
push esi
add esp, 4
xor edx, 0x738f
or edx, 0xb326
call 0x50bb37
add byte [ecx + 0x44], cl
dec ecx
inc ecx
inc edx
dec esp
inc edi
inc ebp
cmp byte [ebx - 0xd7efb3c], al
or al, 0xa0
add byte [eax], al
pop edx
push ebx
or ebx, 0xa24f
pop ebx
mov edx, dword [ebp - 0x244]
add edx, 0x138
imul eax, dword [ebp - 0x240], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x240], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x240]
mov dword [ebp - 0x1e80], edx
push ecx
or ecx, 0x138a7
add ecx, 0xbbb9
pop ecx
push ecx
jmp 0x50bb93
jmp 0x50bb98
pop ecx
push eax
push ecx
add esp, 4
add eax, 0x183a9
xor eax, 0xb238
and eax, 0xeb38
pop eax
mov edx, dword [ebp - 0x1e80]
sub edx, 1
mov dword [ebp - 0x14b0], edx
push edx
push esi
add esp, 4
xor edx, 0xb8c8
and edx, 0x1669f
sub edx, 0xda80
and edx, 0xbdbd
pop edx
push eax
push ebx
add esp, 4
or eax, 0x13dbd
pop eax
push esi
xor esi, 0xc5f5
pop esi
push edi
and edi, 0xc1ae
jmp 0x50bbff
xor edi, 0xaf28
pop edi
push ebx
push ecx
add esp, 4
sub ebx, 0x17a86
and ebx, 0xb6f3
add ebx, 0x64ed
add ebx, 0x574c
pop ebx
imul eax, dword [ebp - 0x240], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x240], 0x138
sub eax, ecx
xor eax, dword [ebp - 0x14b0]
imul eax, dword [ebp - 0x240]
imul edx, dword [ebp - 0x240], 0x138
sub eax, edx
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x14b0]
imul eax, dword [ebp - 0x240]
mov dword [ebp - 0x1e84], eax
mov dword [ebp - 0x1558], 1
push edx
push esi
add esp, 4
call 0x50bc8c
add byte [ebx + 0x3f], cl
dec eax
push eax
aaa
inc esi
add esp, 4
jmp 0x50bc95
or edx, 0xd341
call 0x50bca9
add byte [eax + 0x38], cl
dec ebp
cmp cl, byte [edi + 0x3c]
inc esp
dec esi
add esp, 4
pop edx
imul ecx, dword [ebp - 0x1558], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x1558], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1e84]
imul ecx, dword [ebp - 0x1558]
imul eax, dword [ebp - 0x1558], 0x138
sub ecx, eax
mov dword [ebp - 0x155c], ecx
push ecx
push edi
add esp, 4
xor ecx, 0xead7
sub ecx, 0xaffd
add ecx, 0x1812d
xor ecx, 0x14a26
pop ecx
push edx
add edx, 0x1889
add edx, 0xc378
xor edx, 0xb775
pop edx
mov ecx, dword [ebp - 0x244]
add ecx, 0x138
imul edx, dword [ebp - 0x240], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x240], 0x138
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x240]
mov dword [ebp - 0x1e88], ecx
mov ecx, dword [ebp - 0x1e88]
mov dword [ebp - 0x1e8c], ecx
cmp dword [ebp - 0x1e8c], 0
jbe 0x50c25e
push ecx
jmp 0x50bd70
xor ecx, 0xe308
call 0x50bd84
add byte [edi + 0x45], cl
inc ebx
inc edx
dec ecx
inc ecx
dec eax
add esp, 4
sub ecx, 0x170cf
pop ecx
push ecx
and ecx, 0x7f9c
and ecx, 0x1059a
pop ecx
mov edx, dword [ebp - 0x244]
add edx, 0x138
imul eax, dword [ebp - 0x240], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x240], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x240]
mov dword [ebp - 0x1e90], edx
mov edx, dword [ebp - 0x1e90]
mov dword [ebp - 0x1e9c], edx
push ebx
push ebx
add esp, 4
add ebx, 0x12799
sub ebx, 0x167cd
xor ebx, 0x182ad
pop ebx
push edx
push edi
add esp, 4
xor edx, 0x40b0
jmp 0x50be09
and edx, 0x286
pop edx
mov eax, dword [ebp - 0xa2c]
add eax, 0x138
imul ecx, dword [ebp - 0xa28], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0xa28], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0xa28]
mov dword [ebp - 0x1e94], eax
mov eax, dword [ebp - 0x1e94]
mov dword [ebp - 0x1e98], eax
mov ecx, dword [ebp - 0x14b4]
imul ecx, dword [ebp - 0x1e98]
cmp dword [ebp - 0x1e9c], ecx
jne 0x50bfe1
push esi
push esi
add esp, 4
add esi, 0xd4c9
or esi, 0x16698
sub esi, 0x1dad
and esi, 0xf3c3
pop esi
push ebx
push ebx
add esp, 4
add ebx, 0x3d79
pop ebx
push eax
and eax, 0x9b31
pop eax
push ebx
call 0x50beae
add byte [esi], dh
dec esi
cmp dword [edi + 0x35], eax
xor eax, dword [ebx + 0x39]
inc eax
inc edx
add esp, 4
pop ebx
push ebx
and ebx, 0x5b7
sub ebx, 0x8d91
call 0x50becb
add byte [edx], dh
aaa
inc esp
cmp dword [ebp + 0x33], eax
add esp, 4
pop ebx
mov edx, dword [ebp - 0x2c4]
add edx, 0x138
imul eax, dword [ebp - 0x2c0], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x2c0], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x2c0]
mov dword [ebp - 0x1ea0], edx
mov edx, dword [ebp - 0x1ea0]
mov dword [ebp - 0x1ea4], edx
mov eax, dword [ebp - 0x1ea4]
sub eax, 1
mov dword [ebp - 0x1ea8], eax
mov dword [ebp - 0xffc], 1
push ecx
add ecx, 0x422c
call 0x50bf3f
add byte [ecx], bh
xor al, 0x3b
xor al, 0x45
dec ecx
push eax
add esp, 4
call 0x50bf51
add byte [edi + 0x38], al
inc esp
dec edx
push eax
inc edi
aas
dec esp
add esp, 4
jmp 0x50bf5b
pop ecx
imul ecx, dword [ebp - 0xffc], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0xffc], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1ea8]
imul ecx, dword [ebp - 0xffc]
imul eax, dword [ebp - 0xffc], 0x138
sub ecx, eax
mov dword [ebp - 0x1000], ecx
mov ecx, dword [ebp - 0x1000]
mov edx, dword [ebp - 0xffc]
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2c0], edx
push esi
add esi, 0x910b
pop esi
push edx
push ebx
add esp, 4
and edx, 0x725a
jmp 0x50bfca
call 0x50bfd7
add byte [ebp + 0x4f], cl
dec ecx
xor eax, dword ss:[eax + 0x47]
add esp, 4
add edx, 0xfdba
pop edx
push ecx
push esi
add esp, 4
and ecx, 0xaef2
and ecx, 0x1431b
pop ecx
push edi
and edi, 0x1376e
call 0x50c007
add byte [ebx + 0x3c], cl
inc edx
dec ebp
dec esi
dec edx
xor al, 0x83
les eax, [edi + ebx*2]
push esi
and esi, 0x563d
pop esi
mov eax, dword [ebp - 0x244]
add eax, 0x138
imul ecx, dword [ebp - 0x240], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x240], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x240]
mov dword [ebp - 0x1eac], eax
mov eax, dword [ebp - 0x1eac]
mov dword [ebp - 0x1eb8], eax
push ecx
push esi
add esp, 4
xor ecx, 0x4a3c
and ecx, 0x17904
pop ecx
push esi
push edx
add esp, 4
xor esi, 0x90d
or esi, 0x16b44
pop esi
push ebx
xor ebx, 0xc6dd
and ebx, 0x58e9
pop ebx
mov ecx, dword [ebp - 0xa34]
add ecx, 0x138
imul edx, dword [ebp - 0xa30], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0xa30], 0x138
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0xa30]
mov dword [ebp - 0x1eb0], ecx
mov ecx, dword [ebp - 0x1eb0]
mov dword [ebp - 0x1eb4], ecx
mov edx, dword [ebp - 0x14b4]
imul edx, dword [ebp - 0x1eb4]
cmp dword [ebp - 0x1eb8], edx
jne 0x50c259
push edx
push ebx
add esp, 4
and edx, 0x13ffa
pop edx
push eax
call 0x50c0ff
add byte [edx], bh
inc ebx
dec edx
cmp eax, 0x3241403a
add esp, 4
add eax, 0x17533
xor eax, 0x2af1
or eax, 0x98b9
pop eax
push ecx
push edi
add esp, 4
sub ecx, 0xba66
jmp 0x50c128
pop ecx
push eax
push ecx
add esp, 4
add eax, 0x3885
pop eax
push eax
push ecx
add esp, 4
or eax, 0xe803
add eax, 0x2640
pop eax
mov eax, dword [ebp - 0x2c4]
add eax, 0x138
imul ecx, dword [ebp - 0x2c0], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x2c0], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x1ebc], eax
mov eax, dword [ebp - 0x1ebc]
mov dword [ebp - 0x1ec0], eax
mov ecx, dword [ebp - 0x1ec0]
sub ecx, 1
mov dword [ebp - 0x1ec4], ecx
mov dword [ebp - 0x1004], 1
push ebx
add ebx, 0x449e
pop ebx
push esi
and esi, 0xd0d0
xor esi, 0x17478
pop esi
push edi
or edi, 0x1820b
or edi, 0x93fc
jmp 0x50c1cd
and edi, 0x52e6
pop edi
imul edx, dword [ebp - 0x1004], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x1004], 0x138
sub edx, eax
xor edx, dword [ebp - 0x1ec4]
imul edx, dword [ebp - 0x1004]
imul ecx, dword [ebp - 0x1004], 0x138
sub edx, ecx
mov dword [ebp - 0x1008], edx
mov edx, dword [ebp - 0x1008]
mov eax, dword [ebp - 0x1004]
mov dword [ebp - 0x2c4], edx
mov dword [ebp - 0x2c0], eax
push esi
push ecx
add esp, 4
add esi, 0xccf7
add esi, 0x1395d
xor esi, 0x18514
pop esi
push esi
push eax
add esp, 4
sub esi, 0xb61a
pop esi
push ecx
push edx
add esp, 4
jmp 0x50c258
pop ecx
jmp 0x50bb17
push ebx
sub ebx, 0x559b
xor ebx, 0x72e8
pop ebx
push eax
push edi
add esp, 4
and eax, 0x13921
or eax, 0x92a7
pop eax
push edi
push ecx
add esp, 4
xor edi, 0x673
xor edi, 0x15f39
pop edi
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x2c0]
mov dword [ebp - 0x1f04], ecx
mov dword [ebp - 0x1f00], edx
lea eax, [ebp - 0x1f04]
mov dword [ebp - 0x1ec8], eax
mov ecx, dword [ebp - 0x1ec8]
mov dword [ebp - 0xa6c], ecx
push eax
or eax, 0xa6ac
or eax, 0x8b41
or eax, 0x42b2
and eax, 0x7b5f
pop eax
push eax
push edi
add esp, 4
or eax, 0x3af3
pop eax
push esi
push ecx
add esp, 4
or esi, 0xc6b3
pop esi
mov edx, dword [ebp - 0xa6c]
mov eax, dword [edx]
add eax, 0x138
mov ecx, dword [ebp - 0xa6c]
imul edx, dword [ecx + 4], 0x138
add edx, 0x44f3644b
mov ecx, dword [ebp - 0xa6c]
imul ecx, dword [ecx + 4], 0x138
sub edx, ecx
xor eax, edx
mov edx, dword [ebp - 0xa6c]
imul eax, dword [edx + 4]
mov dword [ebp - 0x1ecc], eax
mov eax, dword [ebp - 0x1ecc]
mov dword [ebp - 0x1ed4], eax
mov ecx, dword [ebp - 0x1ed0]
add ecx, dword [ebp - 0x1ed4]
mov dword [ebp - 0x1ed8], ecx
mov dword [ebp - 0x100c], 1
push eax
push ecx
add esp, 4
sub eax, 0xdeb
or eax, 0x17b50
pop eax
push esi
push edx
add esp, 4
sub esi, 0xdd49
xor esi, 0xbc5b
xor esi, 0xa96f
pop esi
push edi
and edi, 0x355c
pop edi
imul edx, dword [ebp - 0x100c], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x100c], 0x138
sub edx, eax
xor edx, dword [ebp - 0x1ed8]
imul edx, dword [ebp - 0x100c]
imul ecx, dword [ebp - 0x100c], 0x138
sub edx, ecx
mov dword [ebp - 0x1010], edx
mov edx, dword [ebp - 0x1010]
mov eax, dword [ebp - 0x100c]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
push esi
and esi, 0x14c78
pop esi
push edx
push ebx
add esp, 4
sub edx, 0x580c
xor edx, 0xead2
and edx, 0x10e93
or edx, 0xd1cb
pop edx
push ebx
push eax
add esp, 4
add ebx, 0x1831c
pop ebx
jmp 0x5090ad