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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1fbc
push ebx
push esi
push edi
push ebx
jmp 0x44640b
sub ebx, 0xa1d7
and ebx, 0x16dbc
add ebx, 0x2594
pop ebx
push edx
push edx
add esp, 4
call 0x446430
add byte [eax + edx*2 + 0x37], cl
aas
aaa
inc esp
inc esi
add esp, 4
pop edx
mov eax, 0x4d
mov word [ebp - 0x1ef4], ax
mov ecx, 0x42
mov word [ebp - 0x1ef2], cx
mov edx, 0x53
mov word [ebp - 0x1ef0], dx
mov eax, 0x65
mov word [ebp - 0x1eee], ax
mov ecx, 0x72
mov word [ebp - 0x1eec], cx
mov edx, 0x76
mov word [ebp - 0x1eea], dx
mov eax, 0x69
mov word [ebp - 0x1ee8], ax
mov ecx, 0x63
mov word [ebp - 0x1ee6], cx
mov edx, 0x65
mov word [ebp - 0x1ee4], dx
mov eax, 0x2e
mov word [ebp - 0x1ee2], ax
mov ecx, 0x65
mov word [ebp - 0x1ee0], cx
mov edx, 0x78
mov word [ebp - 0x1ede], dx
mov eax, 0x65
mov word [ebp - 0x1edc], ax
xor ecx, ecx
mov word [ebp - 0x1eda], cx
mov dword [ebp - 0xfac], 1
push edx
or edx, 0xa958
sub edx, 0xec8e
sub edx, 0x6be3
add edx, 0x2a6b
pop edx
push esi
or esi, 0x13a02
call 0x446511
add byte [edi + 0x4d], cl
dec eax
cmp edi, dword [edi]
cmp edx, dword [eax - 0x7d]
les eax, [esi + ebx*2]
imul edx, dword [ebp - 0xfac], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0xfac], 0x138
sub edx, eax
xor edx, 0xabe912
imul edx, dword [ebp - 0xfac]
imul ecx, dword [ebp - 0xfac], 0x138
sub edx, ecx
mov dword [ebp - 0xfb0], edx
push ecx
push esi
add esp, 4
add ecx, 0xf6ef
or ecx, 0xfa3d
or ecx, 0x2cb0
sub ecx, 0x154fe
pop ecx
push eax
push esi
add esp, 4
or eax, 0xf111
pop eax
push esi
or esi, 0xc3ff
pop esi
mov dword [ebp - 0x10], 1
push edi
push ecx
add esp, 4
add edi, 0x943
sub edi, 0xa4ff
and edi, 0x2587
pop edi
push edx
call 0x4465b1
add byte [eax + 0x43], al
dec ebp
dec eax
cmp al, byte [edx + 0x4b]
xor al, 0x33
add esp, 4
add edx, 0x80c6
pop edx
imul edx, dword [ebp - 0x10], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x10], 0x138
sub edx, eax
xor edx, 0x153c
imul edx, dword [ebp - 0x10]
imul ecx, dword [ebp - 0x10], 0x138
sub edx, ecx
mov dword [ebp - 0x14], edx
push ebx
push edx
add esp, 4
sub ebx, 0x13833
pop ebx
push eax
push esi
add esp, 4
xor eax, 0x1512
and eax, 0xa170
sub eax, 0x2ff6
pop eax
push eax
or eax, 0x82ee
add eax, 0x9473
pop eax
push eax
push edi
add esp, 4
call 0x44662d
add byte [ebp + 0x37], al
cmp byte [eax + 0x3c], al
inc ebp
xor eax, 0x4c4833b
sub eax, 0x14679
sub eax, 0x17c3f
pop eax
push edi
and edi, 0x8095
xor edi, 0x15b49
pop edi
mov dword [ebp - 0x2c], 1
push edx
add edx, 0xa246
call 0x446668
add byte [edi], dh
xor al, 0x4d
inc edx
xor al, 0x4f
inc edi
cmp eax, 0x4c48338
add edx, 0xc897
or edx, 0x14cea
pop edx
push ecx
push ebx
add esp, 4
and ecx, 0xc193
pop ecx
imul edx, dword [ebp - 0x2c], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x2c], 0x138
sub edx, eax
xor edx, 0
imul edx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x2c], 0x138
sub edx, ecx
mov dword [ebp - 0x30], edx
jmp 0x446865
push ecx
push ebx
add esp, 4
or ecx, 0x9fe7
pop ecx
push ebx
jmp 0x4466c8
jmp 0x4466ce
call 0x4466da
add byte [esi], bh
inc eax
dec eax
push eax
inc edx
inc edi
add esp, 4
or ebx, 0x993c
pop ebx
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
xor ebx, 0x6498
pop ebx
push edi
call 0x446728
add byte [ebx + 0x40], al
inc ebp
inc edi
dec eax
xor al, 0x50
add esp, 4
xor edi, 0x113be
add edi, 0x9165
pop edi
push ecx
sub ecx, 0x182f3
pop ecx
mov edx, dword [ebp - 0x1c80]
add edx, 1
mov dword [ebp - 0x1494], edx
push edi
add edi, 0x908
call 0x446764
add byte [edx], bh
inc eax
inc edx
inc edx
dec edx
push eax
inc ebp
push eax
add esp, 4
and edi, 0x17f63
call 0x44677d
add byte [ecx + 0x4b], al
dec esi
cmp eax, 0x47493d35
dec eax
inc ecx
add esp, 4
pop edi
push esi
call 0x446791
add byte [eax], bh
cmp dword [edi], edi
dec ebp
cmp eax, dword [edi + 0x4e]
cmp esi, dword [ebx + eax*4]
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [esi + 0x39], cl
inc ecx
cmp cl, byte [ecx + 0x49]
push eax
xor al, 0x45
add esp, 4
and esi, 0x64d0
add esi, 0x73fa
pop esi
imul eax, dword [ebp - 0x2c], 0x138
add eax, 0x44f3644b
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 edx
push edi
add esp, 4
add edx, 0x17522
jmp 0x44680c
or edx, 0x4c0e
jmp 0x44681b
pop edx
push ecx
or ecx, 0x9901
and ecx, 0x14b51
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 ebx
jmp 0x446887
sub ebx, 0x1f22
pop ebx
push edi
push esi
add esp, 4
or edi, 0xc45b
pop edi
push ecx
xor ecx, 0x608d
jmp 0x4468a6
pop ecx
push eax
add eax, 0x14936
pop eax
push eax
or eax, 0x3a7c
xor eax, 0xd204
or eax, 0x9497
pop eax
push eax
push esi
add esp, 4
add eax, 0x80fb
sub eax, 0x9c02
xor eax, 0xfc42
and eax, 0xe68b
pop eax
mov eax, dword [ebp - 0x30]
add eax, 0x138
imul ecx, dword [ebp - 0x2c], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x2c], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1d2c], eax
push eax
xor eax, 0xbbc
and eax, 0xd591
xor eax, 0x172ac
pop eax
push eax
push edx
add esp, 4
or eax, 0xf219
call 0x446939
add byte [edi], dh
cmp al, 0x39
inc ebx
aaa
inc ebx
inc edi
xor esi, dword [edx]
add esp, 4
pop eax
mov eax, dword [ebp - 0x152c]
add eax, 0x138
imul ecx, dword [ebp - 0x1528], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x1528], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x1528]
mov dword [ebp - 0x1d28], eax
mov eax, dword [ebp - 0x1d28]
mov dword [ebp - 0x1d30], eax
mov ecx, dword [ebp - 0x1d2c]
cmp ecx, dword [ebp - 0x1d30]
jae 0x446999
mov dword [ebp - 0x149c], 1
jmp 0x4469a3
mov dword [ebp - 0x149c], 0
mov dl, byte [ebp - 0x149c]
mov byte [ebp - 0x382], dl
movzx eax, byte [ebp - 0x382]
test eax, eax
je 0x449a16
push ecx
push edi
add esp, 4
call 0x4469cf
add byte [ebp + 0x4b], al
aaa
aaa
xor edi, dword [ebx + eax*4]
les eax, [ebx + ebp*8]
pop es
dec ecx
dec esp
inc ebx
inc ebx
dec ebp
dec eax
dec esp
pop ecx
push edi
or edi, 0x7e3c
pop edi
push edx
push eax
add esp, 4
sub edx, 0x8ca9
pop edx
push ebx
push eax
add esp, 4
or ebx, 0x3649
and ebx, 0x1b06
and ebx, 0xb303
xor ebx, 0xbcee
pop ebx
push ecx
and ecx, 0x163fd
sub ecx, 0x115c6
and ecx, 0x7855
pop ecx
mov ecx, dword [ebp - 0x30]
add ecx, 0x138
imul edx, dword [ebp - 0x2c], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x2c], 0x138
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1d34], ecx
mov ecx, dword [ebp - 0x1d34]
mov dword [ebp - 0x1d38], ecx
cmp dword [ebp - 0x1d38], 0x63c1
jne 0x446b9d
push edx
or edx, 0x570e
pop edx
push ecx
push edx
add esp, 4
jmp 0x446a7b
jmp 0x446a80
pop ecx
push edi
push edi
add esp, 4
or edi, 0x10da6
add edi, 0x1561c
jmp 0x446a9a
pop edi
mov edx, dword [ebp - 0x14]
add edx, 0x138
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x1d3c], edx
mov edx, dword [ebp - 0x1d3c]
mov dword [ebp - 0x1d40], edx
mov eax, dword [ebp - 0x1d40]
sub eax, 0x898
mov dword [ebp - 0x1d44], eax
mov dword [ebp - 0xfb4], 1
push ebx
push eax
add esp, 4
and ebx, 0x5a49
and ebx, 0x84c0
pop ebx
push ecx
push ecx
add esp, 4
call 0x446b12
add byte [edx + 0x45], cl
cmp al, 0x3a
cmp al, 0x38
cmp al, 0x46
inc esi
add esp, 4
jmp 0x446b1d
pop ecx
imul ecx, dword [ebp - 0xfb4], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0xfb4], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1d44]
imul ecx, dword [ebp - 0xfb4]
imul eax, dword [ebp - 0xfb4], 0x138
sub ecx, eax
mov dword [ebp - 0xfb8], ecx
mov ecx, dword [ebp - 0xfb8]
mov edx, dword [ebp - 0xfb4]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
push edx
push esi
add esp, 4
sub edx, 0xa684
and edx, 0x13823
xor edx, 0x2b22
call 0x446b91
add byte [ebx + 0x42], cl
cmp al, 0x4e
xor eax, 0x494d4132
add esp, 4
pop edx
push ecx
or ecx, 0xf57f
pop ecx
push edi
jmp 0x446ba4
call 0x446bb2
add byte [edx], dh
dec edi
dec esp
cmp eax, 0x473e3850
add esp, 4
call 0x446bc5
add byte [edx + 0x49], cl
xor edi, dword [ecx]
cmp edi, dword [edi]
dec ebp
xor eax, dword [edx + 0x39]
add esp, 4
sub edi, 0x70d1
pop edi
mov eax, dword [ebp - 0x14]
add eax, 0x138
imul ecx, dword [ebp - 0x10], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0x10], 0x138
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1d48], eax
mov eax, dword [ebp - 0x1d48]
mov dword [ebp - 0x1db8], eax
lea ecx, [ebp - 0x928]
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0x3bc]
mov dword [edx + 4], 1
push eax
push edi
add esp, 4
or eax, 0x138ee
or eax, 0xd1dd
sub eax, 0xfdde
pop eax
push ecx
and ecx, 0xbf62
add ecx, 0xf947
pop ecx
push eax
push ecx
add esp, 4
add eax, 0x8fb6
pop eax
mov eax, dword [ebp - 0x3bc]
imul ecx, dword [eax + 4], 0x138
add ecx, 0x44f3644b
mov edx, dword [ebp - 0x3bc]
imul eax, dword [edx + 4], 0x138
sub ecx, eax
xor ecx, 0x23
mov edx, dword [ebp - 0x3bc]
imul ecx, dword [edx + 4]
mov eax, dword [ebp - 0x3bc]
imul edx, dword [eax + 4], 0x138
sub ecx, edx
mov eax, dword [ebp - 0x3bc]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0x1f58], ecx
push edx
push edx
add esp, 4
add edx, 0xf90c
add edx, 0x6969
pop edx
push edx
push ebx
add esp, 4
jmp 0x446cc1
sub edx, 0x1c07
and edx, 0x557b
sub edx, 0xf6df
pop edx
mov dword [ebp - 0x14a4], 1
push eax
push ebx
add esp, 4
xor eax, 0x3d1f
or eax, 0xd3c3
pop eax
push esi
xor esi, 0x14197
pop esi
push ecx
push ebx
add esp, 4
call 0x446d0c
add byte [edi + 0x4b], al
dec ebx
inc ebp
inc ebx
inc edx
inc esi
inc edx
inc ecx
add esp, 4
pop ecx
mov dword [ebp - 0x1f5c], 0x38
mov dword [ebp - 0x1f60], 0xe6
mov dword [ebp - 0x1f64], 0x6e
mov dword [ebp - 0x1f68], 0x6e
mov dword [ebp - 0x1f6c], 0x78
mov dword [ebp - 0x1530], 1
push eax
sub eax, 0x194d
pop eax
push esi
sub esi, 0xd211
and esi, 0xec14
add esi, 0x17fe8
pop esi
push ecx
push edi
add esp, 4
call 0x446d7a
add byte [ebx], bh
inc esi
xor eax, 0x4d3c3748
add esp, 4
pop ecx
imul edx, dword [ebp - 0x1530], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x1530], 0x138
sub edx, eax
xor edx, 0xe6
imul edx, dword [ebp - 0x1530]
imul ecx, dword [ebp - 0x1530], 0x138
sub edx, ecx
mov dword [ebp - 0x1534], edx
push edi
push esi
add esp, 4
and edi, 0x112a2
xor edi, 0x2860
and edi, 0x51b0
pop edi
push ecx
add ecx, 0xb316
pop ecx
push esi
push ecx
add esp, 4
xor esi, 0x4dc
sub esi, 0x1826d
pop esi
push ebx
push edi
add esp, 4
sub ebx, 0x5cbd
or ebx, 0x38e6
xor ebx, 0x11e50
and ebx, 0x4e16
pop ebx
push edx
or edx, 0x9eca
add edx, 0x12a80
xor edx, 0xc4ee
pop edx
mov edx, dword [ebp - 0x928]
add edx, 0x138
imul eax, dword [ebp - 0x924], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x924], 0x138
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x924]
mov dword [ebp - 0x1d4c], edx
mov edx, dword [ebp - 0x1d4c]
mov dword [ebp - 0x1d50], edx
mov eax, dword [ebp - 0x1d50]
sub eax, 0x6e
mov dword [ebp - 0x1d54], eax
mov dword [ebp - 0xa08], 1
push ebx
push esi
add esp, 4
jmp 0x446e82
sub ebx, 0x15577
call 0x446e94
add byte [eax], bh
dec ebp
dec edx
cmp cl, byte [edx + 0x4e]
add esp, 4
and ebx, 0x8646
pop ebx
push ebx
push esi
add esp, 4
and ebx, 0xe8f4
pop ebx
imul ecx, dword [ebp - 0xa08], 0x138
add ecx, 0x44f3644b
imul edx, dword [ebp - 0xa08], 0x138
sub ecx, edx
xor ecx, dword [ebp - 0x1d54]
imul ecx, dword [ebp - 0xa08]
imul eax, dword [ebp - 0xa08], 0x138
sub ecx, eax
mov dword [ebp - 0xa0c], ecx
push edi
and edi, 0x1670a
and edi, 0x7c7f
pop edi
push eax
jmp 0x446efc
pop eax
push esi
or esi, 0xf5
xor esi, 0x1468e
xor esi, 0xf184
or esi, 0x8bf
pop esi
mov ecx, dword [ebp - 0x928]
add ecx, 0x138
imul edx, dword [ebp - 0x924], 0x138
add edx, 0x44f3644b
imul eax, dword [ebp - 0x924], 0x138
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x924]
mov dword [ebp - 0x1d58], ecx
mov ecx, dword [ebp - 0x1d58]
mov dword [ebp - 0x1d5c], ecx
mov edx, dword [ebp - 0x1d5c]
add edx, 0x38
mov dword [ebp - 0x1d60], edx
mov dword [ebp - 0xa10], 1
push edi
push eax
add esp, 4
xor edi, 0xf990
call 0x446f8b
add byte [ebp + 0x4e], al
push eax
xor edi, dword [eax + edi]
cmp al, 0x83
les eax, [ecx + eax*4]
out 0x98, eax
sbb al, byte [eax]
add al, ch
or byte [eax], al
add byte [eax], al
add byte [edx + eax*2], dh
inc edx
inc ebx
dec ecx
inc ebx
aas
add esp, 4
pop edi
imul eax, dword [ebp - 0xa10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0xa10], 0x138
sub eax, ecx
xor eax, dword [ebp - 0x1d60]
imul eax, dword [ebp - 0xa10]
imul edx, dword [ebp - 0xa10], 0x138
sub eax, edx
mov dword [ebp - 0xa14], eax
push ecx
sub ecx, 0xf352
add ecx, 0xa01c
and ecx, 0x8a54
add ecx, 0x146ea
pop ecx
push ecx
push eax
add esp, 4
add ecx, 0x141cd
xor ecx, 0x7ce9
or ecx, 0x1869
pop ecx
push edx
push ecx
add esp, 4
add edx, 0x29c0
call 0x44702b
add byte [ebx], bh
inc edi
dec eax
dec edi
cmp dword [ebx + 0x50], ecx
cmp byte ds:[ebx + 0x565a04c4], al
sub esi, 0xbc57
add esi, 0xae3b
xor esi, 0x108ff
pop esi
mov dword [ebp - 0x2d0], 1
push edx
sub edx, 0x91dd
pop edx
push esi
push edi
add esp, 4
add esi, 0xc64
jmp 0x447069
call 0x447075
add byte [ecx + 0x37], al
cmp eax, 0x83474c3f
les eax, [ecx + eax*4]
into
xor eax, dword [eax + eax]
add byte [esi + 0x69], bl
test dword [eax], esi
std
invalid
push ebp
in al, dx
mov dword [ebp - 0x10], eax
push edi
jmp 0x4499e8
sub edi, 0x6aeb
pop edi
push edi
push eax
add esp, 4
or edi, 0x17575
sub edi, 0xdcda
pop edi
push ecx
jmp 0x449a0a
or ecx, 0xf372
pop ecx
jmp 0x4466b2
mov dword [ebp - 0x3c0], 0
call 0x449a25
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x3c0], eax
push eax
call 0x449a40
add byte [esi + 0x45], al
cmp cl, byte [esi + 0x43]
dec edx
cmp dword [eax - 0x7d], eax
les eax, [ecx + eax*4]
loopne 0x4499da
xchg edx, eax
add byte [eax], al
or eax, 0x14dcf
call 0x449a5f
add byte [0x47354b3b], bh
dec ecx
cmp al, 0x36
dec esp
xor al, byte [ebx - 0x74a7fb3c]
lea esp, [eax - 0x20]
invalid