Function at 0x40907e
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
add esp, 4
add esi, 0x2006
call 0x4053ce
add byte [edi], dh
inc edx
dec edi
dec edx
cmp dword [ebx], esi
add esp, 4
jmp 0x4053da
pop esi
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 0x4055bc
mov ecx, dword [ebp - 0xfb0]
mov edx, dword [ebp - 0xfac]
mov dword [ebp - 0x152c], ecx
mov dword [ebp - 0x1528], edx
push ebx
push esi
add esp, 4
call 0x4055e5
add byte [esi], bh
aas
xor al, 0x45
inc ebp
aaa
add esp, 4
pop ebx
push ebx
call 0x4055f6
add byte [edi + 0x3e35394c], dh
add esp, 4
or ebx, 0x134bd
or ebx, 0x16e1
pop ebx
push esi
add esi, 0x12cd1
pop esi
push edx
push edi
add esp, 4
sub edx, 0xcd92
xor edx, 0x132c
xor edx, 0x1796b
pop edx
push esi
push eax
add esp, 4
and esi, 0xa1ab
sub esi, 0xbb55
pop esi
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 ecx
push esi
add esp, 4
or ecx, 0x4703
pop ecx
push ecx
push esi
add esp, 4
xor ecx, 0x1369e
pop ecx
push edi
xor edi, 0x10712
jmp 0x405687
or edi, 0xb9cd
or edi, 0x12fe9
pop edi
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 0x4056f0
mov dword [ebp - 0x149c], 1
jmp 0x4056fa
mov dword [ebp - 0x149c], 0
mov dl, byte [ebp - 0x149c]
mov byte [ebp - 0x382], dl
movzx eax, byte [ebp - 0x382]
test eax, eax
je 0x40876d
push edx
sub edx, 0x19e3
call 0x405728
add byte [eax + 0x3b], al
inc ecx
dec ecx
cmp dh, byte [edx]
add esp, 4
jmp 0x405733
pop edx
push edx
xor edx, 0x11f5c
jmp 0x405740
xor edx, 0x16d64
pop edx
push eax
push eax
add esp, 4
call 0x40575c
add byte [0x3b504848], dh
cmp bh, byte [eax]
push eax
push eax
cmp eax, 0x5804c483
push edx
push eax
add esp, 4
xor edx, 0x743d
pop edx
push ecx
push eax
add esp, 4
jmp 0x405778
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
mov dword [ebp - 0x3c0], 0
call 0x40877c
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x3c0], eax
push esi
or esi, 0x7baa
call 0x40879c
add byte [ecx], bh
cmp byte [ebx + 0x33], cl
inc esp
dec edi
dec eax
add esp, 4
sub esi, 0x568f
jmp 0x4087aa
pop esi
push ebx
push edi
add esp, 4
jmp 0x4087b9
pop ebx
mov ecx, dword [ebp - 0x1fa0]
mov dword [ebp - 0x14b8], ecx
push ebx
jmp 0x4087cd
xor ebx, 0x90c7
sub ebx, 0x502e
pop ebx
push ecx
push ebx
add esp, 4
jmp 0x4087e5
pop ecx
push edx
push ecx
add esp, 4
and edx, 0x12114
or edx, 0x5e4f
pop edx
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 - 0x14b8], edx
mov edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x1ef8], edx
mov eax, dword [ebp - 0x1ef8]
add eax, dword [ebp - 0x14b8]
mov dword [ebp - 0x3c0], eax
push edx
and edx, 0x11310
pop edx
push ebx
push eax
add esp, 4
xor ebx, 0x1200
pop ebx
push ecx
jmp 0x40885d
and ecx, 0x489c
pop ecx
push esi
xor esi, 0x8c41
or esi, 0x134f
pop esi
mov byte [ebp - 0xb78], 0x52
mov byte [ebp - 0xb77], 0xb9
mov byte [ebp - 0xb76], 0x10
mov byte [ebp - 0xb75], 0x10
mov byte [ebp - 0xb74], 0x10
mov byte [ebp - 0xb73], 0x10
mov byte [ebp - 0xb72], 0x5a
push edx
push ebx
add esp, 4
add edx, 0x14ea1
pop edx
push ecx
or ecx, 0x172ed
and ecx, 0x156e3
or ecx, 0x3f52
and ecx, 0xfab5
pop ecx
push esi
push eax
add esp, 4
or esi, 0x10cf6
pop esi
mov byte [ebp - 0xb80], 0x52
mov byte [ebp - 0xb7f], 0xb9
mov byte [ebp - 0xb7e], 0x20
mov byte [ebp - 0xb7d], 0x20
mov byte [ebp - 0xb7c], 0x20
mov byte [ebp - 0xb7b], 0x20
mov byte [ebp - 0xb7a], 0x5a
push esi
push edi
add esp, 4
xor esi, 0xf488
xor esi, 0x334a
pop esi
push edx
push esi
add esp, 4
sub edx, 0x5320
pop edx
push edx
xor edx, 0x67ce
or edx, 0x7994
add edx, 0x37f1
pop edx
mov dword [ebp - 0x1fa4], 0xe
push edx
push edi
add esp, 4
and edx, 0x7a5c
sub edx, 0xfc70
call 0x408961
add byte [edi + eax*2 + 0x3a], al
dec ebx
dec eax
inc edi
push eax
push eax
add esp, 4
call 0x408970
add byte [esp + esi], dh
inc eax
inc edi
dec edi
dec ebp
add esp, 4
pop edx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb78]
mov dword [ebp - 0x14bc], eax
push eax
call 0x408996
add byte [ebx], bh
dec eax
xor eax, 0x833c4335
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [eax + 0x36], dl
cmp al, byte [edi + 0x4c]
cmp eax, 0x83333c4c
les eax, [ecx + eax*4]
enter 0x2f9b, 1
add bl, ch
pop es
xor al, 0x36
cmp al, 0x4c
inc eax
dec edi
inc esp
pop eax
mov dword [ebp - 0x1fa8], 0xffffffff
push eax
and eax, 0x15ace
pop eax
push eax
push eax
add esp, 4
xor eax, 0xf268
add eax, 0xd59c
call 0x4089ed
add byte [esi], bh
dec ecx
inc ecx
cmp cl, byte [ebx + 0x4c]
dec ecx
xor al, 0x3f
add esp, 4
or eax, 0x16f82
pop eax
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4cc], ecx
jmp 0x408a14
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
push edi
push eax
add esp, 4
call 0x408a25
add byte [ebx + 0x39], al
cmp al, 0x4c
inc esi
add esp, 4
sub edi, 0xe49
pop edi
push ecx
push ecx
add esp, 4
jmp 0x408a39
and ecx, 0x3649
sub ecx, 0x40bb
pop ecx
mov eax, dword [ebp - 0x4cc]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x408a8e
push edi
and edi, 0x1706d
or edi, 0x49af
xor edi, 0x20ac
sub edi, 0xea1d
pop edi
push eax
push eax
add esp, 4
and eax, 0x11132
add eax, 0x6caa
or eax, 0xaf59
pop eax
jmp 0x408cbc
mov dword [ebp - 0xc08], 7
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa68], ecx
push esi
push edi
add esp, 4
or esi, 0x8ff3
call 0x408abe
add byte [edi + esi], bh
aaa
inc esp
xor ecx, dword [edi + 0x44]
xor al, byte [ebx + 0x535e04c4]
and ebx, 0x3d8c
pop ebx
push edi
push eax
add esp, 4
add edi, 0xa019
pop edi
mov edx, dword [ebp - 0x14bc]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x14bc]
jne 0x408b3d
push edi
jmp 0x408b02
pop edi
push edi
push ecx
add esp, 4
add edi, 0x895
and edi, 0x17ed9
pop edi
push edx
push ebx
add esp, 4
jmp 0x408b1f
pop edx
push ebx
push edi
add esp, 4
add ebx, 0x1087e
pop ebx
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], ecx
jmp 0x408c6e
cmp dword [ebp - 0xc08], 0
jle 0x408c62
push esi
and esi, 0x6af2
sub esi, 0xf249
and esi, 0x8bc2
or esi, 0x15f36
pop esi
push esi
push ecx
add esp, 4
sub esi, 0x14824
add esi, 0xc9
sub esi, 0x95e6
pop esi
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x408bfe
push edx
push esi
add esp, 4
xor edx, 0xcca1
add edx, 0x1727b
pop edx
push ecx
add ecx, 0x764f
or ecx, 0xaef4
xor ecx, 0x11288
pop ecx
push edx
push edi
add esp, 4
xor edx, 0x24fb
pop edx
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x408be6
mov dword [ebp - 0x14c0], 1
jmp 0x408bf0
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x408c62
push ecx
push esi
add esp, 4
add ecx, 0x1247f
add ecx, 0x12e87
pop ecx
push ecx
push ebx
add esp, 4
or ecx, 0x13e96
and ecx, 0xba9a
or ecx, 0xc447
pop ecx
push ebx
and ebx, 0xd76e
pop ebx
mov edx, dword [ebp - 0xc08]
sub edx, 1
mov dword [ebp - 0xc08], edx
mov eax, dword [ebp - 0xa68]
add eax, 1
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
jmp 0x408b3d
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x408cb7
push esi
push esi
add esp, 4
add esi, 0x15ac4
pop esi
push eax
push ecx
add esp, 4
or eax, 0x11bd4
add eax, 0x76c8
add eax, 0xe83
pop eax
push edi
xor edi, 0x7a11
add edi, 0xf777
pop edi
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x408cf8
jmp 0x408a05
push edx
push eax
add esp, 4
xor edx, 0x11bbf
sub edx, 0x6cd5
pop edx
push eax
or eax, 0xf6c
call 0x408ce4
add byte [eax + 0x44], cl
inc ebp
dec eax
cmp cl, byte [esi + 0x37]
inc edi
inc ebp
add esp, 4
add eax, 0x43b8
pop eax
mov dword [ebp - 0x3cc], 0
push edx
push ebx
add esp, 4
or edx, 0x1ce0
pop edx
push ecx
push edi
add esp, 4
or ecx, 0x15ced
jmp 0x408d15
and ecx, 0x7ef3
pop ecx
push esi
and esi, 0xc014
sub esi, 0x11348
pop esi
push esi
xor esi, 0x17f0d
sub esi, 0x3806
sub esi, 0x772d
and esi, 0x1452
pop esi
push edx
push eax
add esp, 4
add edx, 0x14cfb
and edx, 0x46d7
and edx, 0xb215
pop edx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push eax
and eax, 0x9cd3
and eax, 0x62ea
sub eax, 0xefed
pop eax
push ebx
push ecx
add esp, 4
or ebx, 0x4c64
and ebx, 0xf4b1
or ebx, 0x10f35
sub ebx, 0x8a96
pop ebx
mov dword [ebp - 0x1fac], 0xffffffff
push esi
push esi
add esp, 4
add esi, 0x97be
xor esi, 0x615
pop esi
push eax
call 0x408dce
add byte [edx + 0x37], al
dec esp
xor esi, dword [ebx]
cmp esi, dword [esi + edi]
add esp, 4
xor eax, 0x16b24
jmp 0x408dde
pop eax
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x408dfc
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push edx
sub edx, 0x8e04
or edx, 0x6604
or edx, 0x13c7c
call 0x408e1c
add byte [ecx + 0x47], al
dec edi
xor al, 0x4a
dec esp
dec esp
add esp, 4
pop edx
push edi
jmp 0x408e28
jmp 0x408e2d
pop edi
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x408e76
push esi
push edx
add esp, 4
and esi, 0xb899
or esi, 0xb142
and esi, 0x16d62
pop esi
push esi
jmp 0x408e5e
pop esi
push ecx
push ecx
add esp, 4
or ecx, 0x7079
add ecx, 0x119de
pop ecx
jmp 0x4090a4
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push ecx
call 0x408e9a
add byte [ebp + 0x39], cl
inc eax
dec eax
dec eax
xor dh, byte [edx]
add esp, 4
add ecx, 0xefca
and ecx, 0x1cea
or ecx, 0xe2f2
pop ecx
push esi
sub esi, 0x843f
and esi, 0x2d97
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 0x408f25
push ecx
push edi
add esp, 4
and ecx, 0x1a79
or ecx, 0x7257
and ecx, 0x3415
pop ecx
push eax
sub eax, 0xe3b5
pop eax
push edx
push eax
add esp, 4
add edx, 0x7d98
add edx, 0xee4c
pop edx
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x409056
cmp dword [ebp - 0xc10], 0
jle 0x40904a
push edx
sub edx, 0x21c3
xor edx, 0x112a3
call 0x408f4f
add byte [ebx], bh
inc ecx
xor eax, 0x3c474648
cmp al, byte ds:[esi - 0x7d]
les eax, [eax + ebp*8]
or dword [eax], eax
add byte [eax], al
add byte [esi], bh
inc ebp
push eax
inc esi
inc ecx
cmp dword [edx + 0x46], ecx
add esp, 4
pop edx
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x408fe6
push ecx
xor ecx, 0x83b5
pop ecx
push ebx
xor ebx, 0xb2da
sub ebx, 0x7ef
sub ebx, 0x9515
pop ebx
push esi
or esi, 0x5a1
or esi, 0x12ff0
jmp 0x408fab
pop esi
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x408fce
mov dword [ebp - 0x14cc], 1
jmp 0x408fd8
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x40904a
push edi
push esi
add esp, 4
or edi, 0xbd65
add edi, 0xc450
or edi, 0xb24a
pop edi
push ecx
push ebx
add esp, 4
sub ecx, 0x16979
jmp 0x40900f
pop ecx
push eax
jmp 0x409017
pop eax
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 0x408f25
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x40909f
push ecx
push edi
add esp, 4
add ecx, 0x16e72
xor ecx, 0x10913
pop ecx
push edi
call 0x40907e
add byte [edi], bh
dec esi
dec ecx
cmp byte [edx + 0x3a], cl
add esp, 4
jmp 0x40908a
sub edi, 0x16780
pop edi
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x4090e0
jmp 0x408ded
push edx
sub edx, 0x143e9
add edx, 0x1771e
xor edx, 0x182d0
pop edx
push esi
push edx
add esp, 4
or esi, 0xfefe
add esi, 0x1653e
xor esi, 0x181a5
sub esi, 0xf1b4
pop esi
mov dword [ebp - 0xa5c], 0
push edx
and edx, 0x6fd3
pop edx
push ebx
push edx
add esp, 4
xor ebx, 0x50ae
add ebx, 0x16f43
pop ebx
push eax
jmp 0x409104
sub eax, 0x15f98
jmp 0x409111
pop eax
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 ecx
xor ecx, 0x8f5a
or ecx, 0xda4b
xor ecx, 0xb33d
sub ecx, 0x121e8
pop ecx
push edx
push edx
add esp, 4
call 0x409194
add byte [edi + 0x3f], cl
dec ecx
inc eax
xor eax, 0x3c383c40
add esp, 4
pop edx
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 ebx
or ebx, 0x127be
and ebx, 0x17958
pop ebx
push ebx
sub ebx, 0x58fb
and ebx, 0x1114b
call 0x409259
add byte [edi], dh
cmp al, 0x3d
dec ecx
xor ecx, dword [edx - 0x7d]
les eax, [ecx + eax*4]
jmp 0x40920d
jmp 0x6cfb9211