Function at 0x14002a690
Capabilities:
Create process on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
movaps xmmword [rsp + 0x220], xmm7
movaps xmmword [rsp + 0x210], xmm6
mov rsi, r9
mov ebx, r8d
mov rdi, rdx
mov r14, rcx
mov rax, qword [0x1401ee038]
xor rax, rsp
mov qword [rsp + 0x208], rax
mov rcx, qword [0x1402080e8]
test rcx, rcx
jne 0x14002a6ec
call fcn.1400487a0
mov rcx, rax
mov qword [0x1402080e8], rax
mov rdx, r14
mov r8d, 1
mov r9d, 0x1201bf
call fcn.140048a90
mov ebp, eax
mov rcx, qword [0x1402080e8]
test rcx, rcx
jne 0x14002a71d
call fcn.1400487a0
mov rcx, rax
mov qword [0x1402080e8], rax
mov edx, ebx
mov r8d, ebp
call fcn.140049840
test al, al
je 0x14002a8ee
xor ecx, ecx
call fcn.14002b440
test al, al
je 0x14002a8ba
movaps xmm6, xmmword [0x1401c1a60]
lea rdi, [rsp + 0x1b0]
movaps xmmword [rdi + 0x40], xmm6
movaps xmmword [rdi + 0x30], xmm6
movaps xmmword [rdi + 0x20], xmm6
movaps xmmword [rdi + 0x10], xmm6
movaps xmmword [rdi], xmm6
mov rcx, rdi
xor edx, edx
call fcn.1400a0660
lea rcx, str.newautoupdater
lea rbx, [rsp + 0x1a0]
mov qword [rbx], rcx
call fcn.14014cf30
mov qword [rbx + 8], rax
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call fcn.1400a1f50
movabs rdi, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0x180]
mov qword [rsi + 0x10], rdi
movaps xmmword [rsi], xmm6
mov rcx, rsi
call fcn.1400f75f0
mov ecx, 1
mov rdx, rsi
call fcn.140090fb0
test al, al
je 0x14002a8a0
xorps xmm0, xmm0
movups xmmword [rsp + 0x118], xmm0
movups xmmword [rsp + 0x128], xmm0
movups xmmword [rsp + 0x168], xmm0
movups xmmword [rsp + 0x158], xmm0
movups xmmword [rsp + 0x148], xmm0
movups xmmword [rsp + 0x138], xmm0
mov qword [rsp + 0x178], 0
movabs rax, 0x4000000070
mov qword [rsp + 0x110], rax
lea rax, str.runas
mov qword [rsp + 0x120], rax
cmp byte [rsp + 0x197], 0
jns 0x14002a83b
mov rsi, qword [rsp + 0x180]
mov qword [rsp + 0x128], rsi
lea rsi, [rsp + 0xf0]
mov qword [rsi + 0x10], rdi
movaps xmmword [rsi], xmm6
lea rcx, [rsp + 0x1b0]
mov rdx, rsi
call fcn.1400a2c50
cmp byte [rsi + 0x17], 0
jns 0x14002a870
mov rsi, qword [rsp + 0xf0]
lea rcx, [rsp + 0x110]
mov qword [rcx + 0x20], rsi
mov dword [rcx + 0x30], 5
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp byte [rsp + 0x107], 0
jns 0x14002a8a0
mov rcx, qword [rsp + 0xf0]
call fcn.14012a8ec
lea rcx, [rsp + 0x180]
call fcn.1400f7860
lea rcx, [rsp + 0x1b0]
call fcn.1400a0be0
mov rcx, qword [rsp + 0x208]
xor rcx, rsp
call fcn.14012b460
movaps xmm6, xmmword [rsp + 0x210]
movaps xmm7, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x120], r15
movaps xmm6, xmmword [0x1401c1a60]
movaps xmmword [rsp + 0x110], xmm6
call fcn.140038b30
lea rbx, [rsp + 0x1b0]
mov rcx, rbx
mov rdx, rax
call fcn.140165f50
lea rdx, str._autoupdate.version
mov r8d, shutdown
mov rcx, rbx
call fcn.140081610
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x120], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x110], xmm0
xorps xmm7, xmm7
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
cmp byte [rbx + 0x17], 0
jns 0x14002a974
mov rcx, qword [rsp + 0x1b0]
call fcn.14012a8ec
lea r14, [rsp + 0x1b0]
mov qword [r14 + 0x10], r15
movaps xmmword [r14], xmm6
lea rcx, str.files_list
lea rbx, [rsp + 0xe0]
mov qword [rbx], rcx
call fcn.14014d1e4
mov qword [rbx + 8], rax
mov rcx, rsi
mov rdx, r14
mov r8, rbx
call fcn.1400f9330
lea rbx, [rsp + 0x180]
movaps xmmword [rbx], xmm7
mov qword [rbx + 0x10], 0
mov rcx, r14
mov rdx, rbx
call fcn.1400921b0
test al, al
je 0x14002ac06
mov qword [rsp + 0x100], r15
movaps xmmword [rsp + 0xf0], xmm6
movzx ecx, byte [rsp + 0x197]
mov eax, ecx
and eax, 0x7f
test cl, cl
lea rcx, [0x1401c59e5]
cmovs rax, qword [rsp + 0x188]
mov qword [rsp + 0xd0], rcx
cmovs rbx, qword [rsp + 0x180]
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xc8], rax
test rax, rax
js 0x14002ae4d
test rbx, rbx
jne 0x14002aa46
test rax, rax
jne 0x14002ae79
mov dword [rsp + 0x20], 1
lea rbx, [rsp + 0xf0]
lea rdx, [rsp + 0xc0]
lea r8, [rsp + 0xd0]
mov rcx, rbx
xor r9d, r9d
call fcn.1400ee460
mov r14, qword [rbx]
cmp r14, qword [rbx + 8]
je 0x14002ac01
lea r14, str.opera_autoupdate.exe
lea r15, [rsp + 0x98]
mov qword [r15], r14
mov rcx, r14
call fcn.14014cf30
mov rbx, rax
mov qword [r15 + 8], rax
lea r12, [rsp + 0xa8]
mov rcx, rdi
mov rdx, r12
mov r8, r15
call fcn.14009f380
lea r8, [rsp + 0x70]
mov qword [r8], r14
mov qword [rsp + 0x28], rbx
mov qword [r8 + 8], rbx
lea r14, [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
call fcn.14009f380
mov rcx, r14
mov rdx, r12
call fcn.1401926e0
mov ebp, eax
mov rcx, r14
call fcn.1400f7860
mov rcx, r12
call fcn.1400f7860
test bpl, bpl
je 0x14002abf9
lea rdx, [rsp + 0x110]
movzx ecx, byte [rdx + 0x17]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rdx + 8]
mov rcx, qword [rdx]
cmovns rcx, rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
test rax, rax
js 0x14002ae4d
test rcx, rcx
jne 0x14002ab3f
test rax, rax
jne 0x14002ae79
lea rdx, [rsp + 0xa8]
lea r8, [rsp + 0x60]
mov rcx, rdi
call fcn.14009f380
movzx ecx, byte [rsp + 0x127]
mov eax, ecx
and eax, 0x7f
test cl, cl
cmovs rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x110]
lea rdx, [rsp + 0x110]
cmovns rcx, rdx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
test rax, rax
js 0x14002ae4d
test rcx, rcx
jne 0x14002aba1
test rax, rax
jne 0x14002ae79
lea r14, [rsp + 0x80]
lea r8, [rsp + 0x50]
mov rcx, rsi
mov rdx, r14
call fcn.14009f380
lea r15, [rsp + 0xa8]
mov rcx, r14
mov rdx, r15
call fcn.1401926e0
mov rcx, r14
call fcn.1400f7860
mov rcx, r15
call fcn.1400f7860
mov r12, qword [rsp + 0xf0]
mov rbp, qword [rsp + 0xf8]
jmp 0x14002adc7
mov rcx, rsi
call fcn.14008e9a0
mov r14, qword [rsp + 0xf0]
test r14, r14
jne 0x14002ac61
cmp byte [rsp + 0x197], 0
jns 0x14002ac1d
mov rcx, qword [rsp + 0x180]
call fcn.14012a8ec
lea rcx, [rsp + 0x1b0]
call fcn.1400f7860
cmp byte [rsp + 0x127], 0
jns 0x14002a8ba
mov rcx, qword [rsp + 0x110]
call fcn.14012a8ec
jmp 0x14002a8ba
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf8], r14
call fcn.14012a8ec
jmp 0x14002ac06
mov rsi, qword [rsp + 0xf8]
mov rcx, r14
cmp rsi, r14
je 0x14002ac52
add rsi, 0xffffffffffffffe8
jmp 0x14002ac8b
mov rcx, qword [rsi]
call fcn.14012a8ec
lea rax, [rsi - 0x18]
cmp rsi, r14
mov rsi, rax
je 0x14002ac4a
test rsi, rsi
je 0x14002aea5
cmp byte [rsi + 0x17], 0
jns 0x14002ac7f
jmp 0x14002ac77
mov rcx, qword [r12]
mov rax, qword [r12 + 8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
test rax, rax
jns 0x14002ad7a
jmp 0x14002ae4d
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], rbx
test rbx, rbx
jns 0x14002ad3c
jmp 0x14002ae4d
mov rcx, qword [r12]
mov r8, rbx
call fcn.14012dc40
test eax, eax
je 0x14002adc3
test r14b, r14b
mov r13, qword [r12]
mov rcx, r12
cmovs rcx, r13
test r15, r15
js 0x14002ae4d
je 0x14002ad07
test rcx, rcx
je 0x14002ae79
cmp r15, qword [rsp + 0x28]
jne 0x14002ad27
lea rdx, str.opera_autoupdate.exe
mov r8, qword [rsp + 0x28]
call fcn.14012dc40
test eax, eax
je 0x14002adc3
test r14b, r14b
js 0x14002acbd
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r14
mov r13, r12
mov rbx, r14
test r13, r13
jne 0x14002ad4a
test rbx, rbx
jne 0x14002ae79
mov rcx, rdi
lea rdx, [rsp + 0xa8]
lea r8, [rsp + 0x40]
call fcn.14009f380
movzx eax, byte [r12 + 0x17]
test al, al
js 0x14002ac9c
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], rax
mov rcx, r12
test rcx, rcx
jne 0x14002ad88
test rax, rax
jne 0x14002ae79
mov rcx, rsi
lea r14, [rsp + 0x80]
mov rdx, r14
lea r8, [rsp + 0x30]
call fcn.14009f380
mov rcx, r14
lea rbx, [rsp + 0xa8]
mov rdx, rbx
call fcn.1401926e0
mov rcx, r14
call fcn.1400f7860
mov rcx, rbx
call fcn.1400f7860
add r12, 0x18
cmp r12, rbp
je 0x14002abf1
movzx r14d, byte [r12 + 0x17]
mov eax, r14d
and eax, 0x7f
test r14b, r14b
mov rbx, qword [r12 + 8]
mov r15, rax
cmovs r15, rbx
movzx ecx, byte [rsp + 0x127]
test cl, cl
js 0x14002adfe
mov edx, ecx
and edx, 0x7f
jmp 0x14002ae06
mov rdx, qword [rsp + 0x118]
cmp r15, rdx
jne 0x14002ace5
lea rdx, [rsp + 0x110]
test cl, cl
jns 0x14002ae23
mov rdx, qword [rsp + 0x110]
test r14b, r14b
js 0x14002acd1
test al, al
je 0x14002adc3
xor ecx, ecx
mov r8b, byte [r12 + rcx]
cmp r8b, byte [rdx + rcx]
jne 0x14002ace5
inc rcx
cmp rax, rcx
jne 0x14002ae32
jmp 0x14002adc3
lea rax, str.string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x13a
call fcn.140166ee0
lea rax, str.string_view::string_view__CharT___size_t_:_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x13c
call fcn.140166ee0
lea rax, str.null_pointer_given_to_destroy_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__loc___nullptr
mov r8d, 0x44
call fcn.140166ee0
int3