Function at 0x14003d950
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 [0x140241038]
xor rax, rsp
mov qword [rsp + 0x208], rax
mov rcx, qword [0x140257930]
test rcx, rcx
jne 0x14003d9ac
call fcn.140069580
mov rcx, rax
mov qword [0x140257930], rax
mov rdx, r14
mov r8d, 1
mov r9d, 0x1201bf
call fcn.140069870
mov ebp, eax
mov rcx, qword [0x140257930]
test rcx, rcx
jne 0x14003d9dd
call fcn.140069580
mov rcx, rax
mov qword [0x140257930], rax
mov edx, ebx
mov r8d, ebp
call fcn.14006a530
test al, al
je 0x14003dbae
xor ecx, ecx
call fcn.14003e590
test al, al
je 0x14003db7a
movaps xmm6, xmmword [0x1402184a0]
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.1400b7de0
lea rcx, str.newautoupdater
lea rbx, [rsp + 0x1a0]
mov qword [rbx], rcx
call fcn.14017bde0
mov qword [rbx + 8], rax
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call fcn.1400b9260
movabs rdi, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0x180]
mov qword [rsi + 0x10], rdi
movaps xmmword [rsi], xmm6
mov rcx, rsi
call fcn.14011ee30
mov ecx, 1
mov rdx, rsi
call fcn.1400a8b60
test al, al
je 0x14003db60
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 0x14003dafb
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.1400b9db0
cmp byte [rsi + 0x17], 0
jns 0x14003db30
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 0x14003db60
mov rcx, qword [rsp + 0xf0]
call fcn.1401536dc
lea rcx, [rsp + 0x180]
call fcn.14011f120
lea rcx, [rsp + 0x1b0]
call fcn.1400b8180
mov rcx, qword [rsp + 0x208]
xor rcx, rsp
call fcn.1401542e0
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
call fcn.14005bbb0
lea rbx, [rsp + 0x1b0]
mov rcx, rbx
mov rdx, rax
call fcn.140191c90
lea rdx, str._autoupdate.version
mov r8d, shutdown
mov rcx, rbx
call fcn.140103db0
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x120], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x110], xmm0
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
cmp byte [rbx + 0x17], 0
jns 0x14003dc13
mov rcx, qword [rsp + 0x1b0]
call fcn.1401536dc
movabs r15, 0xaaaaaaaaaaaaaaaa
lea rbx, [rsp + 0x1b0]
mov qword [rbx + 0x10], r15
movaps xmm7, xmmword [0x1402184a0]
movaps xmmword [rbx], xmm7
lea rcx, str.files_list
lea r14, [rsp + 0xe0]
mov qword [r14], rcx
call fcn.14017c094
mov qword [r14 + 8], rax
mov rcx, rsi
mov rdx, rbx
mov r8, r14
call fcn.1401204d0
lea r14, [rsp + 0x180]
movaps xmmword [r14], xmm6
mov qword [r14 + 0x10], 0
mov rcx, rbx
mov rdx, r14
call fcn.1400a9b30
test al, al
je 0x14003de35
lea rbx, [rsp + 0xf0]
mov qword [rbx + 0x10], r15
movaps xmmword [rbx], xmm7
lea rax, [0x140218cb3]
movzx ecx, byte [rsp + 0x197]
mov r9d, ecx
and r9d, 0x7f
test cl, cl
lea r8, [rsp + 0xd0]
cmovs r14, qword [rsp + 0x180]
mov qword [r8], rax
mov qword [r8 + 8], 2
lea rdx, [rsp + 0xc0]
mov qword [rdx], r14
cmovs r9, qword [rsp + 0x188]
mov qword [rdx + 8], r9
mov dword [rsp + 0x20], 1
mov rcx, rbx
xor r9d, r9d
call fcn.140114a80
mov r14, qword [rbx]
cmp r14, qword [rbx + 8]
je 0x14003de30
lea r14, str.opera_autoupdate.exe
lea r15, [rsp + 0x98]
mov qword [r15], r14
mov rcx, r14
call fcn.14017bde0
mov rbx, rax
mov qword [r15 + 8], rax
lea r12, [rsp + 0xa8]
mov rcx, rdi
mov rdx, r12
mov r8, r15
call fcn.1400b6fd0
lea r8, [rsp + 0x70]
mov qword [r8], r14
mov qword [r8 + 8], rbx
lea r14, [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
call fcn.1400b6fd0
mov rcx, r14
mov rdx, r12
call fcn.1401c17c0
mov ebp, eax
mov rcx, r14
call fcn.14011f120
mov rcx, r12
call fcn.14011f120
test bpl, bpl
je 0x14003de28
lea r15, [rsp + 0x110]
movzx eax, byte [r15 + 0x17]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [r15]
cmovns rax, r15
lea r8, [rsp + 0x60]
mov qword [r8], rax
cmovs rcx, qword [r15 + 8]
mov qword [r8 + 8], rcx
lea r14, [rsp + 0xa8]
mov rcx, rdi
mov rdx, r14
call fcn.1400b6fd0
movzx eax, byte [r15 + 0x17]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [r15]
cmovns rax, r15
lea r8, [rsp + 0x50]
mov qword [r8], rax
cmovs rcx, qword [r15 + 8]
mov qword [r8 + 8], rcx
lea r15, [rsp + 0x80]
mov rcx, rsi
mov rdx, r15
call fcn.1400b6fd0
mov rcx, r15
mov rdx, r14
call fcn.1401c17c0
mov rcx, r15
call fcn.14011f120
mov rcx, r14
call fcn.14011f120
mov rbp, qword [rsp + 0xf0]
mov r15, qword [rsp + 0xf8]
jmp 0x14003df92
mov rcx, rsi
call fcn.1400a6690
mov r14, qword [rsp + 0xf0]
test r14, r14
jne 0x14003de90
cmp byte [rsp + 0x197], 0
jns 0x14003de4c
mov rcx, qword [rsp + 0x180]
call fcn.1401536dc
lea rcx, [rsp + 0x1b0]
call fcn.14011f120
cmp byte [rsp + 0x127], 0
jns 0x14003db7a
mov rcx, qword [rsp + 0x110]
call fcn.1401536dc
jmp 0x14003db7a
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 0xf8], r14
call fcn.1401536dc
jmp 0x14003de35
mov rax, qword [rsp + 0xf8]
mov rcx, r14
cmp rax, r14
jne 0x14003deb3
jmp 0x14003de81
mov rcx, qword [rax - 0x18]
call fcn.1401536dc
mov rax, rsi
cmp rsi, r14
je 0x14003de79
lea rsi, [rax - 0x18]
cmp byte [rax - 1], 0
jns 0x14003deab
jmp 0x14003dea2
test r14, r14
je 0x14003df8e
mov r8, r14
call fcn.140156ac0
test eax, eax
je 0x14003df8e
test r13b, r13b
cmovns r12, rbp
test r14, r14
js 0x14003e020
je 0x14003def3
test r12, r12
je 0x14003e04c
cmp r14, rbx
jne 0x14003df17
test rbx, rbx
je 0x14003df8e
mov rcx, r12
lea rdx, str.opera_autoupdate.exe
mov r8, rbx
call fcn.140156ac0
test eax, eax
je 0x14003df8e
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r14
mov rcx, rdi
lea r14, [rsp + 0xa8]
mov rdx, r14
lea r8, [rsp + 0x40]
call fcn.1400b6fd0
movzx eax, byte [rbp + 0x17]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [rbp]
cmovns rax, rbp
mov qword [rsp + 0x30], rax
cmovs rcx, qword [rbp + 8]
mov qword [rsp + 0x38], rcx
mov rcx, rsi
lea r12, [rsp + 0x80]
mov rdx, r12
lea r8, [rsp + 0x30]
call fcn.1400b6fd0
mov rcx, r12
mov rdx, r14
call fcn.1401c17c0
mov rcx, r12
call fcn.14011f120
mov rcx, r14
call fcn.14011f120
add rbp, 0x18
cmp rbp, r15
je 0x14003de20
movzx r13d, byte [rbp + 0x17]
mov eax, r13d
and eax, 0x7f
mov r14, rax
test r13b, r13b
jns 0x14003dfb2
mov r14, qword [rbp + 8]
movzx ecx, byte [rsp + 0x127]
test cl, cl
js 0x14003dfc5
mov edx, ecx
and edx, 0x7f
jmp 0x14003dfcd
mov rdx, qword [rsp + 0x118]
mov r12, qword [rbp]
cmp r14, rdx
jne 0x14003ded8
lea rdx, [rsp + 0x110]
test cl, cl
jns 0x14003dfee
mov rdx, qword [rsp + 0x110]
mov rcx, rbp
test r13b, r13b
cmovs rcx, r12
js 0x14003debf
test al, al
je 0x14003df8e
xor ecx, ecx
mov r8b, byte [rbp + rcx]
cmp r8b, byte [rdx + rcx]
jne 0x14003ded8
inc rcx
cmp rax, rcx
jne 0x14003e004
jmp 0x14003df8e
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
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string_view
lea r9, str.__len___static_cast_size_type__numeric_limits_difference_type_::max___
mov r8d, 0x135
call fcn.140194730
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
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string_view
lea r9, str.__len__0____s___nullptr
mov r8d, 0x136
call fcn.140194730
int3