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

Disassembly:
push eax
add eax, 0x537
pop eax
push ecx
push eax
add esp, 4
sub ecx, 0x4a93
pop ecx
mov edx, dword [ebp - 0x508]
mov eax, dword [edx]
mov dword [ebp - 0x508], eax
mov ecx, dword [ebp - 0x508]
cmp ecx, dword [ebp - 0xca4]
je 0x446440
mov dword [ebp - 0x750], 0
push ecx
xor ecx, 0x245
and ecx, 0xd086
xor ecx, 0x124dc
pop ecx
push ebx
add ebx, 0xdb3b
jmp 0x44646e
sub ebx, 0xe00f
jmp 0x44647b
pop ebx
cmp dword [ebp - 0x750], 0
jne 0x4464c6
push ecx
push edi
add esp, 4
xor ecx, 0x786e
and ecx, 0xf167
pop ecx
push edi
push edi
add esp, 4
jmp 0x4464a1
pop edi
push ecx
push ecx
add esp, 4
call 0x4464b3
add byte [esp + eax*2 + 0x48], cl
cmp eax, 0xc4833d37
add al, 0x59
mov dword [ebp - 0x79c], 0
jmp 0x446fed
push edi
add edi, 0x3487
pop edi
push ecx
push ebx
add esp, 4
or ecx, 0x91ca
jmp 0x4464e1
and ecx, 0xaa0
call 0x4464f4
add byte [ebp + 0x4f], al
inc edx
cmp ecx, dword [edx + edi + 0x37]
add esp, 4
pop ecx
mov eax, dword [ebp - 0x750]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x760], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f0], edx
cmp dword [ebp - 0x15f0], 0
jne 0x446537
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x446828
mov ecx, dword [ebp - 0x15f0]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15f4], edx
jne 0x44655f
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x446828
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15f4]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15f8], ecx
cmp dword [ebp - 0x15f8], 0
jne 0x446591
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
jmp 0x446828
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15f8]
mov dword [ebp - 0x754], eax
jne 0x4465b6
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], ecx
jmp 0x446828
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1964], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1968], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x196c], ecx
mov dword [ebp - 0x758], 0
jmp 0x446610
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x44681c
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1964]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1968]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x446903
push eax
sub eax, 0x15d62
pop eax
push edi
and edi, 0xb130
and edi, 0x11099
or edi, 0x222c
call 0x44685c
add byte [ebp + 0x49], cl
cmp dword ds:[esp + edi], edi
add esp, 4
pop edi
push edi
jmp 0x446866
pop edi
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x1974], eax
push esi
push ecx
add esp, 4
call 0x446887
add byte [esp + esi + 0x4e], al
cmp dh, byte [edx]
aas
inc edi
inc eax
cmp al, 0x83
les eax, [ecx + eax*4]
out 0x92, al
cmp eax, dword [ecx]
add byte [ecx + 0x16786f6], al
add bl, ch
add al, 0x44
xor eax, 0x515e434f
xor ecx, 0x21d
sbb eax, 0x59000002
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1978], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x1978]
test eax, eax
jne 0x446903
push edi
sub edi, 0x1084d
call 0x4468d6
add byte [esi + 0x3b], al
push eax
inc ecx
dec ebp
cmp al, byte [ebx - 0x87efb3c]
cmp byte [eax - 0x307effff], al
mov ch, 0x16
add byte [eax], al
pop edi
push ebx
add ebx, 0x149f2
or ebx, 0xcf87
pop ebx
mov dword [ebp - 0x79c], 0
jmp 0x446fed
push esi
push ecx
add esp, 4
xor esi, 0x11db0
call 0x44691e
add byte [eax + 0x41], cl
xor eax, 0x4c443f46
xor eax, 0xc483493c
add al, 0xeb
add eax, 0x393d4b3f
dec ebx
pop esi
push edx
push eax
add esp, 4
and edx, 0x9053
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1980], edx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x15fc], eax
push esi
push ebx
add esp, 4
call 0x44696e
add byte [eax + 0x47], cl
inc eax
dec esi
inc ebp
xor al, 0x39
add esp, 4
jmp 0x446979
or esi, 0x38a2
pop esi
push eax
sub eax, 0x2610
sub eax, 0x15db8
pop eax
cmp dword [ebp - 0x15fc], 0
jne 0x4469a6
mov dword [ebp - 0x31c], 0
jmp 0x446c4d
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push edi
push edi
add esp, 4
or edi, 0x14b17
or edi, 0x7376
jmp 0x4469cf
pop edi
push edi
push esi
add esp, 4
sub edi, 0x7ac1
jmp 0x4469e1
pop edi
push ecx
sub ecx, 0xf072
pop ecx
cmp dword [ebp - 0xcb4], 0
jne 0x446a02
mov dword [ebp - 0x31c], 0
jmp 0x446c4d
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push edi
add edi, 0x481e
or edi, 0x15a66
pop edi
push eax
push edi
add esp, 4
add eax, 0xa17e
xor eax, 0xb043
pop eax
push edi
push esi
add esp, 4
add edi, 0x9ecd
or edi, 0x421
pop edi
lea edx, [ebp - 0x1738]
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 - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
xor esi, 0x3770
call 0x446a80
add byte [edi], bh
inc edi
xor edi, dword [eax]
xor ecx, dword [esi + 0x43]
aas
add esp, 4
call 0x446a92
add byte [esp + edi], dh
cmp cl, byte [ebx + 0x50]
inc ebp
inc ecx
inc edi
inc eax
add esp, 4
or esi, 0x5191
pop esi
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 - 0x218], 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
xor edi, 0x4c5f
call 0x446b07
add byte [0x40424041], bh
cmp al, 0x32
add esp, 4
pop edi
push edx
or edx, 0x173bc
or edx, 0x139a4
xor edx, 0x619b
sub edx, 0x159d0
pop edx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x446b42
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x446b9c
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x446a6a
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x446a6a
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x446b86
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x446b90
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x446be5
push esi
push esi
add esp, 4
sub esi, 0x5901
pop esi
push edx
jmp 0x446bb9
pop edx
push edi
push ebx
add esp, 4
sub edi, 0xb10d
sub edi, 0x198c
pop edi
push esi
jmp 0x446bd6
pop esi
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x446c4d
push edi
and edi, 0x150f4
add edi, 0x95aa
pop edi
push edi
push edx
add esp, 4
xor edi, 0x67cd
or edi, 0xefe2
call 0x446c13
add byte [ecx], bh
inc ebp
cmp byte [eax + ecx*2], bh
inc edi
dec ebp
dec ebx
dec edi
add esp, 4
pop edi
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 0x446c43
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x446a0e
mov dword [ebp - 0x31c], 0
push edi
push esi
add esp, 4
jmp 0x446c5a
and edi, 0xbe5f
pop edi
push ecx
push esi
add esp, 4
xor ecx, 0x17572
xor ecx, 0x7302
xor ecx, 0x5221
and ecx, 0x124ed
pop ecx
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push ecx
and ecx, 0x1448f
call 0x446ca4
add byte [esp + esi + 0x44], cl
cmp al, byte ds:[ebx + esi + 0x44]
aaa
add esp, 4
and ecx, 0xfe7
add ecx, 0x28e3
pop ecx
push edx
push edx
add esp, 4
or edx, 0xe54e
pop edx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x446cf0
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x446fe1
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x446d18
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x446fe1
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x160c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1610], ecx
cmp dword [ebp - 0x1610], 0
jne 0x446d4a
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x446fe1
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x446d6f
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x446fe1
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1984], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1988], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d10], ecx
mov dword [ebp - 0x768], 0
jmp 0x446dc9
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x446fd5
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1984]
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 - 0x1988]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d10]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x198c], eax
mov dword [ebp - 0x19c], 0
jmp 0x446e39
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x446eeb
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x446eeb
push edx
push edi
add esp, 4
or edx, 0x14025
add edx, 0x149a4
sub edx, 0xaec1
pop edx
push edi
add edi, 0x28b2
sub edi, 0x14b81
sub edi, 0x1e46
or edi, 0xbb3d
pop edi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x446edd
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x446ee4
jmp 0x446e2a
jmp 0x446eeb
push eax
sub eax, 0x6d68
pop eax
push eax
push ebx
add esp, 4
add eax, 0x1802
pop eax
push ecx