Function at 0x417689
Capabilities:
Create process on windows
Hide graphical window

Disassembly:
push 0x30
mov eax, 0x4d6767
call fcn.004bece3
mov dword [ebp - 4], 1
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x30], esi
cmp dword [eax - 0xc], esi
jne 0x4176b1
lea ecx, [eax - 0x10]
jmp 0x417a5e
lea eax, [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x15], 0
call fcn.0047380a
test al, al
je 0x4176f2
xor eax, eax
cmp byte [ebp + 0x10], al
sete al
dec eax
and eax, 0xffffff00
add eax, 0x200
cmp byte [ebp + 0x10], 0
mov edi, eax
je 0x4176f2
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 0x15], 1
call fcn.004580ac
pop ecx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
push 0x526790
xor ecx, ecx
lea esi, [ebp + 8]
mov byte [ebp - 4], 2
call fcn.004072a5
mov esi, eax
cmp esi, 0xffffffff
jne 0x41772b
cmp byte [ebp - 0x15], 0
je 0x417a50
lea eax, [ebp - 0x20]
push eax
call fcn.004580e2
pop ecx
jmp 0x417a50
push esi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp + 8]
call fcn.0040739d
mov byte [ebp - 4], 3
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
sub eax, esi
or edi, 0x20019
dec eax
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp + 8]
call fcn.0041078b
mov byte [ebp - 4], 4
push dword [eax]
lea eax, [ebp - 0x28]
push ecx
mov dword [ebp - 0x24], esp
mov ecx, esp
push eax
call fcn.0040228a
call fcn.00417aca
pop ecx
push eax
mov eax, edi
lea edi, [ebp - 0x3c]
call fcn.00416053
mov ebx, eax
neg ebx
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x2c]
sbb bl, bl
add ecx, 0xfffffff0
inc bl
call fcn.004027b0
test bl, bl
je 0x417a35
mov ecx, edi
call fcn.0041608f
lea edi, [ebp + 8]
call fcn.00415c5a
lea edi, [ebp + 0xc]
call fcn.00415c5a
xor esi, esi
push esi
push str.RegEdit_RegEdit
mov byte [ebp - 4], 5
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x1c], eax
cmp eax, esi
je 0x4177e9
push esi
push esi
push 0x10
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x400
call esi
jmp 0x4177ef
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3c
call fcn.004985b0
pop ecx
push 0x3c
mov ebx, eax
push 0
push ebx
mov dword [ebp - 0x30], ebx
call fcn.004be850
add esp, 0xc
push ebx
mov dword [ebx], 0x3c
mov dword [ebx + 4], 0x40
mov dword [ebx + 0xc], str.open
mov dword [ebx + 0x10], str.Regedit.exe
mov dword [ebx + 0x1c], 1
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x417858
push 0xffffffffffffffff
push dword [ebx + 0x38]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
push 0x400
call esi
push 0
push str.RegEdit_RegEdit
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x417a27
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x417a27
push 0xe1
call esi
push 9
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0xe1
call esi
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push 0xe1
call esi
push 0x523938
push str.SysTreeView32
push 0
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_FindWindowExW]
push eax
mov dword [ebp - 0x2c], eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x417a1e
push 0
push 0x24
mov ebx, 0x100
push ebx
push dword [ebp - 0x2c]
call edi
push 0x1b
call esi
and dword [ebp - 0x24], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [eax - 0xc]
jge 0x417924
lea eax, [ebp + 8]
call fcn.00402afd
movzx eax, ax
cmp ax, 0x5c
jne 0x4178fd
push 0
push 0x27
push ebx
jmp 0x417916
mov ecx, dword [ebp - 0x24]
lea eax, [ebp + 8]
call fcn.00402afd
movzx eax, ax
movzx eax, ax
push 0
push eax
push 0x102
push dword [ebp - 0x2c]
call edi
push 0x1b
call esi
inc dword [ebp - 0x24]
jmp 0x4178da
mov eax, dword [eax - 0xc]
test eax, eax
je 0x417a1b
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx - 0xc]
test ecx, ecx
je 0x417a1b
test eax, eax
je 0x4179a9
test ecx, ecx
je 0x4179a9
push 0x523938
push 0x5287a0
push 0
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_FindWindowExW]
push eax
mov dword [ebp - 0x2c], eax
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push dword [ebp - 0x2c]
call dword [sym.imp.USER32.dll_SetFocus]
push 0
push 0x24
push ebx
push dword [ebp - 0x2c]
call edi
push 0x1b
call esi
xor ebx, ebx
mov eax, dword [ebp + 0xc]
cmp ebx, dword [eax - 0xc]
jge 0x4179a9
mov ecx, ebx
lea eax, [ebp + 0xc]
call fcn.00402afd
movzx eax, ax
push 0
movzx eax, ax
push eax
push 0x102
push dword [ebp - 0x2c]
call edi
push 0x1b
call esi
inc ebx
jmp 0x41797d
push 0x523938
push 0x5287a0
push 0
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_FindWindowExW]
mov ebx, eax
push ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x417a1b
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push ebx
call dword [sym.imp.USER32.dll_SetFocus]
push 0xe1
call esi
mov ecx, 0x585790
call fcn.004a5e9a
and dword [ebp - 0x2c], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax - 0xc]
jge 0x417a1b
lea eax, [ebp + 0xc]
call fcn.00402afd
movzx eax, ax
push 0
movzx eax, ax
push eax
push 0x102
push ebx
call edi
push 0x1b
call esi
inc dword [ebp - 0x2c]
jmp 0x4179ee
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 4], 3
jmp 0x417a86
push 0
push 0x10
push str.Cant_run_Regedit.
call fcn.004995c6
cmp byte [ebp - 0x15], 0
je 0x417a45
lea eax, [ebp - 0x20]
push eax
call fcn.004580e2
pop ecx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.004027b0
lea ecx, [ebp - 0x3c]
call fcn.0041608f
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004027b0
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.004027b0
xor eax, eax
call fcn.004bed88
ret
push ebx
call fcn.004985ea
cmp byte [ebp - 0x15], 0
pop ecx
je 0x417a9c
push dword [ebp - 0x34]
call fcn.004580e2
pop ecx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.004027b0
lea ecx, [ebp - 0x3c]
call fcn.0041608f
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004027b0
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.004027b0
xor eax, eax
inc eax
jmp 0x417a70