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

Disassembly:
mov eax, 0x499c5e
call fcn.0047d43c
sub esp, 0x444
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
push 1
lea eax, [ebp - 0x1d]
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.0x41b6b2.71
jmp dword [eax*4 + 0x41c44c]
push str.auto
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x41b6f3
mov ecx, dword [ebp + 8]
push ebx
push ebx
push str._auto
mov eax, dword [ecx + 0x16c]
lea esi, [ecx + 0x16c]
mov byte [eax + 2], 1
call fcn.00435143
mov eax, dword [esi]
mov byte [eax + 2], 1
jmp 0x41c415
mov eax, dword [ebp + 8]
lea ecx, [eax + 4]
mov dword [ebp + 0xc], ecx
mov eax, dword [ecx]
call dword [eax]
test eax, eax
je 0x41b714
push dword [ebp + 8]
call fcn.0041ab3a
pop ecx
xor edi, edi
jmp 0x41b816
mov ecx, dword [ebp + 8]
push ebx
push ebx
push 0x4bc9a0
mov dword [ecx + 0x1c], edi
call fcn.00435143
push esi
call dword [sym.imp.USER32.dll_CharNextA]
lea ecx, [ebp - 0x24]
push edi
push ecx
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402e7f
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0x20c]
push ebx
push edx
mov eax, dword [ecx]
push 0xe
mov byte [ebp - 4], 1
call dword [eax + 0x18]
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x20c]
jmp 0x41c12c
push esi
call dword [sym.imp.USER32.dll_CharNextA]
lea ecx, [ebp - 0x26]
push edi
push ecx
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00402e7f
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x2ac]
push ebx
push edx
lea ecx, [eax + 4]
push 0xc
mov byte [ebp - 4], 2
mov eax, dword [ecx]
call dword [eax + 0x18]
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x2ac]
jmp 0x41c12c
mov esi, dword [ebp + 8]
push edi
mov ecx, esi
call fcn.004328a8
jmp 0x41bdba
mov eax, str.debuglog
mov dword [ebp - 0xf4], 0x4a36b8
mov ecx, eax
mov dword [ebp - 0xd4], 0x4a36b0
test ecx, ecx
jne 0x41b7d5
mov eax, 0x4c6e10
lea ecx, [ebp - 0x17]
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], 3
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 0x41b829
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.00402438
mov eax, edi
jmp 0x41c43d
push edi
push esi
call dword [sym.imp.USER32.dll_CharNextA]
push eax
push 0x4bc988
jmp 0x41c40d
mov eax, 0x4bc978
mov edi, 0x4a36b0
mov ecx, eax
mov dword [ebp - 0x7c], 0x4a36b8
test ecx, ecx
mov dword [ebp - 0x5c], edi
jne 0x41b85b
mov eax, 0x4c6e10
lea ecx, [ebp - 0x1f]
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 0x41b8dd
mov eax, 0x4bc974
mov dword [ebp - 0x144], 0x4a36b8
mov ecx, eax
mov dword [ebp - 0x124], edi
test ecx, ecx
jne 0x41b89e
mov eax, 0x4c6e10
lea ecx, [ebp - 0x19]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x144]
call fcn.00404d89
lea eax, [ebp - 0x144]
lea ecx, [ebp - 0x54]
push eax
mov byte [ebp - 4], 5
call fcn.004194ac
lea ecx, [ebp - 0x144]
mov byte [ebp + 0xf], al
mov byte [ebp - 4], 4
call fcn.00402438
cmp byte [ebp + 0xf], bl
mov byte [ebp + 0xf], 1
jne 0x41b8e0
mov byte [ebp + 0xf], bl
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], bl
call fcn.00402438
cmp byte [ebp + 0xf], bl
je 0x41b924
push 0xffffffffffffffff
lea eax, [ebp - 0x428]
push 5
push eax
lea ecx, [ebp - 0x54]
call fcn.00403fb0
mov ecx, dword [ebp + 8]
push ebx
add ecx, 4
push eax
push 0x10
mov byte [ebp - 4], 6
mov edx, dword [ecx]
call dword [edx + 0x18]
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x428]
jmp 0x41c12c
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 0x41b94f
mov edi, 0x4c8ae0
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x41b9ea
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.00419f99
test eax, eax
jne 0x41bacb
push 0x40
lea edi, [ebp - 0x3ff]
pop ecx
mov byte [ebp - 0x400], 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 - 0x400]
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 - 0x400]
mov edi, 0x4c8ae0
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 0x41b9dd
push dword [ebp + 0xc]
call esi
mov dword [ebp + 0xc], ebx
cmp dword [ebp + 0xc], ebx
mov byte [ebp - 4], bl
je 0x41b9ea
push dword [ebp + 0xc]
call esi
push edi
call fcn.0044907f
mov esi, dword [ebp + 8]
mov ecx, 0x4c8288
mov dword [esi + 0x4c], 1
call fcn.00401a14
push eax
push edi
push 0x4c82b0
call fcn.00449198
lea eax, [ebp - 0x23]
push ebx
push eax
push 0x4c6e10
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa4], 0x4a3670
mov dword [ebp - 0x84], 0x4a3668
call fcn.004011a9
lea eax, [ebp - 0x1b]
push 1
push eax
lea ecx, [ebp - 0x2d4]
push dword [0x4a36ec]
mov byte [ebp - 4], 8
call fcn.00401884
lea eax, [ebp - 0x21]
push 1
push eax
lea ecx, [ebp - 0x194]
push dword [0x4a36e4]
mov byte [ebp - 4], 9
call fcn.00401884
lea eax, [ebp - 0xa4]
mov ecx, esi
push eax
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x194]
push eax
push 5
mov byte [ebp - 4], 0xa
call fcn.0040a412
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 9
call fcn.00401093
lea ecx, [ebp - 0x2d4]
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.004328ca
jmp 0x41c415
push dword [ebp + 8]
call fcn.0041ab3a
cmp dword [ebp + 0xc], ebx
pop ecx
je 0x41c42f
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp + 0xc], ebx
jmp 0x41c42f
mov edi, dword [sym.imp.USER32.dll_CharNextA]
push esi
call edi
movsx eax, byte [eax]
sub eax, 0x31
je 0x41bb43
dec eax
je 0x41bb31
dec eax
je 0x41bb14
push ebx
push esi
call edi
push eax
push 0x4bc968
jmp 0x41c40d
mov ebx, dword [ebp + 8]
push esi
mov byte [ebx + 0x168], 1
call edi
push eax
call edi
push eax
mov ecx, ebx
call fcn.004327a0
jmp 0x41c415
push ebx
push esi
call edi
push eax
call edi
push eax
push 0x4bc964
jmp 0x41c40d
push ebx
push esi
call edi
push eax
call edi
mov esi, dword [ebp + 8]
push eax
push 0x4bc53c
mov ecx, esi
call fcn.00435143
mov dword [esi + 0x50], 1
jmp 0x41c415
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 0x41bb82
mov byte [ebx + 0x161], 1
push str.hide_splash
push esi
call edi
test eax, eax
jne 0x41c415
mov byte [ebx + 0x162], 1
jmp 0x41c415
mov eax, str.instance
mov dword [ebp - 0xcc], 0x4a36b8
mov ecx, eax
mov dword [ebp - 0xac], 0x4a36b0
test ecx, ecx
jne 0x41bbc2
mov eax, 0x4c6e10
lea ecx, [ebp - 0x15]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xcc]
call fcn.00404d89
lea eax, [ebp - 0xcc]
push ebx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xb
call fcn.00402e4a
neg eax
sbb al, al
lea ecx, [ebp - 0xcc]
inc al
mov byte [ebp - 4], bl
mov byte [ebp + 0xf], al
call fcn.00402438
cmp byte [ebp + 0xf], bl
je 0x41c415
mov eax, dword [ebp + 8]
push 0xfffffffffffffffd
pop edi
lea ecx, [ebp - 0x54]
lea esi, [eax + 0x164]
push 0xffffffffffffffff
lea eax, [ebp - 0x11c]
push 9
push eax
mov dword [esi], edi
call fcn.00403fb0
lea eax, [ebp - 0x11c]
lea ecx, [ebp - 0x118]
neg eax
sbb eax, eax
push str.default
and eax, ecx
mov byte [ebp - 4], 0xc
push eax
call fcn.0040bd68
pop ecx
test al, al
pop ecx
je 0x41bc54
or dword [esi], 0xffffffff
jmp 0x41bc68
push 0xa
push esi
lea ecx, [ebp - 0x11c]
call fcn.0041ca4c
test al, al
jne 0x41bc68
mov dword [esi], edi
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x11c]
jmp 0x41c12c
mov eax, dword [ebp + 8]
lea ecx, [eax + 4]
mov eax, dword [eax + 4]
call dword [eax]
test eax, eax
jne case.0x41b6b2.71
mov eax, dword [ebp + 8]
push esi
mov dword [eax + 0x1c], 3
call dword [sym.imp.USER32.dll_CharNextA]
mov esi, eax
lea eax, [ebp - 0x25]
push edi
push eax
push esi
lea ecx, [ebp - 0x25c]
call fcn.00402e7f
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x25c]
push ebx
push edx
lea ecx, [eax + 4]
push 8
mov byte [ebp - 4], 0xd
mov eax, dword [ecx]
call dword [eax + 0x18]
lea ecx, [ebp - 0x25c]
mov byte [ebp - 4], bl
call fcn.00402438
push ebx
push esi
push 0x4bc920
jmp 0x41c40d
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.0041cab1
add esp, 0xc
test eax, eax
je 0x41bd12
mov eax, dword [edi + 0x16c]
mov cx, word [ebp + 0xc]
mov word [eax + 0x4a], cx
jmp 0x41c415
push edi
jmp 0x41c429
push esi
mov esi, dword [sym.imp.USER32.dll_CharNextA]
call esi
movsx ecx, byte [eax]
sub ecx, 0x31
je 0x41bd45
dec ecx
push ebx
push eax
je 0x41bd38
push 0x4bc91c
jmp 0x41c40d
call esi
push eax
push 0x4bc918
jmp 0x41c40d
push ebx
push eax
call esi
push eax
push 0x4bc914
jmp 0x41c40d
push str.noscript_uninst
push esi
call fcn.0047ed10
pop ecx
test eax, eax
pop ecx
jne 0x41bd71
push ebx
push ebx
push str._noscript_uninst
jmp 0x41c40d
push esi
call dword [sym.imp.USER32.dll_CharNextA]
lea ecx, [ebp - 0x16]
push edi
push ecx
push eax
lea ecx, [ebp - 0x2fc]
call fcn.00402e7f
mov esi, dword [ebp + 8]
lea edx, [ebp - 0x2fc]
push ebx
push edx
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
push 5
mov byte [ebp - 4], 0xe
call dword [eax + 0x18]
lea ecx, [ebp - 0x2fc]
mov byte [ebp - 4], bl
call fcn.00402438
push 2
mov ecx, esi
call fcn.004328ca
mov dword [esi + 0x4c], edi
jmp 0x41c415
push esi
call dword [sym.imp.USER32.dll_CharNextA]
push eax
push 0x4c6f30
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x41c415
mov eax, dword [ebp + 8]
mov byte [eax + 0x169], 1
jmp 0x41c415
push str.removeonly
push esi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x41be05
push ebx
push ebx
push str._removeonly
jmp 0x41c40d
push str.runas
push esi
call fcn.0047ed10
pop ecx
test eax, eax
pop ecx
je 0x41c415
push str.runfromtemp
push esi
call fcn.0047ed10
pop ecx
test eax, eax
pop ecx
je 0x41c415
mov eax, str.runprerequisites
mov dword [ebp - 0x16c], 0x4a36b8
mov ecx, eax
mov dword [ebp - 0x14c], 0x4a36b0
test ecx, ecx
jne 0x41be53
mov eax, 0x4c6e10
lea ecx, [ebp - 0x18]
push ebx
push ecx
push eax
lea ecx, [ebp - 0x16c]
call fcn.00404d89
lea eax, [ebp - 0x16c]
push ebx
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xf
call fcn.00402e4a
neg eax
sbb al, al
lea ecx, [ebp - 0x16c]
inc al
mov byte [ebp - 4], bl
mov byte [ebp + 0xf], al
call fcn.00402438
cmp byte [ebp + 0xf], bl
jne 0x41c415
push 6
push str.reboot
push esi
call fcn.0047e460
add esp, 0xc
test eax, eax
je 0x41c415
push 0x4bc888
push esi
call fcn.0047ed10
pop ecx
test eax, eax
pop ecx
je 0x41c415
push ebx
push ebx
push 0x4bc884
jmp 0x41c40d
push 0x4bc880
push esi
call fcn.0047ed10
pop ecx
test eax, eax
pop ecx
jne 0x41beee
push ebx
push ebx
push str._SMS
jmp 0x41c40d
push str.show_eval_msg
push esi
call fcn.0047ed10
pop ecx
test eax, eax
pop ecx
jne 0x41bf11
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x16c]
mov byte [eax + 0x17], 1
jmp 0x41c415
push str.show_beta_msg
push esi
call fcn.0047ed10
pop ecx
test eax, eax
pop ecx
jne 0x41bf34
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x16c]
mov byte [eax + 0x18], 1
jmp 0x41c415
push str.show_reboot_msg
push esi
call fcn.0047ed10
pop ecx
test eax, eax
pop ecx
jne 0x41bf57
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x16c]
mov byte [eax + 0x1c], 1
jmp 0x41c415
mov ecx, dword [ebp + 8]
push ebx
push ebx
push 0x4bc844
mov eax, dword [ecx + 0x16c]
lea esi, [ecx + 0x16c]
mov byte [eax + 1], 1
call fcn.00435143
mov eax, dword [esi]
mov byte [eax + 1], 1
jmp 0x41c415
mov edi, str.tempdisk1folder
push edi
call fcn.0047d464
pop ecx
push eax
push ebx
push edi
lea ecx, [ebp - 0x50]
call fcn.00404eb8
cmp eax, ebx
je 0x41c415
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 0x41bfc7
mov ecx, dword [ebp + 8]
push esi
call fcn.00432755
jmp 0x41c06a
mov dword [ebp + 0xc], ebx
push 0xf003f
push str.SoftwareMicrosoftWindowsCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0x10
call fcn.00419f99
test eax, eax
jne 0x41c083
push 0x40
lea edi, [ebp - 0x3ff]
pop ecx
mov byte [ebp - 0x400], 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 - 0x400]
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 - 0x400]
push eax
call fcn.0044907f
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x400]
push eax
call fcn.00432755
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 0x41c05d
push dword [ebp + 0xc]
call esi
mov dword [ebp + 0xc], ebx
cmp dword [ebp + 0xc], ebx
mov byte [ebp - 4], bl
je 0x41c06a
push dword [ebp + 0xc]
call esi
mov ecx, dword [ebp + 8]
push 3
call fcn.004328ca
mov eax, dword [ebp + 8]
mov dword [eax + 0x4c], 1
jmp 0x41c415
push dword [ebp + 8]
call fcn.0041ab3a
cmp dword [ebp + 0xc], ebx
pop ecx
je 0x41c42f
push dword [ebp + 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp + 0xc], ebx
jmp 0x41c42f
mov edi, dword [sym.imp.USER32.dll_CharNextA]
push esi
call edi
mov al, byte [eax]
cmp al, 0x41
je 0x41c172
cmp al, 0x4d
je 0x41c136
cmp al, 0x57
je 0x41c0f2
cmp al, 0x61
je 0x41c172
cmp al, 0x6d
je 0x41c136
cmp al, 0x77
je 0x41c0f2
push str.uninst
push esi
call fcn.0047ed10
pop ecx
test eax, eax
pop ecx
jne 0x41c415
push ebx
push ebx
push str._uninst
jmp 0x41c40d
push esi
call edi
push eax
call edi
lea ecx, [ebp - 0x1a]
push 1
push ecx
push eax
lea ecx, [ebp - 0x1bc]
call fcn.00402e7f
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x1bc]
push ebx
push edx
lea ecx, [eax + 4]
push 0xa
mov byte [ebp - 4], 0x12
mov eax, dword [ecx]
call dword [eax + 0x18]
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1bc]
call fcn.00402438
jmp 0x41c415
push esi
call edi
push eax
call edi
lea ecx, [ebp - 0x1c]
push 1
push ecx
push eax
lea ecx, [ebp - 0x1e4]
call fcn.00402e7f
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x1e4]
push ebx
push edx
lea ecx, [eax + 4]
push 0xb
mov byte [ebp - 4], 0x13
mov eax, dword [ecx]
call dword [eax + 0x18]
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x1e4]
jmp 0x41c12c
push esi
call edi
push eax
call edi
lea ecx, [ebp - 0x1e]
push 1
push ecx
push eax
lea ecx, [ebp - 0x234]
call fcn.00402e7f
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x234]
push ebx
push edx
lea ecx, [eax + 4]
push 9
mov byte [ebp - 4], 0x11
mov eax, dword [ecx]
call dword [eax + 0x18]
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x234]
jmp 0x41c12c
mov dword [ebp - 0x10], ebx
push 0xf003f
push str.SoftwareMicrosoftWindowsCurrentVersionRun
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x14
call fcn.00419f99
test eax, eax
jne 0x41c1f2
push str.ISSetup
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
cmp dword [ebp - 0x10], ebx
je 0x41c1f2
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.0047e460
add esp, 0xc
test eax, eax
je 0x41c3a0
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 0x41c2ae
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 7
push eax
mov eax, dword [ebp + 8]
lea ecx, [eax + 0xc]
call fcn.0041c534
mov esi, eax
cmp dword [esi + 0xc], ebx
je 0x41c25e
push 0x4bb2c8
call fcn.0047d464
pop ecx
push eax
push 0x4bb2c8
lea ecx, [esi + 4]
call fcn.0040fa85
lea eax, [ebp - 0x20]
push edi
push eax
lea ecx, [ebp - 0x450]
push dword [ebp + 0xc]
call fcn.00402e7f
push dword [0x4a36c0]
mov ecx, eax
add eax, 4
mov byte [ebp - 4], 0x15
neg ecx
sbb ecx, ecx
push ebx
and ecx, eax
push ecx
lea ecx, [esi + 4]
call fcn.0040af14
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 0x14
call fcn.00402438
mov esi, dword [ebp + 0xc]
push edi
push esi
push 0x4bb81c
jmp 0x41c3aa
push 0xf003f
push str.SoftwareMicrosoftWindowsCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x10]
call fcn.00419f99
test eax, eax
jne 0x41c37d
push 0x40
lea edi, [ebp - 0x3ff]
pop ecx
mov byte [ebp - 0x400], 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 - 0x400]
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 0x41c324
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x10], ebx
lea eax, [ebp - 0x22]
push 1
push eax
lea eax, [ebp - 0x400]
push eax
lea ecx, [ebp - 0x284]
call fcn.00402e7f
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x284]
push ebx
push edx
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
push 7
mov byte [ebp - 4], 0x16
call dword [eax + 0x18]
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0x14
call fcn.00402438
lea eax, [ebp - 0x400]
push 1
push eax
lea esi, [ebp - 0x400]
push 0x4bb81c
mov ecx, edi
jmp 0x41c3ad
push dword [ebp + 8]
call fcn.0041ab3a
cmp dword [ebp - 0x10], ebx
pop ecx
je 0x41c42f
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x10], ebx
jmp 0x41c42f
add esi, 7
push edi
push esi
push str._verbose
mov ecx, dword [ebp + 8]
call fcn.00435143
cmp esi, ebx
je 0x41c3c9
push esi
push 0x4c6f94
mov byte [0x4c7fc4], 1
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0x10], ebx
je 0x41c415
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x10], ebx
jmp 0x41c415
mov eax, dword [ebp + 8]
mov dword [eax + 0x44], edi
jmp 0x41c415
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
call dword [eax]
test eax, eax
je 0x41c3f6
push esi
jmp 0x41c429
mov dword [esi + 0x1c], 4
jmp 0x41c415
push ebx
push esi
call dword [sym.imp.USER32.dll_CharNextA]
push eax
push 0x4bc7b4
mov ecx, dword [ebp + 8]
call fcn.00435143
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x54]
call fcn.00402438
push 1
pop eax
jmp 0x41c43d
push dword [ebp + 8]
call fcn.0041ab3a
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