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

Disassembly:
mov eax, dword [ebp - 0x77c]
add eax, 1
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ecx + 0x18]
jae 0x407992
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19f4]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19f8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19fc]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a00], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x4077f6
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4078a8
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x4078a8
push eax
push eax
add esp, 4
and eax, 0x10cd1
jmp 0x407834
pop eax
push esi
and esi, 0x918c
call 0x40784b
add byte [ebp + 0x4b], cl
dec ecx
cmp eax, 0x4a35374d
cmp eax, dword [ebx - 0x97efb3c]
invalid
push ebx
add ebx, 0x1014f
jmp 0x4078b5
or ebx, 0x15140
jmp 0x4078c2
pop ebx
push ebx
sub ebx, 0xc2f8
sub ebx, 0x8292
jmp 0x4078d9
pop ebx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x407907
mov dword [ebp - 0xcd4], 0
jmp 0x407976
push ecx
add ecx, 0x140c2
call 0x40791d
add byte [edi], bh
cmp ecx, dword [edx + ecx*2 + 0x40]
dec esp
cmp dword [esi], edi
add esp, 4
pop ecx
push edx
push ebx
add esp, 4
sub edx, 0x374b
add edx, 0x11666
or edx, 0xf374
pop edx
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
or ecx, 0x20
cmp edx, ecx
jge 0x40796c
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x407976
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x40798d
mov edx, dword [ebp - 0x1a00]
mov dword [ebp - 0x3f8], edx
jmp 0x40799e
jmp 0x407777
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x407a79
push eax
push edi
add esp, 4
sub eax, 0x13687
or eax, 0xe1cf
pop eax
push edi
add edi, 0x169dc
add edi, 0x29d7
sub edi, 0x76ce
pop edi
push edi
push edi
add esp, 4
xor edi, 0x86b7
pop edi
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x1a04], ecx
push edx
push eax
add esp, 4
and edx, 0xafcd
or edx, 0xf87c
call 0x407a06
add byte [edi], bh
dec eax
xor eax, 0x8344364b
les eax, [eax + ebp*8]
or dword [eax], eax
add byte [eax], al
add byte [ecx + 0x33], al
inc ebp
dec ebp
inc ebx
cmp eax, 0xc4834648
add al, 0x5a
mov edx, dword [ebp - 0x1a04]
mov dword [ebp - 0x1a08], edx
lea eax, [ebp - 0x1738]
push eax
call dword [ebp - 0x1a08]
test eax, eax
jne 0x407a79
push ecx
push edx
add esp, 4
xor ecx, 0x19f8
add ecx, 0xd839
sub ecx, 0xe94a
sub ecx, 0x64
pop ecx
push edi
push esi
add esp, 4
jmp 0x407a63
add edi, 0x1290d
pop edi
mov dword [ebp - 0xab4], 0
jmp 0x408164
push eax
sub eax, 0x118ba
xor eax, 0xed2c
pop eax
push edx
push edi
add esp, 4
or edx, 0x30e8
xor edx, 0x63c3
call 0x407aa7
add byte [edx], dh
cmp eax, 0x423f3847
inc edx
inc ecx
inc ebx
add esp, 4
pop edx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1a0c], ecx
mov edx, dword [ebp - 0x1a0c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a10], eax
mov ecx, dword [ebp - 0x1a10]
mov dword [ebp - 0x167c], ecx
push ecx
sub ecx, 0x588a
and ecx, 0x1394a
add ecx, 0x1430f
add ecx, 0xe7e0
pop ecx
push esi
push esi
add esp, 4
add esi, 0x13f30
and esi, 0x7425
add esi, 0xd6a3
pop esi
cmp dword [ebp - 0x167c], 0
jne 0x407b1d
mov dword [ebp - 0x2fc], 0
jmp 0x407dc4
mov edx, dword [ebp - 0x167c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push esi
sub esi, 0x11775
or esi, 0x105f8
pop esi
push edi
push esi
add esp, 4
jmp 0x407b48
pop edi
push eax
push edx
add esp, 4
and eax, 0x8689
pop eax
push esi
push ecx
add esp, 4
sub esi, 0xc691
pop esi
cmp dword [ebp - 0xce0], 0
jne 0x407b79
mov dword [ebp - 0x2fc], 0
jmp 0x407dc4
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push ecx
push esi
add esp, 4
xor ecx, 0xe632
sub ecx, 0xa3b8
or ecx, 0xbbfa
xor ecx, 0x11bf1
pop ecx
push ebx
add ebx, 0xc7a0
and ebx, 0x4a3b
sub ebx, 0x17423
pop ebx
lea eax, [ebp - 0x1738]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push esi
add esi, 0x17bc7
pop esi
push edi
push ecx
add esp, 4
xor edi, 0x4646
pop edi
push ebx
push edx
add esp, 4
and ebx, 0x149b3
or ebx, 0x7425
xor ebx, 0xeb09
xor ebx, 0x24b6
pop ebx
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push esi
push edx
add esp, 4
add esi, 0xb640
or esi, 0x17d42
pop esi
push ebx
jmp 0x407c82
call 0x407c92
add byte [ebx + ecx*2 + 0x49], al
inc esp
dec ebp
aaa
xor eax, dword [edi + 0x48]
add esp, 4
add ebx, 0x22b2
pop ebx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x407cb9
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1684], edx
jmp 0x407d13
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x407be1
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x407be1
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x407cfd
mov dword [ebp - 0x1680], 0xffffffff
jmp 0x407d07
mov dword [ebp - 0x1680], 1
mov ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x407d5c
push edx
push ebx
add esp, 4
add edx, 0x84c3
call 0x407d36
add byte [edx + 0x4a], cl
inc ecx
dec edx
dec ebx
cmp edi, dword [0xc4834833]
add al, 0x81
ret 0x9a15
push edx
push edi
add esp, 4
or edx, 0xa41e
sub edx, 0x6b91
xor edx, 0x6b14
pop edx
push ebx
and ebx, 0x7049
or ebx, 0x14135
pop ebx
push edx
push eax
add esp, 4
add edx, 0x212e
pop edx
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xce0]
je 0x407dba
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x407b85
mov dword [ebp - 0x2fc], 0
push ebx
call 0x407dd4
add byte [edx + edi + 0x39], al
inc esp
inc ebx
inc ebx
inc eax
aas
cmp eax, 0x5b04c483
push eax
or eax, 0x5efa
call 0x407dec
add byte [esi], bh
inc eax
dec esp
dec ebp
aaa
inc ecx
dec ebp
add esp, 4
sub eax, 0xf9cd
pop eax
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push ecx
push edi
add esp, 4
call 0x407e1a
add byte [edi + 0x36], al
xor eax, 0x41333b50
dec esi
dec esi
inc ecx
add esp, 4
pop ecx
push ecx
push esi
add esp, 4
xor ecx, 0x1306f
add ecx, 0x1a7c
jmp 0x407e36
pop ecx
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1688], eax
cmp dword [ebp - 0x1688], 0
jne 0x407e67
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x408158
mov edx, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x168c], eax
jne 0x407e8f
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x408158
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x168c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 0
jne 0x407ec1
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x408158
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x788], ecx
jne 0x407ee6
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x408158
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1a14], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a18], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a1c], edx
mov dword [ebp - 0x78c], 0
jmp 0x407f40
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x40814c
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a14]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a18]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a1c]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a20], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x407fb0
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x408062
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x408062
push ecx
push edi
add esp, 4
or ecx, 0x54a1
xor ecx, 0x22d0
and ecx, 0x18213
pop ecx
push esi
add esi, 0x7fbc
sub esi, 0x1205c
add esi, 0x180a8
xor esi, 0x11930
pop esi
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
cmp edx, ecx
je 0x408054
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a4]
movsx edx, byte [ebp + ecx - 0x9d4]
cmp eax, edx
jne 0x40805b
jmp 0x407fa1
jmp 0x408062
push ebx
call 0x408072
add byte [ebx + 0x44], al
inc eax
dec esp
push eax
dec edi
inc ecx
dec esp
aaa
add esp, 4
or ebx, 0xdb59
pop ebx
push ecx
push edi
add esp, 4
sub ecx, 0x1028e
pop ecx
push ebx
push esi
add esp, 4
add ebx, 0x2ec6
pop ebx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
cmp ecx, eax
jne 0x4080c1
mov dword [ebp - 0xce4], 0
jmp 0x408130
push eax
push ebx
add esp, 4
add eax, 0x3bdf
xor eax, 0xc3cf
add eax, 0xbd6e
xor eax, 0x1532c
pop eax
push edi
push edx
add esp, 4
sub edi, 0x9dc0
pop edi
push ebx
sub ebx, 0x3cee
pop ebx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
or ecx, 0x20
cmp edx, ecx
jge 0x408126
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x408130
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x408147
mov edx, dword [ebp - 0x1a20]
mov dword [ebp - 0x520], edx
jmp 0x408158
jmp 0x407f31
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xab4], ecx
push esi
push esi
add esp, 4
sub esi, 0x536e
or esi, 0x1833a
and esi, 0xc821
and esi, 0x172aa
pop esi
push esi
push esi
add esp, 4
add esi, 0xfd3e
pop esi
push eax
xor eax, 0xee79
pop eax
mov edx, dword [ebp - 0xab4]
mov dword [ebp - 0x1a24], edx
lea eax, [ebp - 0xce8]
push eax
push 0x40
mov ecx, dword [ebp - 0x1694]
push ecx
mov edx, dword [ebp - 0x3e8]
push edx
call dword [ebp - 0x1a24]
test eax, eax
jne 0x408209
push edx
push edi
add esp, 4
add edx, 0x84ef
and edx, 0x1814e
pop edx
push eax
push eax
add esp, 4
and eax, 0xa2a5
add eax, 0x1322
and eax, 0x11e28
pop eax
push edx
add edx, 0xae6e
pop edx
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x1a28], eax
push 0
call dword [ebp - 0x1a28]
mov ecx, dword [ebp - 0x1a2c]
mov dword [ebp - 0x798], ecx
jmp 0x408226
mov edx, dword [ebp - 0x798]
add edx, 1
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
cmp eax, dword [ebp - 0xab8]
jae 0x408282
push ebx
push edi
add esp, 4
call 0x408248
add byte [edi], dh
dec ebp
aas
inc esp
xor al, 0x3a
inc edx
cmp byte [ebx - 0x147efb3c], al
cmpsd dword [esi], dword es:[edi]
sub dword [ecx], eax
add bl, ch
push es
xor ecx, dword [ebp + 0x40]
cmp ecx, dword [ebx + 0x48]
pop ebx
push eax
push esi
add esp, 4
sub eax, 0x10276
pop eax
movzx ecx, byte [ebp - 0x3ae]
mov edx, dword [ebp - 0x798]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x798]
mov byte [ecx], al
jmp 0x408217
mov edx, dword [ebp - 0xab4]
mov dword [ebp - 0x1a30], edx
lea eax, [ebp - 0xce8]
push eax
mov ecx, dword [ebp - 0xce8]
push ecx
mov edx, dword [ebp - 0x1694]
push edx
mov eax, dword [ebp - 0x3e8]
push eax
call dword [ebp - 0x1a30]
test eax, eax
jne 0x4082fa
push esi
push eax
add esp, 4
xor esi, 0xca48
call 0x4082ce
add byte [edx], bh
dec esp
cmp byte [ebx + esi], bh
cmp dword [eax + 0x3a], ecx
dec esp
add esp, 4
or esi, 0xbff5
pop esi
push edi
add edi, 0x6f4d
jmp 0x4082e5
pop edi
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x1a34], ecx
push 0
call dword [ebp - 0x1a34]
push ecx
xor ecx, 0x8e25
and ecx, 0x12c28
pop ecx
push eax
push eax
add esp, 4
sub eax, 0x13997
call 0x408322
add byte [eax + 0x49], al
dec eax
inc ecx
cmp al, 0x42
inc esi
dec esp
add esp, 4
or eax, 0x5475
pop eax
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff09ff
pop ecx
pop ecx
mov ch, cl
nop
cwde
or dword [ecx], ecx
mov dl, cl
push edi
sbb eax, 0xc98a090a
sub edx, 0x60610909
pop ebx
mov ebp, cs
or eax, 0x3f4dd08a
or cl, byte [ecx]
push 0xcd8c5f5a
or eax, 0xbb41ca8a
or dword [ecx], ecx
mov bh, dl
and ah, byte [edx]
or cl, byte [ecx]
invalid