Function at 0x140002320
Capabilities:
Check os version
Delete file
Extract resource via kernel32 functions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
movaps xmmword [rsp + 0x250], xmm7
movaps xmmword [rsp + 0x240], xmm6
mov rax, qword [0x140069040]
xor rax, rsp
mov qword [rsp + 0x238], rax
lea rsi, [rsp + 0x11c]
mov r8d, 0x110
mov rcx, rsi
xor edx, edx
call fcn.140038900
mov dword [rsi - 0xc], 0x11c
mov rdi, qword [sym.imp.KERNEL32.dll_VerSetConditionMask]
xor ecx, ecx
mov edx, 2
mov r8b, 3
call rdi
mov rcx, rax
mov edx, 1
mov r8b, 3
call rdi
mov rcx, rax
mov edx, 0x20
mov r8b, 3
call rdi
movabs rcx, 0x100000006
mov qword [rsi - 8], rcx
mov word [rsi + 0x108], 0
lea rcx, [rsp + 0x110]
mov edx, 0x23
mov r8, rax
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
test eax, eax
je 0x140001719
xorps xmm7, xmm7
movaps xmmword [rsp + 0xa0], xmm7
mov qword [rsp + 0xb0], 0
lea rsi, [rsp + 0x88]
movaps xmm6, xmmword [0x14005d560]
movaps xmmword [rsi + 8], xmm6
movaps xmmword [rsi - 8], xmm6
mov edx, 0x7d1
mov r8d, 0xa
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
je 0x14000157c
mov rdi, rax
xor ecx, ecx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x1400015d7
mov r14, rax
xor ecx, ecx
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
test eax, eax
je 0x140001566
mov ebx, eax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LockResource]
mov r14, rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x110], xmm0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xc0]
xor edx, edx
mov r8d, ebx
mov r9, r14
call fcn.140002510
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x140001333
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rdi, [rsp + 0x118]
lea r15, [rsp + 0xc8]
mov rax, qword [r15 - 8]
mov qword [rdi - 8], rax
mov qword [r15 - 8], 0
cmp byte [rdi + 0x17], 0
movzx r8d, byte [r15 + 0x17]
js 0x140001fd5
test r8b, r8b
js 0x1400014de
mov rax, qword [r15 + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [r15]
movups xmmword [rdi], xmm0
mov word [rsp + 0xc8], 0
mov byte [rsp + 0xdf], 0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x14000139f
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rsp + 0xc0], 0
cmp byte [rsp + 0xdf], 0
js 0x1400014c2
je 0x1400013fe
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [rsp + 0xdf], 0
jns 0x1400013fe
mov rax, qword [rsp + 0xc8]
mov word [rax], 0
mov qword [rsp + 0xd0], 0
cmp byte [rsp + 0xdf], 0
jns 0x1400013fe
mov rcx, qword [rsp + 0xc8]
call fcn.14000b880
mov rax, qword [rsp + 0x110]
test rax, rax
je 0x140001dff
mov qword [rsp + 0x80], rax
cmp byte [rsp + 0x12f], 0
js 0x140001522
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
mov word [rsp + 0x118], 0
mov byte [rsp + 0x12f], 0
mov qword [rsp + 0x110], 0
cmp byte [rsp + 0x12f], 0
js 0x1400014ad
je 0x1400014a0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [rsp + 0x12f], 0
jns 0x1400014a0
mov rax, qword [rsp + 0x118]
mov word [rax], 0
mov qword [rsp + 0x120], 0
cmp byte [rsp + 0x12f], 0
jns 0x1400014a0
mov rcx, qword [rsp + 0x118]
call fcn.14000b880
mov rcx, qword [rsp + 0x80]
jmp 0x140001632
cmp qword [rsp + 0x120], 0
je 0x140001493
mov rdi, qword [rsp + 0x118]
jmp 0x14000145d
cmp qword [rsp + 0xd0], 0
je 0x1400013f1
mov r15, qword [rsp + 0xc8]
jmp 0x1400013bb
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
mov rcx, rdi
call fcn.140009380
cmp byte [rsp + 0xdf], 0
jns 0x14000137a
mov rax, qword [rsp + 0xc8]
mov word [rax], 0
mov qword [rsp + 0xd0], 0
jmp 0x14000138c
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x120]
mov rcx, rsi
call fcn.14000b400
cmp byte [rsp + 0x12f], 0
jns 0x140001433
mov rax, qword [rsp + 0x118]
mov word [rax], 0
mov qword [rsp + 0x120], 0
jmp 0x140001445
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdi, [rsp + 0x110]
mov dword [rdi], 0x11c
jmp 0x1400015eb
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdi, [rsp + 0x110]
mov dword [rdi], 0x110
mov dword [rdi + 4], eax
movups xmmword [rdi + 8], xmm7
mov qword [rdi + 0x18], 0
lea rcx, [rsp + 0xa0]
mov rdx, rdi
call fcn.140002330
cmp byte [rdi + 0x1f], 0
jns 0x1400015c2
mov rcx, qword [rsp + 0x118]
call fcn.14000b880
xorps xmm0, xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
jmp 0x140001630
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdi, [rsp + 0x110]
mov dword [rdi], 0x116
mov dword [rdi + 4], eax
xorps xmm7, xmm7
movups xmmword [rdi + 8], xmm7
mov qword [rdi + 0x18], 0
lea rcx, [rsp + 0xa0]
mov rdx, rdi
call fcn.140002330
cmp byte [rdi + 0x1f], 0
jns 0x140001620
mov rcx, qword [rsp + 0x118]
call fcn.14000b880
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x90], xmm7
xor ecx, ecx
lea rdx, [0x14005daba]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140001802
call qword [0x140060218]
mov edi, eax
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x140001663
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rsp + 0x80], 0
cmp byte [rsp + 0x9f], 0
js 0x1400016e1
je 0x1400016be
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [rsp + 0x9f], 0
jns 0x1400016be
mov rax, qword [rsp + 0x88]
mov word [rax], 0
mov qword [rsp + 0x90], 0
cmp byte [rsp + 0x9f], 0
jns 0x1400016be
mov rcx, qword [rsp + 0x88]
call fcn.14000b880
mov rsi, qword [rsp + 0xa0]
test rsi, rsi
je 0x14000175c
mov rax, qword [rsp + 0xa8]
cmp rax, rsi
je 0x140001754
mov rbx, rax
jmp 0x140001707
cmp qword [rsp + 0x90], 0
je 0x1400016b1
mov rsi, qword [rsp + 0x88]
jmp 0x14000167b
mov rcx, qword [rax - 0x18]
call fcn.14000b880
mov rax, rbx
cmp rbx, rsi
je 0x140001754
add rbx, 0xffffffffffffffe0
je 0x140001792
cmp byte [rax - 1], 0
jns 0x1400016ff
jmp 0x1400016f6
movabs rax, 0x400000000008
lea rcx, [rsp + 0x110]
mov qword [rcx], rax
call qword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
lea rdx, str.This_Opera_installer_works_only_on_Windows_7_or_higher._r_nVisit_____www.opera.com_____to_download_compatible_version.
lea r8, str.Opera_installer_112.0.5197.53.0
xor ecx, ecx
xor r9d, r9d
call qword [sym.imp.USER32.dll_MessageBoxW]
mov edi, 3
jmp 0x14000175c
mov rcx, rsi
call fcn.14000b880
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.14000c2c0
mov eax, edi
movaps xmm6, xmmword [rsp + 0x240]
movaps xmm7, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x14005d80b]
lea rdx, [0x14005d88f]
call fcn.140050390
lea rdx, str._r_n_r_nWhen_reporting_this_error__click_on_this_text_and_press_CtrlC_to_copy_it.
lea rdi, [rsp + 0x68]
mov r8d, 0x4e
mov rcx, rdi
call fcn.14000b500
cmp byte [rdi + 0x17], 0
jns 0x1400017ca
mov rdi, qword [rsp + 0x68]
lea r8, str.Opera_installer_112.0.5197.53.0
xor ecx, ecx
mov rdx, rdi
xor r9d, r9d
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp byte [rsp + 0x7f], 0
lea rsi, [rsp + 0x88]
jns 0x1400017f8
mov rcx, qword [rsp + 0x68]
call fcn.14000b880
mov edi, 2
jmp 0x140001650
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdi, [rsp + 0x110]
mov dword [rdi], 0xa9
mov dword [rdi + 4], eax
xorps xmm0, xmm0
movups xmmword [rdi + 8], xmm0
mov qword [rdi + 0x18], 0
lea rcx, [rsp + 0xa0]
mov rdx, rdi
call fcn.140002330
cmp byte [rdi + 0x1f], 0
jns 0x14000184b
mov rcx, qword [rsp + 0x118]
call fcn.14000b880
movabs rbp, 0x7ffffffffffffff7
mov ecx, 0x68
call fcn.14000b844
mov rbx, rax
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x3d]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], 0x30
lea rax, [rbx + 0x60]
lea rcx, str.Fatal_error_upon_loading_installer_executable:_r_n
cmp rbx, rcx
seta dl
cmp rax, rcx
setbe al
or al, dl
je 0x14000200c
lea rdx, str.Fatal_error_upon_loading_installer_executable:_r_n
mov r8d, 0x60
mov rcx, rbx
call fcn.140038260
mov word [rbx + 0x60], 0
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x48], rax
cmp rbx, rax
je 0x1400017a5
add rbx, 8
movabs rsi, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0xf0]
lea r15, [rsp + 0x68]
xorps xmm7, xmm7
lea rax, [rbp + 0x29]
mov qword [rsp + 0x40], rax
jmp 0x140001aab
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x60], rax
movaps xmm0, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x50], xmm0
jmp 0x14000194c
add r9, 0xfffffffffffffffe
lea rax, [rsp + 0xef]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0xc0]
xor r8d, r8d
call fcn.14000acc0
movabs rbp, 0x7ffffffffffffff7
mov r15, r12
cmp byte [rsp + 0xd7], 0
jns 0x140001963
mov rcx, qword [rsp + 0xc0]
call fcn.14000b880
mov dl, byte [rsp + 0x67]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
jmp 0x1400019ec
mov byte [rsp + 0xd7], r15b
lea rcx, [rsp + 0xc0]
jmp 0x140001b5e
mov ecx, 0x20
call fcn.14000b844
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x58], 0x1b
lea rcx, [rax + 0x1b]
lea r8, str._Error_cannot_be_retrieved_
cmp rax, r8
seta dl
cmp rcx, r8
setbe cl
or cl, dl
je 0x14000201f
mov r15, r12
movups xmm0, xmmword [0x14005db52]
movups xmmword [rax + 0xb], xmm0
movups xmm0, xmmword [str._Error_cannot_be_retrieved_]
movups xmmword [rax], xmm0
mov byte [rax + 0x1b], 0
mov dl, 0x80
mov ecx, 0x1b
test dl, dl
lea r8, [rsp + 0x50]
cmovns rax, r8
movzx r8d, dl
cmovs r8, rcx
add r8, rax
mov rcx, r15
mov rdx, rax
call fcn.140002040
movsx rax, byte [r13 + 0x1f]
test rax, rax
jns 0x140001a1b
mov rax, qword [rbx + 8]
test rax, rax
je 0x140001a72
mov rcx, rdi
lea rdx, [0x14005d6d4]
mov r8, rbx
call fcn.1400021b0
movsx r8, byte [rsp + 0x127]
mov rdx, rdi
test r8, r8
jns 0x140001a53
mov r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
mov rcx, r15
call fcn.14000b500
cmp byte [rsp + 0x127], 0
jns 0x140001a72
mov rcx, qword [rsp + 0x110]
call fcn.14000b880
mov r8d, 2
mov rcx, r15
lea rdx, [0x14005d6d8]
call fcn.14000b500
cmp byte [rsp + 0x67], 0
jns 0x140001a98
mov rcx, qword [rsp + 0x50]
call fcn.14000b880
add rbx, 0x20
add r13, 0x20
cmp r13, qword [rsp + 0x48]
je 0x1400017a5
mov qword [rsp + 0xfe], rsi
movaps xmmword [rsp + 0xf0], xmm6
mov ecx, dword [rbx - 8]
mov r8d, 0xb
mov rdx, r14
mov r9d, 0xa
call fcn.14001d75c
mov r8d, 8
mov r12, r15
mov rcx, r15
lea rdx, str.In_line
call fcn.14000b500
mov rcx, r14
call fcn.14002242c
cmp rax, rbp
ja 0x140001fff
mov r15, rax
cmp rax, 0xa
jbe 0x140001973
lea rax, [rbp + 5]
and rax, r15
add rax, 4
mov r13, r15
or r13, 3
cmp r13, 0xb
cmove r13, rax
inc r13
js 0x140001ffa
lea rcx, [r13*2]
call fcn.14000b844
mov rcx, rax
mov qword [rsp + 0xc0], rax
lea rax, [r13 + 9]
add rax, rbp
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xc8], r15
lea r13, [rcx + r15*2]
cmp rcx, r14
seta al
cmp r13, r14
setbe dl
or dl, al
je 0x14000200c
test r15, r15
je 0x140001b89
add r15, r15
mov rdx, r14
mov r8, r15
call fcn.140038260
mov word [r13], 0
mov r8d, 1
lea rcx, [rsp + 0xc0]
lea rdx, [0x14005d6d4]
call fcn.14000b500
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x120], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x110], xmm0
movups xmmword [rax], xmm7
mov qword [rax + 0x10], 0
movsx r8, byte [rsp + 0x127]
test r8, r8
cmovs r8, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
cmovns rdx, rdi
mov rcx, r12
call fcn.14000b500
cmp byte [rsp + 0x127], 0
jns 0x140001c0c
mov rcx, qword [rsp + 0x110]
call fcn.14000b880
cmp byte [rsp + 0xd7], 0
jns 0x140001c23
mov rcx, qword [rsp + 0xc0]
call fcn.14000b880
lea r13, [rbx - 8]
mov qword [rsp + 0x60], rsi
movaps xmmword [rsp + 0x50], xmm6
mov r15d, dword [r13 + 4]
mov r8d, 0x100
mov rcx, rdi
mov dl, 0xaa
call fcn.140038900
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x100
mov ecx, 0x1200
xor edx, edx
mov r8d, r15d
mov r9d, 0x409
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
test eax, eax
je 0x140001988
mov qword [rsp + 0xd0], rsi
movaps xmmword [rsp + 0xc0], xmm6
mov rcx, rdi
call fcn.140021b20
cmp rax, rbp
ja 0x140002032
mov r15, rax
cmp rax, 0x16
ja 0x140001d34
mov byte [rsp + 0xd7], r15b
lea rcx, [rsp + 0xc0]
lea rbp, [rcx + r15]
cmp rcx, rdi
seta al
cmp rbp, rdi
setbe dl
or dl, al
je 0x14000201f
test r15, r15
je 0x140001cdf
mov rdx, rdi
mov r8, r15
call fcn.140038260
mov byte [rbp], 0
movsx rax, byte [rsp + 0xd7]
test rax, rax
mov r8, qword [rsp + 0xc8]
mov r9, rax
cmovs r9, r8
cmp r9, 2
jae 0x140001919
test al, al
movabs rbp, 0x7ffffffffffffff7
mov r15, r12
jns 0x1400018fd
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x50]
call fcn.14000a900
jmp 0x14000194c
lea rax, [rbp + 1]
and rax, r15
add rax, 8
mov r14, rsi
mov rsi, rbp
mov rbp, r15
or rbp, 7
cmp rbp, 0x17
cmove rbp, rax
inc rbp
mov rcx, rbp
call fcn.14000b844
mov rcx, rax
mov qword [rsp + 0xc0], rax
lea rax, [rsi + 9]
mov rsi, r14
lea r14, [rsp + 0xf0]
lea rdi, [rsp + 0x110]
or rax, rbp
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xc8], r15
jmp 0x140001cb7
mov rdx, rbx
test r8b, r8b
jns 0x140001db1
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
mov rcx, rdi
call fcn.1400092a0
jmp 0x140001dd3
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd0]
mov rcx, rdi
call fcn.140009380
cmp byte [rsp + 0xdf], 0
jns 0x140001ebc
mov rax, qword [rsp + 0xc8]
mov word [rax], 0
mov qword [rsp + 0xd0], 0
jmp 0x140001ece
lea r12, [rsp + 0xc0]
mov dword [r12], 0x127
xorps xmm0, xmm0
movups xmmword [r12 + 4], xmm0
movups xmmword [r12 + 0x10], xmm0
lea r15, [rsp + 0xa0]
mov rcx, r15
mov rdx, r12
call fcn.140002330
cmp byte [r12 + 0x1f], 0
jns 0x140001e46
mov rcx, qword [rsp + 0xc8]
call fcn.14000b880
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0xc0]
mov edx, 1
mov r8d, ebx
mov r9, r14
call fcn.140002510
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x140001e76
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rbx, [rsp + 0xc8]
mov rax, qword [rbx - 8]
mov qword [rsp + 0x110], rax
mov qword [rbx - 8], 0
cmp byte [rsp + 0x12f], 0
movzx r8d, byte [rbx + 0x17]
js 0x140001d99
test r8b, r8b
js 0x140001dbb
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
mov word [rsp + 0xc8], 0
mov byte [rsp + 0xdf], 0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x140001ee1
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov qword [rsp + 0xc0], 0
cmp byte [rsp + 0xdf], 0
js 0x140001fb9
je 0x140001f40
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [rsp + 0xdf], 0
jns 0x140001f40
mov rax, qword [rsp + 0xc8]
mov word [rax], 0
mov qword [rsp + 0xd0], 0
cmp byte [rsp + 0xdf], 0
jns 0x140001f40
mov rcx, qword [rsp + 0xc8]
call fcn.14000b880
mov rax, qword [rsp + 0x110]
test rax, rax
jne 0x14000140f
lea rbx, [rsp + 0xc0]
mov dword [rbx], 0x12b
xorps xmm7, xmm7
movups xmmword [rbx + 4], xmm7
movups xmmword [rbx + 0x10], xmm7
lea rcx, [rsp + 0xa0]
mov rdx, rbx
call fcn.140002330
cmp byte [rbx + 0x1f], 0
jns 0x140001f8d
mov rcx, qword [rsp + 0xc8]
call fcn.14000b880
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x90], xmm7
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x140001445
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x140001445
cmp qword [rsp + 0xd0], 0
je 0x140001f33
mov rbx, qword [rsp + 0xc8]
jmp 0x140001efd
mov rdx, r15
test r8b, r8b
jns 0x140001fed
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
mov rcx, rdi
call fcn.1400092a0
jmp 0x1400014f6
call fcn.1400395b0
lea rcx, [rsp + 0xc0]
call fcn.1400395d0
lea rcx, [0x14005d80b]
lea rdx, [0x14005d922]
call fcn.140050390
lea rcx, [0x14005d80b]
lea rdx, [0x14005db63]
call fcn.140050390
lea rcx, [rsp + 0xc0]
call fcn.1400395d0
int3
jmp 0x1400011b0