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

Disassembly:
mov eax, dword [ebp - 0x548]
add eax, 1
mov dword [ebp - 0x548], eax
push edx
sub edx, 0x116c0
jmp 0x405d2b
pop edx
push ecx
call 0x405d3c
add byte [esi], bh
aas
cmp eax, dword [eax + 0x43]
push eax
inc ecx
cmp al, 0x3f
add esp, 4
call 0x405d4d
or dword [eax], eax
add byte [eax], al
add byte [esi + 0x37], cl
inc esi
inc eax
aaa
cmp dword [edi], esi
dec eax
add esp, 4
pop ecx
mov ecx, dword [ebp - 0x548]
sub ecx, dword [ebp - 0x424]
cmp ecx, 0xffffffff
jb 0x405d99
push ebx
push esi
add esp, 4
xor ebx, 0x1815c
pop ebx
push edx
sub edx, 0x460f
xor edx, 0xbcdf
call 0x405d8a
add byte [edi + 0x43], al
dec ebx
dec eax
cmp al, 0x38
dec ecx
dec ebp
inc ebp
add esp, 4
or edx, 0x177c1
pop edx
jmp 0x405fc7
mov dword [ebp - 0xd80], 7
mov edx, dword [ebp - 0x548]
mov dword [ebp - 0xae0], edx
push edi
add edi, 0x165f5
or edi, 0x9196
sub edi, 0xc6ad
pop edi
push edx
push ebx
add esp, 4
xor edx, 0x176ef
or edx, 0x49fe
or edx, 0x79bf
and edx, 0xa782
pop edx
mov eax, dword [ebp - 0x1730]
mov dword [ebp - 0xb40], eax
mov dword [ebp - 0xd84], 0
mov ecx, dword [ebp - 0x548]
cmp ecx, dword [ebp - 0x1730]
jne 0x405e48
push eax
call 0x405e16
add byte [0x3f4a4850], dh
cmp bh, byte [edi + eax*2]
inc edx
cmp dword [ebx + 0x7eb04c4], eax
xor cl, byte [ebp + 0x36]
inc esp
dec ecx
cmp dword [esi - 0x7f], eax
invalid
cmp dword [ebp - 0xd80], 0
jle 0x405f6d
push edx
or edx, 0x46a
pop edx
push esi
push edx
add esp, 4
sub esi, 0x11e6
jmp 0x405e70
sub esi, 0x13803
call 0x405e83
add byte [edx + 0x3b], al
xor al, 0x39
xor edi, dword [ebx]
aas
add esp, 4
pop esi
mov eax, dword [ebp - 0xae0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xb40]
movzx eax, byte [edx]
cmp ecx, eax
je 0x405f09
push eax
push esi
add esp, 4
and eax, 0x101e
add eax, 0xabbb
call 0x405ebe
add byte [eax], al
add byte [eax], al
dec esi
inc esp
aaa
xor al, byte [ebx + 0x4c]
aas
cmp al, byte ss:[ebx + 0x535804c4]
add ebx, 0x80ef
jmp 0x405ece
pop ebx
mov ecx, dword [ebp - 0xae0]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xb40]
movzx ecx, byte [eax]
or byte [ebx], bh
sar dword [esi + 0xc], 1
mov dword [ebp - 0x1734], 1
jmp 0x405efb
mov dword [ebp - 0x1734], 0xffffffff
mov edx, dword [ebp - 0x1734]
mov dword [ebp - 0xd84], edx
jmp 0x405f6d
push edx
sub edx, 0xec60
mov eax, dword [ebp - 0xd84]
mov dword [ebp - 0x1738], eax
cmp dword [ebp - 0x1738], 0
jne 0x405fc2
push esi
xor esi, 0x156c1
or esi, 0x2db4
pop esi
push ecx
sub ecx, 0x145c6
pop ecx
push edi
xor edi, 0x1290a
and edi, 0x2cc8
or edi, 0x3f4f
pop edi
push eax
sub eax, 0xb7c9
pop eax
mov ecx, dword [ebp - 0x548]
mov dword [ebp - 0x414], ecx
jmp 0x406003
jmp 0x405d10
push esi
sub esi, 0x16195
pop esi
push eax
push edx
add esp, 4
xor eax, 0xe797
jmp 0x405fdf
call 0x405fee
add byte [ecx + ecx*2 + 0x33], cl
push eax
dec edx
inc ebp
cmp dl, byte [eax + 0x44]
add esp, 4
jmp 0x405ff8
pop eax
mov dword [ebp - 0x414], 0
push esi
push eax
add esp, 4
xor esi, 0x36
pop esi
push esi
and esi, 0x15cd2
call 0x406025
add byte [ecx + 0x32], al
xor eax, 0x40435040
push eax
inc ebx
inc eax
inc edx
inc ecx
add esp, 4
or esi, 0xc348
and esi, 0xa48c
mov word [eax + eax + 0x56575e00], fs
add esp, 4
or edi, 0xced3
jmp 0x406046
jmp 0x40604e
pop edi
push ebx
jmp 0x406058
sub ebx, 0x414d
pop ebx
push ecx
or ecx, 0x11ca
pop ecx
mov edx, 1
imul eax, edx, 0
lea ecx, [ebp + eax - 0xc68]
mov dword [ebp - 0x173c], ecx
push edi
push ebx
add esp, 4
call 0x40608f
add byte [edi + 0x35], cl
push eax
dec esp
aaa
xor eax, 0x4c4833f
jmp 0x40609b
and edi, 0x6600
pop edi
push esi
push ebx
add esp, 4
sub esi, 0x5ee0
pop esi
mov dword [ebp - 0x22a4], 0xffffffff
push edx
push eax
add esp, 4
sub edx, 0xfa4d
jmp 0x4060c9
pop edx
push ebx
push edx
add esp, 4
add ebx, 0x133
add ebx, 0x46ae
or ebx, 0xe49e
add byte [ebx + 0x56], bl
and esi, 0xc522
pop esi
mov edx, dword [ebp - 0x424]
mov dword [ebp - 0x54c], edx
jmp 0x406107
mov eax, dword [ebp - 0x54c]
add eax, 1
mov dword [ebp - 0x54c], eax
push edi
push ebx
add esp, 4
add edi, 0xe173
sub edi, 0x14a24
pop edi
push edi
xor edi, 0x104d3
jmp 0x406126
pop edi
push eax
push ecx
add esp, 4
xor eax, 0x14160
or eax, 0x12240
pop eax
mov ecx, dword [ebp - 0x54c]
sub ecx, dword [ebp - 0x424]
cmp ecx, 0xffffffff
jb 0x406181
push ecx
push esi
add esp, 4
sub ecx, 0x9367
pop ecx
push edx
call 0x406164
add byte [ebx + 0x40], cl
xor al, 0x42
inc edx
dec ebx
aaa
cmp dword [ebx + 0x3eb04c4], eax
inc esp
dec eax
xor al, 0xe8
pop es
add byte [eax], al
add byte [eax], al
dec eax
inc esp
cmp dword [ebx + 0x38], eax
cmp byte [ebx - 0x16a5fb3c], al
add al, byte cs:[eax]
add bh, al
test dword [eax - 0xe], edi
invalid
mov dword [ebp - 0xd88], 7
mov edx, dword [ebp - 0x54c]
mov dword [ebp - 0xb3c], edx
push ecx
push eax
add esp, 4
add ecx, 0x59c1
and ecx, 0x93b3
pop ecx
push ecx
push ebx
add esp, 4
add ecx, 0xa277
xor ecx, 0xc387
jmp 0x4061c2
or ecx, 0x7db2
pop ecx
mov eax, dword [ebp - 0x173c]
mov dword [ebp - 0xb38], eax
test eax, ecx
hlt
invalid
inc edi
test dword [edx + esi*8 - 1], esi
inc dword [eax]
add byte [eax], al
add byte [ebx - 0x54b73], cl
invalid
cmp ecx, dword [ebp - 0x173c]
jne 0x406230
push edi
and edi, 0x9d40
pop edi
push esi
push ebx
add esp, 4
or esi, 0x5c37
pop esi
push edi
push edi
add esp, 4
and edi, 0xd986
sub edi, 0x41a8
sub edi, 0xc20f
and edi, 0xa37c
pop edi
mov edx, dword [ebp - 0xd8c]
mov dword [ebp - 0x1744], edx
jmp 0x406361
cmp dword [ebp - 0xd88], 0
jle 0x406355
push ebx
push eax
add esp, 4
or ebx, 0x1d71
pop ebx
push ebx
and ebx, 0xc6b9
call 0x40625f
add byte [eax + 0x35], al
inc esp
cmp bh, byte [esi]
inc ebp
xor al, byte [edx + 0x49]
add esp, 4
xor ebx, 0x144fb
or ebx, 0x3ea1
pop ebx
mov eax, dword [ebp - 0xb3c]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xb38]
movzx eax, byte [edx]
cmp ecx, eax
je 0x4062f1
push esi
xor esi, 0x9dfc
call 0x40629b
add byte [ebx + 0x3f], cl
xor eax, dword [edi + esi + 0x4d]
dec edi
cmp al, 0x50
add esp, 4
pop esi
push ebx
push edi
add esp, 4
sub ebx, 0x74dc
sub ebx, 0x13d7f
add ebx, 0x11ca6
pop ebx
mov ecx, dword [ebp - 0xb3c]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xb38]
movzx ecx, byte [eax]
cmp edx, ecx
jle 0x4062d9
mov dword [ebp - 0x1740], 1
jmp 0x4062e3
mov dword [ebp - 0x1740], 0xffffffff
mov edx, dword [ebp - 0x1740]
mov dword [ebp - 0xd8c], edx
jmp 0x406355
push ebx
push ebx
add esp, 4
or ebx, 0x12d67
jmp 0x406304
sub ebx, 0xba91
pop ebx
push eax
push ecx
add esp, 4
add eax, 0x17fdd
jmp 0x40631c
and eax, 0x12437
pop eax
mov eax, dword [ebp - 0xd88]
sub eax, 1
mov dword [ebp - 0xd88], eax
mov ecx, dword [ebp - 0xb3c]
add ecx, 1
mov dword [ebp - 0xb3c], ecx
mov edx, dword [ebp - 0xb38]
add edx, 1
mov dword [ebp - 0xb38], edx
jmp 0x406230
mov eax, dword [ebp - 0xd8c]
mov dword [ebp - 0x1744], eax
cmp dword [ebp - 0x1744], 0
jne 0x4063aa
push ecx
sub ecx, 0xea78
add ecx, 0xc0a6
xor ecx, 0xa944
pop ecx
push esi
push esi
add esp, 4
add esi, 0xaf9f
pop esi
push esi
push eax
add esp, 4
and esi, 0x16ac2
and esi, 0x33b2
pop esi
mov ecx, dword [ebp - 0x54c]
mov dword [ebp - 0xb34], ecx
jmp 0x4063eb
jmp 0x4060f8
push edi
push esi
add esp, 4
sub edi, 0x8783
xor edi, 0xcd36
pop edi
push eax
sub eax, 0x173f1
call 0x406411
add byte [ecx + 0x36], cl
dec ebp
xor bh, byte [ebx]
cmp ecx, dword [ebx - 0x7d]
les eax, [eax + ebx*2]
push eax
or eax, 0x9bc9
pop eax
mov byte [ebp - 0x8e8], 0x45
mov byte [ebp - 0x8e7], 0x78
mov byte [ebp - 0x8e6], 0x69
mov byte [ebp - 0x8e5], 0x74
mov byte [ebp - 0x8e4], 0x50
mov byte [ebp - 0x8e3], 0x72
mov byte [ebp - 0x8e2], 0x6f
mov byte [ebp - 0x8e1], 0x63
mov byte [ebp - 0x8e0], 0x65
mov byte [ebp - 0x8df], 0x73
mov byte [ebp - 0x8de], 0x73
mov byte [ebp - 0x8dd], 0
push eax
push edx
add esp, 4
jmp 0x40647f
jmp 0x406484
sub eax, 0xd246
add eax, 0xc49d
pop eax
push ecx
push eax
add esp, 4
sub ecx, 0x5512
sub ecx, 0x18511
pop ecx
mov edx, 0x6b
mov word [ebp - 0x187c], dx
mov eax, 0x65
mov word [ebp - 0x187a], ax
mov ecx, 0x72
mov word [ebp - 0x1878], cx
mov edx, 0x6e
mov word [ebp - 0x1876], dx
mov eax, 0x65
mov word [ebp - 0x1874], ax
mov ecx, 0x6c
mov word [ebp - 0x1872], cx
mov edx, 0x33
mov word [ebp - 0x1870], dx
mov eax, 0x32
mov word [ebp - 0x186e], ax
mov ecx, 0x2e
mov word [ebp - 0x186c], cx
mov edx, 0x64
mov word [ebp - 0x186a], dx
mov eax, 0x6c
mov word [ebp - 0x1868], ax
mov ecx, 0x6c
mov word [ebp - 0x1866], cx
xor edx, edx
mov word [ebp - 0x1864], dx
push ebx
push eax
add esp, 4
jmp 0x406546
and ebx, 0x18450
pop ebx
push esi
add esi, 0x2803
pop esi
push edi
push ebx
add esp, 4
jmp 0x40655f
pop edi
push ecx
sub ecx, 0x13686
sub ecx, 0xc60
pop ecx
push ecx
push edx
add esp, 4
call 0x406582
add byte [ebx + 0x44], al
dec edi
aas
xor ecx, dword [edi + 0x37]
aas
add esp, 4
and ecx, 0x1616b
pop ecx
push edi
push eax
add esp, 4
or edi, 0x61c7
jmp 0x40659f
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1b44], eax
mov ecx, dword [ebp - 0x1b44]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1ef4], edx
mov eax, dword [ebp - 0x1ef4]
mov dword [ebp - 0x1748], eax
push esi
push edx
add esp, 4
sub esi, 0xa5d9
pop esi
push esi
or esi, 0xe71e
call 0x4065ea
add byte [ebp + ecx*2 + 0x4a], cl
aas
cmp ecx, dword [ebx + 0x46]
dec esp
dec eax
inc esp
add esp, 4
add esi, 0x13889
jmp 0x4065f8
pop esi
cmp dword [ebp - 0x1748], 0
jne 0x406611
mov dword [ebp - 0x338], 0
jmp 0x4068b8
mov ecx, dword [ebp - 0x1748]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xd98], eax
push ebx
and ebx, 0xc0c6
call 0x406639
add byte [eax + 0x44], al
inc eax
inc esp
aas
dec eax
inc ebx
inc edi
add esp, 4
add ebx, 0x2d47
call 0x406651
add byte [esi + 0x46], al
cmp byte [edi + 0x3a], cl
inc esp
aas
cmp al, byte [eax - 0x7d]
inc eax
add esp, 4
pop ebx
cmp dword [ebp - 0xd98], 0
jne 0x40666d
mov dword [ebp - 0x338], 0
jmp 0x4068b8
mov ecx, dword [ebp - 0xd98]
mov dword [ebp - 0x550], ecx
push ecx
push edi
add esp, 4
add ecx, 0x11f8d
lea ebx, [edi]
add dword [eax], eax
jmp 0x40668a
pop ecx
push edx
and edx, 0xd852
pop edx
push ecx
push esi
add esp, 4
or ecx, 0x10624
add ecx, 0x171eb
jmp 0x4066aa
pop ecx
lea edx, [ebp - 0x187c]
mov dword [ebp - 0xd94], edx
mov eax, dword [ebp - 0x550]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xd90], ecx
xor edx, edx
mov word [ebp - 0x234], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ebx
push ebx
add esp, 4
sub ebx, 0x1245d
pop ebx
push esi
jmp 0x4066e7
and esi, 0xd360
call 0x4066fa
add byte [ecx], bh
dec esi
inc ecx
cmp byte [ebx + 0x4e], cl
cmp eax, dword [ebx + 0x7eb04c4]
inc esi
cmp esi, dword [edi]
xor eax, 0x5e334938
mov ecx, dword [ebp - 0xd90]
mov dx, word [ecx]
mov word [ebp - 0x113e], dx
mov eax, dword [ebp - 0xd90]
add eax, 2
mov dword [ebp - 0xd90], eax
mov cx, word [ebp - 0x113e]
mov word [ebp - 0x234], cx
mov edx, dword [ebp - 0xd94]
mov ax, word [edx]
mov word [ebp - 0x1140], ax
mov ecx, dword [ebp - 0xd94]
add ecx, 2
mov dword [ebp - 0xd94], ecx
mov dx, word [ebp - 0x1140]
mov word [ebp - 0x38], dx
push esi
or esi, 0xa0a0
pop esi
push ebx
push edx
add esp, 4
call 0x406777
add byte [ebp + 0x32], cl
xor ecx, dword [ebp + 0x3e]
cmp al, byte [ebx + 0x505b04c4]
and eax, 0x5a2
pop eax
push edx
and edx, 0x13a7c
jmp 0x40678f
pop edx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x4067ad
movzx ecx, word [ebp - 0x234]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1750], ecx
jmp 0x406807
movzx eax, word [ebp - 0x234]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x4066d5
movzx edx, word [ebp - 0x234]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x4066d5
movzx ecx, word [ebp - 0x234]
movzx edx, word [ebp - 0x38]
enter 0xffffffffffffca3b, 0x7d
invalid
mov dword [ebp - 0x174c], 0xffffffff
jmp 0x4067fb
mov dword [ebp - 0x174c], 1
mov eax, dword [ebp - 0x174c]
mov dword [ebp - 0x1750], eax
cmp dword [ebp - 0x1750], 0
jne 0x406850
push edx
push ebx
add esp, 4
jmp 0x40681a
pop edx
push eax
add eax, 0x88a7
xor eax, 0x115b5
pop eax
push ebx
jmp 0x406833
pop ebx
push eax
sub eax, 0x1294f
sub eax, 0x621f
pop eax
mov ecx, dword [ebp - 0x550]
mov dword [ebp - 0x338], ecx
jmp 0x4068b8
push ebx
push ecx
add esp, 4
call 0x406865
add byte [ecx + 0x4e], cl
xor al, 0x39
dec ebp
dec ebp
cmp al, 0x3a
cmp eax, dword [ebx + 0x505b04c4]
call 0x406878
add byte [ebx + 0x3f], cl
cmp cl, byte [eax + 0x32]
xor cl, byte [ebx + 0x4b]
add esp, 4
or eax, 0x161cf
pop eax
mov edx, dword [ebp - 0x550]
mov eax, dword [edx]
mov dword [ebp - 0x550], eax
mov ecx, dword [ebp - 0x550]
cmp ecx, dword [ebp - 0xd98]
je 0x4068ae
mov edx, dword [ebp - 0x550]
cmp dword [edx + 0x30], 0
jne 0x406679
mov dword [ebp - 0x338], 0
push eax
push ecx
add esp, 4
sub eax, 0x7a13
xor eax, 0x16655
xor eax, 0x5f66
or eax, 0xcc19
pop eax
push edx
add edx, 0x15db4
sub edx, 0xc6f4
sub edx, 0x124ee
pop edx
cmp dword [ebp - 0x338], 0
jne 0x4071ef
mov eax, 0x6b
mov word [ebp - 0x18b0], ax
mov ecx, 0x65
mov word [ebp - 0x18ae], cx
mov edx, 0x72
mov word [ebp - 0x18ac], dx
mov eax, 0x6e
mov word [ebp - 0x18aa], ax
mov ecx, 0x65
mov word [ebp - 0x18a8], cx
out 0xff, eax
invalid
mov edx, 0x6c
mov word [ebp - 0x18a6], dx
mov eax, 0x33
mov word [ebp - 0x18a4], ax
mov ecx, 0x32
mov word [ebp - 0x18a2], cx
mov edx, 0x2e
mov word [ebp - 0x18a0], dx
mov eax, 0x64
mov word [ebp - 0x189e], ax
mov ecx, 0x6c
mov word [ebp - 0x189c], cx
mov edx, 0x6c
mov word [ebp - 0x189a], dx
xor eax, eax
mov word [ebp - 0x1898], ax
push eax
push ebx
add esp, 4
xor eax, 0x11872
jmp 0x4069a1
or eax, 0x119af
or eax, 0x957
pop eax
push ebx
or ebx, 0xb28c
add ebx, 0xfbcb
xor ebx, 0x178c9
pop ebx
mov byte [ebp - 0x914], 0x4c
mov byte [ebp - 0x913], 0x6f
mov byte [ebp - 0x912], 0x61
mov byte [ebp - 0x911], 0x64
mov byte [ebp - 0x910], 0x4c
mov byte [ebp - 0x90f], 0x69
invalid
test edx, esi
invalid