Function at 0x415f8e
Capabilities:
Delete registry value
Persist via run registry key
Query or enumerate registry value

Disassembly:
mov eax, 0x482fd3
call fcn.00466fdc
sub esp, 0x41c
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
push 1
lea eax, [ebp - 0x24]
pop edi
lea ecx, [ebp - 0x54]
push edi
push eax
push esi
call fcn.00402e7f
movsx eax, byte [esi]
add eax, 0xffffffbf
xor ebx, ebx
cmp eax, 0x39
mov dword [ebp - 4], ebx
ja case.0x415fc9.71
jmp dword [eax*4 + 0x416cbc]
push str.auto
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x41600a
mov ecx, dword [ebp + 8]
push ebx
push ebx
push str._auto
mov eax, dword [ecx + 0x164]
lea esi, [ecx + 0x164]
mov byte [eax + 2], 1
call fcn.0042ceca
mov eax, dword [esi]
mov byte [eax + 2], 1
jmp 0x416c85
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], ebx
je 0x416020
push eax
call fcn.00415451
pop ecx
xor edi, edi
jmp 0x41611f
mov ecx, dword [ebp + 8]
push ebx
push ebx
push 0x4a10b8
mov dword [ecx + 0x14], edi
call fcn.0042ceca
push esi
call dword [sym.imp.USER32.dll_CharNextA]
lea ecx, [ebp - 0x23]
push edi
push ecx
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00402e7f
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x1e4]
push ebx
push eax
push 0xe
mov byte [ebp - 4], 1
call fcn.0040a3c9
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1e4]
jmp 0x4169b7
push esi
call dword [sym.imp.USER32.dll_CharNextA]
lea ecx, [ebp - 0x25]
push edi
push ecx
push eax
lea ecx, [ebp - 0x284]
call fcn.00402e7f
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x284]
push ebx
push eax
push 0xc
mov byte [ebp - 4], 2
call fcn.0040a3c9
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x284]
jmp 0x4169b7
mov esi, dword [ebp + 8]
push edi
mov ecx, esi
call fcn.0042a7b1
jmp 0x4166b1
mov eax, str.debuglog
mov dword [ebp - 0x11c], 0x48b6a8
mov ecx, eax
mov dword [ebp - 0xfc], 0x48b6a0
test ecx, ecx
jne 0x4160de
mov eax, 0x4a9e50
lea ecx, [ebp - 0x1e]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x11c]
call fcn.00404d89
lea eax, [ebp - 0x11c]
push ebx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 3
call fcn.00402e4a
neg eax
sbb al, al
lea ecx, [ebp - 0x11c]
inc al
mov byte [ebp - 4], bl
mov byte [ebp + 0xf], al
call fcn.00402438
cmp byte [ebp + 0xf], bl
je 0x416132
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.00402438
mov eax, edi
jmp 0x416cad
push edi
push esi
call dword [sym.imp.USER32.dll_CharNextA]
push eax
push 0x4a10a0
jmp 0x416c7d
mov eax, 0x4a1090
mov edi, 0x48b6a0
mov ecx, eax
mov dword [ebp - 0x7c], 0x48b6a8
test ecx, ecx
mov dword [ebp - 0x5c], edi
jne 0x416164
mov eax, 0x4a9e50
lea ecx, [ebp - 0x18]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x7c]
call fcn.00404d89
lea eax, [ebp - 0x7c]
push ebx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 4
call fcn.00402e4a
test eax, eax
jne 0x4161e6
mov eax, 0x4a108c
mov dword [ebp - 0xcc], 0x48b6a8
mov ecx, eax
mov dword [ebp - 0xac], edi
test ecx, ecx
jne 0x4161a7
mov eax, 0x4a9e50
lea ecx, [ebp - 0x22]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xcc]
call fcn.00404d89
lea eax, [ebp - 0xcc]
lea ecx, [ebp - 0x54]
push eax
mov byte [ebp - 4], 5
call fcn.00416fcc
lea ecx, [ebp - 0xcc]
mov byte [ebp + 0xf], al
mov byte [ebp - 4], 4
call fcn.00402438
cmp byte [ebp + 0xf], bl
mov byte [ebp + 0xf], 1
jne 0x4161e9
mov byte [ebp + 0xf], bl
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], bl
call fcn.00402438
cmp byte [ebp + 0xf], bl
je 0x41622a
push 0xffffffffffffffff
lea eax, [ebp - 0x400]
push 5
push eax
lea ecx, [ebp - 0x54]
call fcn.00403fb0
mov ecx, dword [ebp + 8]
push ebx
push eax
push 0x10
mov byte [ebp - 4], 6
call fcn.0040a3c9
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x400]
jmp 0x4169b7
push esi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
push str._IS_E_
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x416255
mov edi, 0x4aba88
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x4162f0
mov dword [ebp + 0xc], ebx
push 0xf003f
push str.SoftwareMicrosoftWindowsCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 7
call fcn.00416db9
test eax, eax
jne 0x4163d1
push 0x40
lea edi, [ebp - 0x3d7]
pop ecx
mov byte [ebp - 0x3d8], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0x104
push eax
lea eax, [ebp - 0x3d8]
push eax
lea eax, [ebp - 0x14]
push eax
push ebx
push esi
mov dword [ebp - 0x14], ebx
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x3d8]
mov edi, 0x4aba88
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp + 0xc], ebx
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
je 0x4162e3
push dword [ebp + 0xc]
call esi
mov dword [ebp + 0xc], ebx
cmp dword [ebp + 0xc], ebx
mov byte [ebp - 4], bl
je 0x4162f0
push dword [ebp + 0xc]
call esi
push edi
call fcn.00434978
mov esi, dword [ebp + 8]
mov ecx, 0x4ab230
mov dword [esi + 0x44], 1
call fcn.00401a14
push eax
push edi
push 0x4ab258
call fcn.00434a91
lea eax, [ebp - 0x1a]
push ebx
push eax
push 0x4a9e50
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa4], 0x48b660
mov dword [ebp - 0x84], 0x48b658
call fcn.004011a9
lea eax, [ebp - 0x20]
push 1
push eax
lea ecx, [ebp - 0x2ac]
push dword [0x48b6dc]
mov byte [ebp - 4], 8
call fcn.00401884
lea eax, [ebp - 0x1c]
push 1
push eax
lea ecx, [ebp - 0x16c]
push dword [0x48b6d4]
mov byte [ebp - 4], 9
call fcn.00401884
lea eax, [ebp - 0xa4]
mov ecx, esi
push eax
lea eax, [ebp - 0x2ac]
push eax
lea eax, [ebp - 0x16c]
push eax
push 5
mov byte [ebp - 4], 0xa
call fcn.0040a4e9
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 9
call fcn.00401093
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 8
call fcn.00401093
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], bl
call fcn.00401093
push 2
mov ecx, esi
call fcn.0042a7d3
jmp 0x416c85
push dword [ebp + 8]
call fcn.00415451
cmp dword [ebp + 0xc], ebx
pop ecx
je 0x416c9f
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp + 0xc], ebx
jmp 0x416c9f
mov edi, dword [sym.imp.USER32.dll_CharNextA]
push esi
call edi
movsx eax, byte [eax]
sub eax, 0x31
je 0x416449
dec eax
je 0x416437
dec eax
je 0x41641a
push ebx
push esi
call edi
push eax
push 0x4a1054
jmp 0x416c7d
mov ebx, dword [ebp + 8]
push esi
mov byte [ebx + 0x160], 1
call edi
push eax
call edi
push eax
mov ecx, ebx
call fcn.0042a6a9
jmp 0x416c85
push ebx
push esi
call edi
push eax
call edi
push eax
push 0x4a1050
jmp 0x416c7d
push ebx
push esi
call edi
push eax
call edi
mov esi, dword [ebp + 8]
push eax
push 0x4a0e24
mov ecx, esi
call fcn.0042ceca
mov dword [esi + 0x48], 1
jmp 0x416c85
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push str.hide_progress
push esi
call edi
mov ebx, dword [ebp + 8]
test eax, eax
jne 0x416488
mov byte [ebx + 0x159], 1
push str.hide_splash
push esi
call edi
test eax, eax
jne 0x416c85
mov byte [ebx + 0x15a], 1
jmp 0x416c85
mov eax, str.instance
mov dword [ebp - 0xf4], 0x48b6a8
mov ecx, eax
mov dword [ebp - 0xd4], 0x48b6a0
test ecx, ecx
jne 0x4164c8
mov eax, 0x4a9e50
lea ecx, [ebp - 0x15]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xf4]
call fcn.00404d89
lea eax, [ebp - 0xf4]
push ebx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xb
call fcn.00402e4a
neg eax
sbb al, al
lea ecx, [ebp - 0xf4]
inc al
mov byte [ebp - 4], bl
mov byte [ebp + 0xf], al
call fcn.00402438
cmp byte [ebp + 0xf], bl
je 0x416c85
mov eax, dword [ebp + 8]
push 0xfffffffffffffffd
pop edi
lea ecx, [ebp - 0x54]
lea esi, [eax + 0x15c]
push 0xffffffffffffffff
lea eax, [ebp - 0x144]
push 9
push eax
mov dword [esi], edi
call fcn.00403fb0
lea eax, [ebp - 0x144]
lea ecx, [ebp - 0x140]
neg eax
sbb eax, eax
push str.default
and eax, ecx
mov byte [ebp - 4], 0xc
push eax
call fcn.0040c4fa
pop ecx
test al, al
pop ecx
je 0x41655a
or dword [esi], 0xffffffff
jmp 0x41656e
push 0xa
push esi
lea ecx, [ebp - 0x144]
call fcn.00416f67
test al, al
jne 0x41656e
mov dword [esi], edi
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x144]
jmp 0x4169b7
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], ebx
jne case.0x415fc9.71
push esi
mov dword [eax + 0x14], 3
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
lea eax, [ebp - 0x16]
push edi
push eax
push esi
lea ecx, [ebp - 0x234]
call fcn.00402e7f
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x234]
push ebx
push eax
push 8
mov byte [ebp - 4], 0xd
call fcn.0040a3c9
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], bl
call fcn.00402438
push ebx
push esi
push 0x4a100c
jmp 0x416c7d
mov edi, dword [ebp + 8]
lea eax, [ebp + 0xc]
push edi
push eax
push esi
mov dword [ebp + 0xc], ebx
call dword [sym.imp.USER32.dll_CharNextA]
push eax
call fcn.00417024
add esp, 0xc
test eax, eax
je 0x41660b
mov eax, dword [edi + 0x164]
mov cx, word [ebp + 0xc]
mov word [eax + 0x4a], cx
jmp 0x416c85
push edi
jmp 0x416c99
push esi
mov esi, dword [sym.imp.USER32.dll_CharNextA]
call esi
movsx ecx, byte [eax]
sub ecx, 0x31
je 0x41663e
dec ecx
push ebx
push eax
je 0x416631
push 0x4a1008
jmp 0x416c7d
call esi
push eax
push 0x4a1004
jmp 0x416c7d
push ebx
push eax
call esi
push eax
push 0x4a1000
jmp 0x416c7d
push str.noscript_uninst
push esi
call fcn.004688b0
pop ecx
test eax, eax
pop ecx
jne 0x41666a
push ebx
push ebx
push str._noscript_uninst
jmp 0x416c7d
push esi
call dword [sym.imp.USER32.dll_CharNextA]
lea ecx, [ebp - 0x17]
push edi
push ecx
push eax
lea ecx, [ebp - 0x2d4]
call fcn.00402e7f
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x2d4]
push ebx
push eax
push 5
mov ecx, esi
mov byte [ebp - 4], 0xe
call fcn.0040a3c9
lea ecx, [ebp - 0x2d4]
mov byte [ebp - 4], bl
call fcn.00402438
push 2
mov ecx, esi
call fcn.0042a7d3
mov dword [esi + 0x44], edi
jmp 0x416c85
push esi
call dword [sym.imp.USER32.dll_CharNextA]
push eax
push 0x4a9ef0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x416c85
mov eax, dword [ebp + 8]
mov byte [eax + 0x161], 1
jmp 0x416c85
push str.removeonly
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4166fc
push ebx
push ebx
push str._removeonly
jmp 0x416c7d
push str.runas
push esi
call fcn.004688b0
pop ecx
test eax, eax
pop ecx
je 0x416c85
push str.runfromtemp
push esi
call fcn.004688b0
pop ecx
test eax, eax
pop ecx
je 0x416c85
push 6
push str.reboot
push esi
call fcn.00468000
add esp, 0xc
test eax, eax
je 0x416c85
push 0x4a0f90
push esi
call fcn.004688b0
pop ecx
test eax, eax
pop ecx
je 0x416c85
push ebx
push ebx
push 0x4a0f8c
jmp 0x416c7d
push 0x4a0f88
push esi
call fcn.004688b0
pop ecx
test eax, eax
pop ecx
jne 0x41677c
push ebx
push ebx
push str._SMS
jmp 0x416c7d
push str.show_eval_msg
push esi
call fcn.004688b0
pop ecx
test eax, eax
pop ecx
jne 0x41679f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x164]
mov byte [eax + 0x17], 1
jmp 0x416c85
push str.show_beta_msg
push esi
call fcn.004688b0
pop ecx
test eax, eax
pop ecx
jne 0x4167c2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x164]
mov byte [eax + 0x18], 1
jmp 0x416c85
push str.show_reboot_msg
push esi
call fcn.004688b0
pop ecx
test eax, eax
pop ecx
jne 0x4167e5
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x164]
mov byte [eax + 0x1c], 1
jmp 0x416c85
mov ecx, dword [ebp + 8]
push ebx
push ebx
push 0x4a0f4c
mov eax, dword [ecx + 0x164]
lea esi, [ecx + 0x164]
mov byte [eax + 1], 1
call fcn.0042ceca
mov eax, dword [esi]
mov byte [eax + 1], 1
jmp 0x416c85
mov edi, str.tempdisk1folder
push edi
call fcn.00467004
pop ecx
push eax
push ebx
push edi
lea ecx, [ebp - 0x50]
call fcn.00404eb8
cmp eax, ebx
je 0x416c85
push esi
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
push str._IS_T_
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x416855
mov ecx, dword [ebp + 8]
push esi
call fcn.0042a65e
jmp 0x4168f8
mov dword [ebp + 0xc], ebx
push 0xf003f
push str.SoftwareMicrosoftWindowsCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0xf
call fcn.00416db9
test eax, eax
jne 0x416911
push 0x40
lea edi, [ebp - 0x3d7]
pop ecx
mov byte [ebp - 0x3d8], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0x104
push eax
lea eax, [ebp - 0x3d8]
push eax
lea eax, [ebp - 0x10]
push eax
push ebx
push esi
mov dword [ebp - 0x10], ebx
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x3d8]
push eax
call fcn.00434978
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x3d8]
push eax
call fcn.0042a65e
push esi
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp + 0xc], ebx
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
je 0x4168eb
push dword [ebp + 0xc]
call esi
mov dword [ebp + 0xc], ebx
cmp dword [ebp + 0xc], ebx
mov byte [ebp - 4], bl
je 0x4168f8
push dword [ebp + 0xc]
call esi
mov ecx, dword [ebp + 8]
push 3
call fcn.0042a7d3
mov eax, dword [ebp + 8]
mov dword [eax + 0x44], 1
jmp 0x416c85
push dword [ebp + 8]
call fcn.00415451
cmp dword [ebp + 0xc], ebx
pop ecx
je 0x416c9f
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp + 0xc], ebx
jmp 0x416c9f
mov edi, dword [sym.imp.USER32.dll_CharNextA]
push esi
call edi
mov al, byte [eax]
cmp al, 0x41
je 0x4169fa
cmp al, 0x4d
je 0x4169c1
cmp al, 0x57
je 0x416980
cmp al, 0x61
je 0x4169fa
cmp al, 0x6d
je 0x4169c1
cmp al, 0x77
je 0x416980
push str.uninst
push esi
call fcn.004688b0
pop ecx
test eax, eax
pop ecx
jne 0x416c85
push ebx
push ebx
push str._uninst
jmp 0x416c7d
push esi
call edi
push eax
call edi
lea ecx, [ebp - 0x19]
push 1
push ecx
push eax
lea ecx, [ebp - 0x194]
call fcn.00402e7f
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x194]
push ebx
push eax
push 0xa
mov byte [ebp - 4], 0x11
call fcn.0040a3c9
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x194]
call fcn.00402438
jmp 0x416c85
push esi
call edi
push eax
call edi
lea ecx, [ebp - 0x1b]
push 1
push ecx
push eax
lea ecx, [ebp - 0x1bc]
call fcn.00402e7f
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x1bc]
push ebx
push eax
push 0xb
mov byte [ebp - 4], 0x12
call fcn.0040a3c9
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1bc]
jmp 0x4169b7
push esi
call edi
push eax
call edi
lea ecx, [ebp - 0x1d]
push 1
push ecx
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402e7f
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x20c]
push ebx
push eax
push 9
mov byte [ebp - 4], 0x10
call fcn.0040a3c9
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x20c]
jmp 0x4169b7
mov dword [ebp - 0x10], ebx
push 0xf003f
push str.SoftwareMicrosoftWindowsCurrentVersionRun
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x13
call fcn.00416db9
test eax, eax
jne 0x416a74
push str.ISSetup
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp - 0x10], ebx
je 0x416a74
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x10], ebx
push 7
push str.verbose
push esi
call fcn.00468000
add esp, 0xc
test eax, eax
je 0x416c17
push esi
call dword [sym.imp.USER32.dll_CharNextA]
push str._IS_V_
push eax
mov dword [ebp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x416b2b
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 7
push eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 4]
call fcn.0040ae94
mov esi, eax
cmp dword [esi + 0xc], ebx
je 0x416ae0
push 0x4a02b8
call fcn.00467004
pop ecx
push eax
push 0x4a02b8
lea ecx, [esi + 4]
call fcn.00410279
lea eax, [ebp - 0x1f]
push edi
push eax
lea ecx, [ebp - 0x428]
push dword [ebp + 0xc]
call fcn.00402e7f
push dword [0x48b6b0]
mov ecx, eax
add eax, 4
mov byte [ebp - 4], 0x14
neg ecx
sbb ecx, ecx
push ebx
and ecx, eax
push ecx
lea ecx, [esi + 4]
call fcn.0040b07a
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 0x13
call fcn.00402438
mov esi, dword [ebp + 0xc]
push edi
push esi
jmp 0x416bed
push 0xf003f
push str.SoftwareMicrosoftWindowsCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x10]
call fcn.00416db9
test eax, eax
jne 0x416bf4
push 0x40
lea edi, [ebp - 0x3d7]
pop ecx
mov byte [ebp - 0x3d8], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0x104
push eax
lea eax, [ebp - 0x3d8]
push eax
lea eax, [ebp - 0x2c]
push eax
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x2c], ebx
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp + 0xc]
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp - 0x10], ebx
je 0x416ba1
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x10], ebx
lea eax, [ebp - 0x21]
push 1
push eax
lea eax, [ebp - 0x3d8]
push eax
lea ecx, [ebp - 0x25c]
call fcn.00402e7f
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x25c]
push ebx
push eax
push 7
mov byte [ebp - 4], 0x15
call fcn.0040a3c9
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], 0x13
call fcn.00402438
lea eax, [ebp - 0x3d8]
push 1
lea esi, [ebp - 0x3d8]
push eax
push 0x4a080c
jmp 0x416c21
push dword [ebp + 8]
call fcn.00415451
cmp dword [ebp - 0x10], ebx
pop ecx
je 0x416c9f
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x10], ebx
jmp 0x416c9f
add esi, 7
push edi
push esi
push str._verbose
mov ecx, dword [ebp + 8]
call fcn.0042ceca
cmp esi, ebx
je 0x416c40
push esi
push 0x4a9f54
mov byte [0x4aaf84], 1
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0x10], ebx
je 0x416c85
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x10], ebx
jmp 0x416c85
mov eax, dword [ebp + 8]
mov dword [eax + 0x3c], edi
jmp 0x416c85
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], ebx
je 0x416c66
push eax
jmp 0x416c99
mov dword [eax + 0x14], 4
jmp 0x416c85
push ebx
push esi
call dword [sym.imp.USER32.dll_CharNextA]
push eax
push 0x4a0ebc
mov ecx, dword [ebp + 8]
call fcn.0042ceca
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.00402438
push 1
pop eax
jmp 0x416cad
push dword [ebp + 8]
call fcn.00415451
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.00402438
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret