Function at 0x40c952
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x4c4
mov eax, 0x453431
call fcn.00437b2f
mov ebx, ecx
call fcn.0041919b
mov eax, dword [eax + 4]
mov eax, dword [eax + 0xa8]
mov dword [ebx + 0x74], eax
call fcn.0041919b
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x4c4]
push ecx
mov ecx, eax
call fcn.004078cc
and dword [ebp - 4], 0
call fcn.0044f3f0
push dword [ebp - 0x4c4]
mov esi, dword [0x456334]
push 1
push str.autostart
mov edi, str.common
push edi
call esi
push dword [ebp - 0x4c4]
mov dword [ebp - 0x4d0], eax
push 1
push str.trayicon
push edi
call esi
push dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], eax
push 1
push 0x45913c
push edi
call esi
push dword [ebp - 0x4c4]
mov dword [ebp - 0x4c0], eax
push 1
push str.shellext
push edi
call esi
push dword [ebp - 0x4c4]
xor edi, edi
push edi
push str.disable
push 0x45910c
mov dword [ebp - 0x4cc], eax
call esi
mov esi, eax
call fcn.0044f500
xor eax, eax
cmp dword [ebp - 0x4d0], 1
mov ecx, ebx
sete al
push eax
push 0x459
call fcn.0041f3d5
mov ecx, eax
call fcn.0040a3fc
xor eax, eax
cmp dword [ebp - 0x4c8], 1
mov ecx, ebx
sete al
push eax
push 0x433
call fcn.0041f3d5
mov ecx, eax
call fcn.0040a3fc
xor eax, eax
cmp dword [ebp - 0x4c0], 1
mov ecx, ebx
sete al
push eax
push 0x408
call fcn.0041f3d5
mov ecx, eax
call fcn.0040a3fc
xor eax, eax
cmp dword [ebp - 0x4cc], edi
mov ecx, ebx
setne al
push eax
push 0x404
call fcn.0041f3d5
mov ecx, eax
call fcn.0040a3fc
xor eax, eax
cmp esi, edi
sete al
mov ecx, ebx
push eax
push 0x447
call fcn.0041f3d5
mov ecx, eax
call fcn.0040a3fc
lea ecx, [ebx + 0x294]
push edi
call fcn.0041f561
call fcn.0041919b
mov eax, dword [eax + 4]
mov esi, 0x80
push esi
lea ecx, [ebp - 0x420]
push ecx
mov ecx, eax
call fcn.004079ce
xor eax, eax
mov edi, 0x1fe
push edi
push eax
mov word [ebp - 0x220], ax
lea eax, [ebp - 0x21e]
push eax
call fcn.00438690
add esp, 0xc
lea ecx, [ebp - 0x4bc]
call fcn.004102ed
mov byte [ebp - 4], 1
lea eax, [ebp - 0x220]
push eax
call fcn.0044ec90
test eax, eax
jne 0x40cc67
push 0x457d74
push 0x457d28
lea eax, [ebp - 0x320]
push esi
push eax
mov dword [ebp - 0x4c0], 0x200
call fcn.004389cb
add esp, 0x10
lea eax, [ebp - 0x4c0]
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x4c8]
push eax
push 0x457d1c
lea eax, [ebp - 0x320]
push eax
push 0x80000002
call dword [0x456434]
test eax, eax
je 0x40cc67
push eax
call dword [0x45634c]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4bc]
call fcn.0040fb10
push 0x401
mov ecx, ebx
call fcn.0041f3d5
push 0
push 1
push 0xf1
push dword [eax + 0x20]
call dword [0x456660]
push 1
push 0x40b
mov ecx, ebx
call fcn.0041f3d5
mov ecx, eax
call fcn.0041f5a3
xor eax, eax
push edi
push eax
mov word [ebp - 0x220], ax
lea eax, [ebp - 0x21e]
push eax
call fcn.00438690
add esp, 0xc
lea ecx, [ebp - 0x4bc]
call fcn.004102ed
mov byte [ebp - 4], 2
lea eax, [ebp - 0x220]
push eax
call fcn.0044ec90
test eax, eax
jne 0x40cde1
push 0x457d74
push 0x457d28
lea eax, [ebp - 0x320]
push esi
push eax
mov dword [ebp - 0x4c0], 0x200
call fcn.004389cb
add esp, 0x10
lea eax, [ebp - 0x4c0]
push eax
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x4c8]
push eax
push 0x457d1c
lea eax, [ebp - 0x320]
push eax
push 0x80000002
call dword [0x456434]
test eax, eax
je 0x40cde1
push eax
call dword [0x45634c]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4bc]
call fcn.0040fb10
jmp 0x40cd74
push str._BLANKPWD
lea eax, [ebp - 0x220]
push 0x100
push eax
call fcn.0043882e
lea eax, [ebp - 0x220]
push eax
call fcn.00437f92
add esp, 0x10
add eax, eax
push eax
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x4bc]
call fcn.004102ff
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x4bc]
call fcn.004103a4
movzx eax, byte [ebp - 0x11]
push eax
movzx eax, byte [ebp - 0x12]
push eax
movzx eax, byte [ebp - 0x13]
push eax
movzx eax, byte [ebp - 0x14]
push eax
movzx eax, byte [ebp - 0x15]
push eax
movzx eax, byte [ebp - 0x16]
push eax
movzx eax, byte [ebp - 0x17]
push eax
movzx eax, byte [ebp - 0x18]
push eax
movzx eax, byte [ebp - 0x19]
push eax
movzx eax, byte [ebp - 0x1a]
push eax
movzx eax, byte [ebp - 0x1b]
push eax
movzx eax, byte [ebp - 0x1c]
push eax
movzx eax, byte [ebp - 0x1d]
push eax
movzx eax, byte [ebp - 0x1e]
push eax
movzx eax, byte [ebp - 0x1f]
push eax
movzx eax, byte [ebp - 0x20]
push eax
push str._02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x
lea eax, [ebp - 0x220]
push 0x100
push eax
call fcn.004389cb
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.00438994
add esp, 0x54
test eax, eax
jne 0x40cb75
mov byte [ebp - 4], al
lea ecx, [ebp - 0x4bc]
call fcn.0040fb10
push 0x401
mov ecx, ebx
call fcn.0041f3d5
xor esi, esi
push esi
push esi
push 0xf1
push dword [eax + 0x20]
call dword [0x456660]
push esi
push 0x40b
mov ecx, ebx
call fcn.0041f3d5
mov ecx, eax
call fcn.0041f5a3
push 0x404
mov ecx, ebx
call fcn.0041f3d5
mov ecx, eax
call fcn.00404b45
test eax, eax
je 0x40cf04
push 0x401
mov ecx, ebx
call fcn.0041f3d5
mov ecx, eax
call fcn.00404b45
test eax, eax
je 0x40cf04
push 1
mov esi, 0x448
push esi
mov ecx, ebx
call fcn.0041f3d5
mov ecx, eax
call fcn.0041f5a3
xor eax, eax
cmp dword [ebp - 0x4cc], 2
mov ecx, ebx
sete al
push eax
push esi
call fcn.0041f3d5
mov ecx, eax
call fcn.0040a3fc
jmp 0x40cf19
push 0x4569a0
mov esi, 0x100
lea eax, [ebp - 0x220]
push esi
push eax
call fcn.0043882e
lea eax, [ebp - 0x220]
push eax
call fcn.00437f92
add esp, 0x10
add eax, eax
push eax
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x4bc]
call fcn.004102ff
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x4bc]
call fcn.004103a4
movzx eax, byte [ebp - 0x11]
push eax
movzx eax, byte [ebp - 0x12]
push eax
movzx eax, byte [ebp - 0x13]
push eax
movzx eax, byte [ebp - 0x14]
push eax
movzx eax, byte [ebp - 0x15]
push eax
movzx eax, byte [ebp - 0x16]
push eax
movzx eax, byte [ebp - 0x17]
push eax
movzx eax, byte [ebp - 0x18]
push eax
movzx eax, byte [ebp - 0x19]
push eax
movzx eax, byte [ebp - 0x1a]
push eax
movzx eax, byte [ebp - 0x1b]
push eax
movzx eax, byte [ebp - 0x1c]
push eax
movzx eax, byte [ebp - 0x1d]
push eax
movzx eax, byte [ebp - 0x1e]
push eax
movzx eax, byte [ebp - 0x1f]
push eax
movzx eax, byte [ebp - 0x20]
push eax
push str._02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x
lea eax, [ebp - 0x220]
push esi
push eax
call fcn.004389cb
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.00438994
add esp, 0x54
test eax, eax
jne 0x40cc53
mov byte [ebp - 4], al
lea ecx, [ebp - 0x4bc]
call fcn.0040fb10
call fcn.0041919b
mov eax, dword [eax + 4]
push 0xc356
lea ecx, [ebp - 0x4c0]
push ecx
mov ecx, eax
call fcn.00407b59
mov byte [ebp - 4], 3
push dword [eax]
lea esi, [ebx + 0x294]
mov ecx, esi
call fcn.0041f4bf
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4c0]
call fcn.00401668
push 5
mov ecx, esi
call fcn.0041f561
jmp 0x40cd74
push 0
push 0x448
mov ecx, ebx
call fcn.0041f3d5
mov ecx, eax
call fcn.0041f5a3
push 0x447
mov ecx, ebx
call fcn.0041f3d5
mov ecx, eax
call fcn.00404b45
test eax, eax
jne 0x40cf44
push eax
push 0x44e
mov ecx, ebx
call fcn.0041f3d5
mov ecx, eax
call fcn.0041f5a3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c4]
call fcn.00401668
call fcn.00437bb2
ret 4