Function at 0x140225088
Capabilities:
Create process on windows
Enumerate gui resources

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov qword [rbp - 0x49], 0xfffffffffffffffe
mov esi, ecx
and qword [rbp - 0x79], 0
mov dword [rbp - 0x71], ecx
xor edx, edx
lea rcx, str.RegEdit_RegEdit
call qword [sym.imp.USER32.dll_FindWindowW]
mov rbx, rax
xor eax, eax
test rbx, rbx
setne al
mov dword [rbp - 0x6d], eax
test rbx, rbx
je 0x14022511c
cmp dword [rbp - 0x71], 0
je 0x14022511c
lea rdx, [rbp + 0x67]
mov rcx, rbx
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov ecx, dword [rbp + 0x67]
call fcn.140224c38
test al, al
je 0x1402250f9
test dword [rbp - 0x71], 0x100
jne 0x140225102
jmp 0x14022511c
test dword [rbp - 0x71], 0x200
je 0x14022511c
and qword [rbp - 0x79], 0
lea rdx, [rbp - 0x79]
lea rcx, [0x140071d88]
call qword [sym.imp.USER32.dll_EnumWindows]
mov rbx, qword [rbp - 0x79]
mov r14d, 1
test rbx, rbx
jne 0x140225131
cmp dword [rbp - 0x6d], ebx
jle 0x140225131
mov dil, r14b
jmp 0x14022513d
xor dil, dil
test rbx, rbx
jne 0x14022529e
xor edx, edx
lea r8d, [rdx + 0x6c]
lea rcx, [rbp - 0x35]
call fcn.1400c7360
mov dword [rbp - 0x39], reloc.OLEAUT32.dll_VarBstrFromCy
mov dword [rbp - 0x35], 0x40
lea rax, [0x14034e618]
mov qword [rbp - 0x29], rax
lea rdx, str.regedit.exe
lea rcx, [rbp + 0x7f]
call fcn.14000cb18
nop
bt esi, 9
jae 0x1402251f5
lea rcx, [rbp + 0x6f]
call fcn.14023dc9c
cmp dword [rbp + 0x6f], 0
jne 0x1402251f5
lea rcx, [rbp - 0x59]
call fcn.14023e4dc
nop
lea r8, str._regedit.exe
mov rdx, rax
lea rcx, [rbp - 0x51]
call fcn.14001c3e0
nop
mov rdx, rax
lea rcx, [rbp + 0x7f]
call fcn.14000c244
nop
mov rdx, qword [rbp - 0x51]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1402251d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x59]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1402251f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rbp + 0x7f]
mov qword [rbp - 0x21], rax
lea rax, [0x140363ab8]
test dil, dil
cmove rax, qword [rbp - 0x19]
mov qword [rbp - 0x19], rax
mov dword [rbp - 9], r14d
xor bl, bl
bt esi, 8
jae 0x140225230
lea rcx, [rbp + 0x77]
call fcn.14023dc9c
movzx ebx, bl
cmp dword [rbp + 0x77], 0
cmovne ebx, r14d
and qword [rbp - 0x69], 0
and dword [rbp - 0x61], 0
test bl, bl
je 0x140225246
lea rcx, [rbp - 0x69]
call fcn.14023dd4c
lea rcx, [rbp - 0x39]
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
or edx, 0xffffffff
mov rcx, qword [rbp + 0x2f]
call qword [sym.imp.USER32.dll_WaitForInputIdle]
xor edx, edx
lea rcx, str.RegEdit_RegEdit
call qword [sym.imp.USER32.dll_FindWindowW]
mov rbx, rax
cmp dword [rbp - 0x61], 0
je 0x14022527f
mov rcx, qword [rbp - 0x69]
call fcn.14023dbec
nop
mov rdx, qword [rbp + 0x7f]
add rdx, 0xffffffffffffffe8
or ecx, 0xffffffff
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14022529e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rbx
add rsp, 0xd0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret