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

Disassembly:
add esp, 4
pop esi
mov dword [ebp - 0x1fac], 0xffffffff
push edi
push ebx
add esp, 4
or edi, 0x3328
sub edi, 0x17cbb
and edi, 0x17e41
pop edi
push ebx
push ecx
add esp, 4
sub ebx, 0x90c3
xor ebx, 0xea4a
pop ebx
push ecx
sub ecx, 0xf5de
pop ecx
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x406265
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push esi
push esi
add esp, 4
add esi, 0xedc2
call 0x40627f
add byte [edi + 0x3b], al
dec ebp
cmp eax, 0x3f484947
add esp, 4
pop esi
push edx
push eax
add esp, 4
add edx, 0x2bbd
pop edx
push eax
add eax, 0x13679
pop eax
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x4062df
push edx
add edx, 0x4a22
pop edx
push ebx
push eax
add esp, 4
call 0x4062c1
add byte [ecx], bh
cmp al, 0x50
dec esi
cmp dword [edi], edi
add esp, 4
pop ebx
push ecx
call 0x4062d6
add byte [edx + 0x4a], cl
inc edx
inc esp
inc edx
inc edi
cmp eax, 0x83494837
les eax, [ecx + ebx*2]
jmp 0x40650d
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push esi
or esi, 0x10af7
pop esi
push esi
or esi, 0x133ed
and esi, 0x15a04
sub esi, 0xf68d
pop esi
push ecx
or ecx, 0x1040
add ecx, 0xe9e8
pop ecx
push esi
sub esi, 0x167e3
pop esi
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 0x40638e
push esi
xor esi, 0x5cf8
or esi, 0x1340
and esi, 0x1215a
jmp 0x406365
pop esi
push ebx
push edi
add esp, 4
jmp 0x406374
pop ebx
push edi
sub edi, 0x304a
pop edi
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x4064bf
cmp dword [ebp - 0xc10], 0
jle 0x4064b3
push esi
push ebx
add esp, 4
xor esi, 0xca5b
jmp 0x4063ae
add esi, 0xc9bc
xor esi, 0x6a47
pop esi
push edi
push ecx
add esp, 4
sub edi, 0x1068f
or edi, 0xe31
pop edi
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x40644f
push edi
push ebx
add esp, 4
or edi, 0x5d05
pop edi
push eax
push ebx
add esp, 4
sub eax, 0x2e73
and eax, 0xcd5c
and eax, 0xe2d0
xor eax, 0xdbf0
pop eax
push ecx
or ecx, 0xdfeb
pop ecx
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x406437
mov dword [ebp - 0x14cc], 1
jmp 0x406441
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x4064b3
push esi
push ecx
add esp, 4
sub esi, 0xca2
and esi, 0x183ff
jmp 0x406468
pop esi
push ecx
push ecx
add esp, 4
add ecx, 0xc9b0
pop ecx
push edi
push edx
add esp, 4
and edi, 0x7448
pop edi
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 0x40638e
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x406508
push ecx
jmp 0x4064d2
or ecx, 0x156fd
sub ecx, 0xe83f
pop ecx
push edx
call 0x4064f0
add byte [eax + 0x42], dl
xor al, 0x48
aas
inc ecx
cmp al, 0x3e
inc ecx
add esp, 4
sub edx, 0x13a76
pop edx
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x406549
jmp 0x406256
push esi
add esi, 0x3eab
pop esi
push ecx
or ecx, 0xbcf1
or ecx, 0x17065
pop ecx
push edx
sub edx, 0xb9b
pop edx
push ecx
and ecx, 0x1258a
or ecx, 0x14d06
add ecx, 0x1c85
pop ecx
mov dword [ebp - 0xa5c], 0
push ebx
push esi
add esp, 4
add ebx, 0xf96f
or ebx, 0x1478
or ebx, 0x9f74
pop ebx
push eax
sub eax, 0x7bbe
xor eax, 0x147
pop eax
push edx
push esi
add esp, 4
xor edx, 0x2368
pop edx
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 ebx
push eax
add esp, 4
sub ebx, 0x42b
call 0x4065e8
add byte [esi + 0x44], cl
inc ecx
dec ebx
xor eax, dword [ecx + ecx*2 + 0x3f]
add esp, 4
pop ebx
push ecx
jmp 0x4065f2
pop ecx
push eax
xor eax, 0xa9cd
and eax, 0xf02f
pop eax
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 eax
push edi
add esp, 4
or eax, 0x77dc
pop eax
push edi
push ebx
add esp, 4
sub edi, 0x3841
pop edi
push edi
push edi
add esp, 4
xor edi, 0x9138
pop edi
push edx
jmp 0x4066c5
and edx, 0x137fc
pop edx
push edx
call 0x4066db
add byte [esi + 0x4c], al
cmp dword ds:[ebp + 0x33], eax
xor al, byte [eax - 0x7d]
les eax, [ecx + eax*4]
loop 0x406723
mov al, byte [eax]
add byte [ecx + 0x13743ca], al
add bl, ch
add edi, dword [esi]
inc eax
pop edx
push ebx
xor ebx, 0x14cb9
add ebx, 0x69a
pop ebx
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 ecx
push esi
add esp, 4
add ecx, 0xf26f
pop ecx
push edx
push edx
add esp, 4
add edx, 0x7d2f
pop edx
push ecx
push esi
add esp, 4
xor ecx, 0xf631
xor ecx, 0x7c4a
pop ecx
push ecx
and ecx, 0xcfd9
pop ecx
cmp dword [ebp - 0x14d4], 0
jne 0x406770
jmp 0x406724
invalid
mov dword [ebp - 0x2e0], 0
jmp 0x406a2c
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push ebx
sub ebx, 0x34c7
pop ebx
push ecx
call 0x406799
add byte [esi], bh
cmp byte [edi], dh
cmp dword [esi - 0x3b7cc9b2], esi
add al, 0xeb
pop es
dec edi
inc ecx
inc eax
dec esp
cmp dword [edx + 0x42], eax
pop ecx
push edi
xor edi, 0xeef3
add edi, 0x346d
pop edi
cmp dword [ebp - 0xc20], 0
jne 0x4067cc
mov dword [ebp - 0x2e0], 0
jmp 0x406a2c
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push ebx
add ebx, 0xecc9
add ebx, 0x16441
jmp 0x4067ec
add ebx, 0x16559
pop ebx
push ebx
add ebx, 0x3df3
jmp 0x406803
xor ebx, 0xaac2
pop ebx
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
or eax, 0x8a72
or eax, 0xfc88
or eax, 0xa546
or eax, 0x16fa8
pop eax
push eax
xor eax, 0x4b77
pop eax
push edx
push eax
add esp, 4
add edx, 0x532e
pop edx
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 ecx
xor ecx, 0xf3a7
pop ecx
push ecx
push eax
add esp, 4
jmp 0x4068d8
add ecx, 0xda40
jmp 0x4068e3
pop ecx
push edi
call 0x4068f1
add byte [esp + edi + 0x46], cl
dec edi
dec eax
dec edx
add esp, 4
pop edi
movzx edx, word [ebp - 0x100]
test edx, edx
jne 0x406918
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
sub eax, ecx
mov dword [ebp - 0x1498], eax
jmp 0x40697b
movzx edx, word [ebp - 0x1f8]
movzx eax, word [ebp - 0x100]
cmp edx, eax
je 0x406837
movzx ecx, word [ebp - 0x1f8]
xor ecx, 0x20
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x406837
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
jge 0x406965
mov dword [ebp - 0x14d8], 0xffffffff
jmp 0x40696f
mov dword [ebp - 0x14d8], 1
mov edx, dword [ebp - 0x14d8]
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jne 0x4069c4
push esi
push ecx
add esp, 4
and esi, 0x169ca
call 0x40699b
add byte [eax + 0x3f], dl
inc ebx
inc edx
inc ecx
dec ebx
add esp, 4
pop esi
push edi
sub edi, 0x69
call 0x4069b2
add byte [edx + 0x48], al
cmp ecx, dword [edx + 0x32]
cmp eax, dword [ebx - 0x74a0fb3c]
test dword [ebx + edi*8], ebp
invalid
push ecx
push esi
add esp, 4
add ecx, 0x6b88
sub ecx, 0x94a0
xor ecx, 0x3cfe
pop ecx
push edi
jmp 0x4069e3
and edi, 0x16d75
pop edi
push esi
push esi
add esp, 4
xor esi, 0xdeb5
pop esi
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 0x406a22
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 0x30], 0
jne 0x4067d8
mov dword [ebp - 0x2e0], 0
push eax
push esi
add esp, 4
sub eax, 0x6f59
pop eax
push edi
call 0x406a48
add byte [0x4643424e], dh
cmp dword ss:[edx], esi
xor eax, 0x8104c483
invalid