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

Disassembly:
push 0x30
mov eax, 0x50222a
call fcn.004e3d33
mov dword [ebp - 4], 1
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x30], esi
cmp dword [eax - 0xc], esi
jne 0x415bbc
lea ecx, [eax - 0x10]
jmp 0x415f69
lea eax, [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x15], 0
call fcn.00482292
test al, al
je 0x415bfd
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 0x415bfd
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 0x15], 1
call fcn.0044b345
pop ecx
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
push 0x5b2450
xor ecx, ecx
lea esi, [ebp + 8]
mov byte [ebp - 4], 2
call fcn.0040788c
mov esi, eax
cmp esi, 0xffffffff
jne 0x415c36
cmp byte [ebp - 0x15], 0
je 0x415f5b
lea eax, [ebp - 0x20]
push eax
call fcn.0044b37b
pop ecx
jmp 0x415f5b
push esi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp + 8]
call fcn.00407984
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.0040dc3f
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.00402305
call fcn.00415fd5
pop ecx
push eax
mov eax, edi
lea edi, [ebp - 0x3c]
call fcn.0041455e
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.0040285b
test bl, bl
je 0x415f40
mov ecx, edi
call fcn.0041459a
lea edi, [ebp + 8]
call fcn.004140e6
lea edi, [ebp + 0xc]
call fcn.004140e6
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 0x415cf4
push esi
push esi
push 0x10
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x400
call esi
jmp 0x415cfa
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3c
call fcn.004bd312
pop ecx
push 0x3c
mov ebx, eax
push 0
push ebx
mov dword [ebp - 0x30], ebx
call fcn.004e38a0
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 0x415d63
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 0x415f32
push dword [ebp - 0x1c]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x415f32
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 0x5afd90
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 0x415f29
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 0x415e2f
lea eax, [ebp + 8]
call fcn.00402bd5
movzx eax, ax
cmp ax, 0x5c
jne 0x415e08
push 0
push 0x27
push ebx
jmp 0x415e21
mov ecx, dword [ebp - 0x24]
lea eax, [ebp + 8]
call fcn.00402bd5
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 0x415de5
mov eax, dword [eax - 0xc]
test eax, eax
je 0x415f26
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx - 0xc]
test ecx, ecx
je 0x415f26
test eax, eax
je 0x415eb4
test ecx, ecx
je 0x415eb4
push 0x5afd90
push 0x5b3ff8
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 0x415eb4
mov ecx, ebx
lea eax, [ebp + 0xc]
call fcn.00402bd5
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 0x415e88
push 0x5afd90
push 0x5b3ff8
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 0x415f26
push ebx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
push ebx
call dword [sym.imp.USER32.dll_SetFocus]
push 0xe1
call esi
mov ecx, 0x60a7e0
call fcn.004cac29
and dword [ebp - 0x2c], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax - 0xc]
jge 0x415f26
lea eax, [ebp + 0xc]
call fcn.00402bd5
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 0x415ef9
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 4], 3
jmp 0x415f91
push 0
push 0x10
push str.Cant_run_Regedit.
call fcn.004be306
cmp byte [ebp - 0x15], 0
je 0x415f50
lea eax, [ebp - 0x20]
push eax
call fcn.0044b37b
pop ecx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.0040285b
lea ecx, [ebp - 0x3c]
call fcn.0041459a
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0040285b
xor eax, eax
call fcn.004e3dd8
ret
push ebx
call fcn.004bd341
cmp byte [ebp - 0x15], 0
pop ecx
je 0x415fa7
push dword [ebp - 0x34]
call fcn.0044b37b
pop ecx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.0040285b
lea ecx, [ebp - 0x3c]
call fcn.0041459a
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
call fcn.0040285b
xor eax, eax
inc eax
jmp 0x415f7b