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

Disassembly:
mov dword [ebp - 0x15f4], eax
push edx
add edx, 0x7c47
and edx, 0xcead
or edx, 0x161ee
call 0x46d5f8
add byte [0x3b334445], bh
dec esp
xor ecx, dword [esp + edi - 0x7d]
les eax, [edx + ebx*2]
push ecx
push ebx
add esp, 4
xor ecx, 0xaf27
pop ecx
cmp dword [ebp - 0x15f4], 0
jne 0x46d620
mov dword [ebp - 0x318], 0
jmp 0x46d8c7
mov ecx, dword [ebp - 0x15f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push edx
push esi
add esp, 4
or edx, 0x1727c
add edx, 0x1813
pop edx
push eax
push ebx
add esp, 4
or eax, 0xebba
call 0x46d65b
add byte [0x364a453e], dh
dec ebx
add esp, 4
jmp 0x46d663
pop eax
cmp dword [ebp - 0xcb4], 0
jne 0x46d67c
mov dword [ebp - 0x318], 0
jmp 0x46d8c7
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push esi
sub esi, 0xbb34
add esi, 0xcef1
jmp 0x46d69c
pop esi
push esi
call 0x46d6aa
add byte [ebx], bh
xor edi, dword [edx + esi]
dec eax
add esp, 4
jmp 0x46d6b3
sub esi, 0x14cb2
pop esi
lea edx, [ebp - 0x1734]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ecx
push edx
add esp, 4
or ecx, 0xa296
add ecx, 0xa2b4
add ecx, 0x18154
or ecx, 0x8024
add byte [ecx + 0x52], bl
or edx, 0xf7d
and edx, 0x7e78
sub edx, 0x175d4
pop edx
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push edi
push edi
add esp, 4
xor edi, 0x8aae
and edi, 0xfb40
xor edi, 0x7c0e
sub edi, 0x12c6c
pop edi
push ecx
push edi
add esp, 4
xor ecx, 0x15817
pop ecx
push ebx
xor ebx, 0x12ec8
pop ebx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x46d7bc
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x15fc], ecx
jmp 0x46d816
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x46d6e4
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x46d6e4
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x34]
cmp dword [ebp - 0x15fc], 0
jne 0x46d85f
push eax
push eax
add esp, 4
call 0x46d831
add byte [ebp + 0x4b], cl
aaa
dec ebx
xor al, 0x46
xor al, byte [ebx - 0x177efb3c]
inc esi
adc byte [ecx], al
add al, ch
or byte [eax], al
add byte [eax], al
add byte [0x3e35444c], dh
push eax
push eax
add esp, 4
or eax, 0x7b6d
pop eax
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x318], ecx
jmp 0x46d8c7
push ecx
sub ecx, 0x2b6f
or ecx, 0x1218c
call 0x46d87b
add byte [ebx], bh
dec esp
aas
cmp eax, 0x374a484e
xor eax, 0x5904c483
push ebx
push ecx
add esp, 4
or ebx, 0x13b25
add ebx, 0x1e16
pop ebx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x46d8bd
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x46d688
mov dword [ebp - 0x318], 0
push esi
push eax
add esp, 4
jmp 0x46d8d3
call 0x46d8e0
add byte [edx], bh
aas
cmp byte [ecx], bh
inc ebp
add esp, 4
pop esi
push esi
jmp 0x46d8ea
pop esi
push ebx
xor ebx, 0xddc2
add byte [eax], al
xor ebx, 0xff42
pop ebx
mov eax, dword [ebp - 0x318]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push ebx
and ebx, 0x12e77
jmp 0x46d914
pop ebx
push edx
and edx, 0xc31f
call 0x46d92b
add byte [edx + 0x40], cl
dec esp
cmp al, 0x37
xor dh, byte [esi]
add esp, 4
jmp 0x46d933
add edx, 0xe097
pop edx
mov dword [ebp - 0x770], 0
add byte [eax], al
add byte [eax], al
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1600], edx
cmp dword [ebp - 0x1600], 0
jne 0x46d96a
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x46dc5b
mov ecx, dword [ebp - 0x1600]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1604], edx
jne 0x46d992
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x46dc5b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1604]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1608], ecx
cmp dword [ebp - 0x1608], 0
jne 0x46d9c4
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x46dc5b
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1608]
mov dword [ebp - 0x764], eax
jne 0x46d9e9
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x46dc5b
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1d04], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1980], ecx
mov dword [ebp - 0x768], 0
jmp 0x46da43
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x46dc4f
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x197c]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1d04]
movzx ecx, word [eax + edx*2]
mov bh, 0xc
push eax
mov edx, dword [ebp - 0x1980]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1984], eax
mov dword [ebp - 0x1a0], 0
jmp 0x46dab3
mov ecx, dword [ebp - 0x1a0]
add ecx, 1
mov dword [ebp - 0x1a0], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
test eax, eax
je 0x46db65
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x46db65
push edx
push edi
add esp, 4
xor edx, 0xbf4d
pop edx
push esi
push ebx
add esp, 4
sub esi, 0x133ae
and esi, 0x14fbd
xor esi, 0x7453
pop esi
push ecx
and ecx, 0x9bcf
or ecx, 0x566c
pop ecx
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x46db57
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x46db5e
jmp 0x46daa4
jmp 0x46db65
push eax
jmp 0x46db6c
sub eax, 0x1111e
pop eax
push edx
push edx
add esp, 4
sub edx, 0x3bf
xor edx, 0xea6b
pop edx
push edi
call 0x46db93
add byte [ebp + 0x4a], al
xor eax, 0x35474b3d
add esp, 4
pop edi
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x46dbc4
mov dword [ebp - 0xcb8], 0
jmp 0x46dc33
push ebx
call 0x46dbd1
add byte [eax], bh
xor al, 0x43
dec edi
dec esi
add esp, 4
call 0x46dbe4
add byte [ecx], bh
dec esi
dec ecx
inc edx
aas
xor eax, 0x324d4a47
add esp, 4
pop ebx
push edx
add edx, 0x30f2
xor edx, 0xd9a
pop edx
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x878]
or eax, 0x20
cmp ecx, eax
jge 0x46dc29
mov dword [ebp - 0xcb8], 0xffffffff
jmp 0x46dc33
mov dword [ebp - 0xcb8], 1
cmp dword [ebp - 0xcb8], 0
jne 0x46dc4a
invalid
invalid
jl 0x46dc26