Function at 0x140020560
Capabilities:
Copy file

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xaa0
mov rax, qword [0x14009a0a0]
xor rax, rsp
mov qword [rsp + 0xa98], rax
mov r14, rdx
mov rbx, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x6d0], rdx
xor edi, edi
mov dword [rsp + 0x4c], edi
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x140020677
movabs rax, 0x7fffffffffffffff
sub rax, rcx
cmp rax, 1
jb 0x140022023
mov rax, r14
cmp qword [rdx + 0x18], 0x10
jb 0x1400205db
mov rax, qword [rdx]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 1
lea r9, [0x14008ac74]
lea rcx, [rsp + 0x7f8]
call fcn.14000a730
nop
mov dword [rsp + 0x4c], 0x11
mov r8d, 1
lea rdx, [0x14008ac70]
lea rcx, [rsp + 0x7f8]
call fcn.140008020
mov qword [rsp + 0x778], rdi
mov qword [rsp + 0x788], rdi
mov qword [rsp + 0x790], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x778], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x788], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x778]
mov esi, 0x33
mov rbx, qword [rsp + 0x68]
jmp 0x1400206bf
mov qword [rsp + 0x758], rdi
mov qword [rsp + 0x768], rdi
mov qword [rsp + 0x770], 0xf
mov byte [rsp + 0x758], 0
xor r8d, r8d
lea rdx, [0x14008512b]
lea rcx, [rsp + 0x758]
call fcn.140007ec0
lea rcx, [rsp + 0x758]
mov esi, 4
mov dword [rsp + 0x4c], esi
mov r9d, 0x14
lea r8, str.Updater.HandleUpdate
call fcn.14000b550
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0x100], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xe8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xf8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
or esi, 0x40
mov dword [rsp + 0x4c], esi
lea rcx, [rsp + 0xe8]
call fcn.140030470
nop
test sil, 4
je 0x140020790
and esi, 0xfffffffb
mov rdx, qword [rsp + 0x770]
cmp rdx, 0x10
jb 0x140020774
inc rdx
mov rcx, qword [rsp + 0x758]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002076f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022029
call fcn.140040d10
mov qword [rsp + 0x768], rdi
mov qword [rsp + 0x770], 0xf
mov byte [rsp + 0x758], 0
test sil, 2
je 0x1400207f8
and esi, 0xfffffffd
mov rdx, qword [rsp + 0x790]
cmp rdx, 0x10
jb 0x1400207dc
inc rdx
mov rcx, qword [rsp + 0x778]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400207d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002202f
call fcn.140040d10
mov qword [rsp + 0x788], rdi
mov qword [rsp + 0x790], 0xf
mov byte [rsp + 0x778], 0
test sil, 1
je 0x140020860
and esi, 0xfffffffe
mov rdx, qword [rsp + 0x810]
cmp rdx, 0x10
jb 0x140020844
inc rdx
mov rcx, qword [rsp + 0x7f8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002083f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022035
call fcn.140040d10
mov qword [rsp + 0x808], rdi
mov qword [rsp + 0x810], 0xf
mov byte [rsp + 0x7f8], 0
call qword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
test eax, eax
jne 0x14002098f
mov qword [rsp + 0x6f8], rdi
mov qword [rsp + 0x708], rdi
mov qword [rsp + 0x710], 0xf
lea r8d, [rax + 0x2b]
lea rdx, str.Updater.HandleUpdate_Exit___IsUserLoggedIn_
lea rcx, [rsp + 0x6f8]
call fcn.140007ec0
lea rcx, [rsp + 0x6f8]
call fcn.140030470
lea rax, [rsp + 0x6f8]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x6f8], rdi
mov qword [rsp + 0x708], rdi
mov qword [rsp + 0x710], 0xf
mov r8d, 0x31
lea rdx, str.Exited_with_UpdateFailReason__User_not_logged_in_
lea rcx, [rsp + 0x6f8]
call fcn.140007ec0
nop
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], 0xf
mov r8d, 0xc
lea rdx, str.HandleUpdate
lea rcx, [rsp + 0x88]
call fcn.140007ec0
nop
lea rdx, [rsp + 0x6f8]
lea rcx, [rsp + 0x88]
call fcn.140019ed0
nop
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x14002097a
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x140020975
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002203b
mov rcx, r8
call fcn.140040d10
mov qword [r14 + 0x10], rdi
mov qword [r14 + 0x18], 0xf
mov byte [r14], 0
jmp 0x140021ff6
mov qword [rsp + 0x718], rdi
mov qword [rsp + 0x728], rdi
mov qword [rsp + 0x730], 0xf
mov byte [rsp + 0x718], 0
xor r8d, r8d
lea rdx, [0x14008512b]
lea rcx, [rsp + 0x718]
call fcn.140007ec0
nop
mov dword [rsp + 0x50], edi
mov byte [rsp + 0x49], 0
mov qword [rsp + 0x188], rdi
mov qword [rsp + 0x198], rdi
mov qword [rsp + 0x1a0], 0xf
mov r8d, 0xd
lea rdx, str.Uninstall.exe
lea rcx, [rsp + 0x188]
call fcn.140007ec0
lea rdx, [rsp + 0x188]
lea rcx, [rsp + 0x798]
call fcn.140031200
nop
mov qword [rsp + 0x6d8], rdi
mov qword [rsp + 0x6e8], rdi
mov qword [rsp + 0x6f0], rdi
lea r15, [rbx + 0x20]
mov r13, qword [r15 + 0x10]
mov r12, r15
cmp qword [r15 + 0x18], 0x10
jb 0x140020a4d
mov r12, qword [r15]
cmp r13, 0x10
jae 0x140020a71
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x6d8], xmm0
mov qword [rsp + 0x6f0], 0xf
jmp 0x140020af3
mov rbx, r13
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140020ac5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140022041
mov rcx, rax
call fcn.140040d18
mov rcx, rax
test rax, rax
je 0x140022046
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140020ad4
test rcx, rcx
je 0x140020ad1
call fcn.140040d18
jmp 0x140020ad4
mov rax, rdi
mov qword [rsp + 0x6d8], rax
lea r8, [r13 + 1]
mov rdx, r12
mov rcx, rax
call fcn.1400431a0
mov qword [rsp + 0x6f0], rbx
mov qword [rsp + 0x6e8], r13
lea rdx, [rsp + 0x798]
cmp qword [rsp + 0x7b0], 0x10
cmovae rdx, qword [rsp + 0x798]
lea rcx, [rsp + 0x5c0]
call fcn.1400279e0
mov rax, qword [rsp + 0x5c0]
movsxd rcx, dword [rax + 4]
lea r13, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x5c0], r13
mov rax, qword [rsp + 0x5c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5bc], edx
mov rax, qword [rsp + 0x5c0]
movsxd rcx, dword [rax + 4]
mov ebx, dword [rsp + rcx + 0x5d0]
mov qword [rsp + rcx + 0x5c0], r13
mov rax, qword [rsp + 0x5c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5bc], edx
lea rcx, [rsp + 0x5d0]
call fcn.1400067c0
mov rax, qword [rsp + 0x5c0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x5c0], rax
mov rax, qword [rsp + 0x5c0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5bc], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x670], rax
lea rcx, [rsp + 0x670]
call fcn.14003f264
nop
test ebx, ebx
je 0x140020dcb
mov qword [rsp + 0x738], rdi
mov qword [rsp + 0x748], rdi
mov qword [rsp + 0x750], 7
mov word [rsp + 0x738], di
xor r8d, r8d
lea rdx, [0x140089f98]
lea rcx, [rsp + 0x738]
call fcn.140007cf0
nop
mov qword [rsp + 0x1a8], rdi
mov qword [rsp + 0x1b8], rdi
mov qword [rsp + 0x1c0], 7
mov r8d, 0x12
lea rdx, str.UpdaterDownloadUrl
lea rcx, [rsp + 0x1a8]
call fcn.140007cf0
lea rdx, [rsp + 0x738]
lea rcx, [rsp + 0x1a8]
call fcn.14001b250
test al, al
je 0x140020d0c
cmp qword [rsp + 0x748], 0
je 0x140020d0c
lea rdx, [rsp + 0x738]
lea rcx, [rsp + 0x858]
call fcn.140032040
mov rdx, rax
mov rcx, r14
call fcn.140006f10
mov rdx, qword [rsp + 0x870]
cmp rdx, 0x10
jb 0x140020cee
inc rdx
mov rcx, qword [rsp + 0x858]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020ce9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002204c
call fcn.140040d10
mov qword [rsp + 0x868], rdi
mov qword [rsp + 0x870], 0xf
mov byte [rsp + 0x858], 0
jmp 0x140020d33
call fcn.140003370
lea rdx, [rax + 0x100]
cmp r14, rdx
je 0x140020d33
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140020d2b
mov rdx, qword [rdx]
mov rcx, r14
call fcn.140007ec0
lea rdx, [rsp + 0x798]
cmp qword [rsp + 0x7b0], 0x10
cmovae rdx, qword [rsp + 0x798]
mov r8, qword [rsp + 0x7a8]
lea rcx, [rsp + 0x6d8]
call fcn.140007ec0
mov byte [rsp + 0x49], 1
mov rdx, qword [rsp + 0x750]
cmp rdx, 8
jb 0x140020daf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x738]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020daa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022052
call fcn.140040d10
mov qword [rsp + 0x748], rdi
mov qword [rsp + 0x750], 7
mov word [rsp + 0x738], di
movabs r12, 0x7fffffffffffffff
mov rax, r12
mov rcx, qword [rsp + 0x6e8]
sub rax, rcx
cmp rax, 0x14
jb 0x140022058
lea rax, [rsp + 0x6d8]
cmp qword [rsp + 0x6f0], 0x10
cmovae rax, qword [rsp + 0x6d8]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x14
lea r9, str.Download_file_path:
lea rcx, [rsp + 0x2f0]
call fcn.14000a730
bts esi, 7
lea rcx, [rsp + 0x2f0]
call fcn.140030470
cmp qword [r14 + 0x10], 0
jne 0x140021073
call fcn.1400305c0
mov rdx, rax
call fcn.14001f990
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x718]
mov rdx, r14
call fcn.140023240
test al, al
je 0x140021030
mov rcx, qword [r14 + 0x10]
mov rax, r12
sub rax, rcx
cmp rax, 0x26
jb 0x14002205d
mov rax, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140020e95
mov rax, qword [r14]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x26
lea r9, str.Updater.HandleUpdate_Update_Required__
lea rcx, [rsp + 0x7d8]
call fcn.14000a730
bts esi, 8
mov r8d, 1
lea rdx, [0x14008ac70]
lea rcx, [rsp + 0x7d8]
call fcn.140008020
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xc8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xd8], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts esi, 9
lea rcx, [rsp + 0xc8]
call fcn.140030470
nop
mov rdx, qword [rsp + 0x7f0]
cmp rdx, 0x10
jb 0x140020f6d
inc rdx
mov rcx, qword [rsp + 0x7d8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140020f68
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022062
call fcn.140040d10
mov qword [rsp + 0x7e8], rdi
mov qword [rsp + 0x7f0], 0xf
mov byte [rsp + 0x7d8], 0
lea rax, [rsp + 0x330]
mov qword [rsp + 0x40], rax
mov rcx, qword [r14 + 0x10]
mov rax, r12
sub rax, rcx
cmp rax, 0x11
jb 0x140022068
mov rax, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140020fb7
mov rax, qword [r14]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x11
lea r9, str.Update_Required:
lea rcx, [rsp + 0x330]
call fcn.14000a730
bts esi, 0xa
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xc0], 0xf
mov r8d, 0xc
lea rdx, str.HandleUpdate
lea rcx, [rsp + 0xa8]
call fcn.140007ec0
nop
lea rdx, [rsp + 0x330]
lea rcx, [rsp + 0xa8]
call fcn.140019ed0
jmp 0x140021073
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xc0], 0xf
mov r8d, 0x28
lea rdx, str.Updater.HandleUpdate_Update_not_Required
lea rcx, [rsp + 0xa8]
call fcn.140007ec0
lea rcx, [rsp + 0xa8]
call fcn.140030470
mov rcx, qword [r14 + 0x10]
mov rax, r12
sub rax, rcx
cmp rax, 0xc
jb 0x14002206d
mov rax, r14
cmp qword [r14 + 0x18], 0x10
jb 0x140021094
mov rax, qword [r14]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xc
lea r9, str.Update_URL:
lea rcx, [rsp + 0x2d0]
call fcn.14000a730
bts esi, 0xb
mov dword [rsp + 0x4c], esi
lea rcx, [rsp + 0x2d0]
call fcn.140030470
nop
mov rdx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x1400210de
mov rdx, qword [r15]
lea rcx, [rsp + 0x350]
call fcn.1400279e0
mov rax, qword [rsp + 0x350]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x350], r13
mov rax, qword [rsp + 0x350]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x34c], edx
mov rax, qword [rsp + 0x350]
movsxd rcx, dword [rax + 4]
mov ebx, dword [rsp + rcx + 0x360]
mov qword [rsp + rcx + 0x350], r13
mov rax, qword [rsp + 0x350]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x34c], edx
lea rcx, [rsp + 0x360]
call fcn.1400067c0
mov rax, qword [rsp + 0x350]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x350], rax
mov rax, qword [rsp + 0x350]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x34c], edx
lea rax, vtable.std::ios_base.0
mov qword [rsp + 0x400], rax
lea rcx, [rsp + 0x400]
call fcn.14003f264
nop
test ebx, ebx
jne 0x140021218
mov rcx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x1400211b8
mov rcx, qword [r15]
call fcn.1400545ac
mov rcx, qword [r15 + 0x10]
mov rax, r12
sub rax, rcx
cmp rax, 0x2b
jb 0x140022073
cmp qword [r15 + 0x18], 0x10
jb 0x1400211db
mov r15, qword [r15]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], 0x2b
lea r9, str.Updater.HandleUpdate_Deleting_old_updater:
lea rcx, [rsp + 0x310]
call fcn.14000a730
bts esi, 0xc
mov dword [rsp + 0x4c], esi
lea rcx, [rsp + 0x310]
call fcn.140030470
nop
mov r15, qword [rsp + 0x68]
jmp 0x140021241
cmp qword [rsp + 0x6e8], 0
jne 0x14002129c
mov qword [rsp + 0x6f8], rdi
mov qword [rsp + 0x708], rdi
mov qword [rsp + 0x710], 0xf
mov r8d, 0x33
lea rdx, str.Updater.DownloadUpdater_error_getting_download_path
lea rcx, [rsp + 0x6f8]
call fcn.140007ec0
lea rcx, [rsp + 0x6f8]
call fcn.140030470
mov dword [rsp + 0x50], 5
jmp 0x140021cd2
cmp qword [r14 + 0x10], 0
je 0x140021cc7
mov qword [rsp + 0x1c8], rdi
mov qword [rsp + 0x1d8], rdi
mov qword [rsp + 0x1e0], 0xf
mov r8d, 0x25
lea rdx, str.Updater.HandleUpdate_Checking_LastAct
lea rcx, [rsp + 0x1c8]
call fcn.140007ec0
lea rcx, [rsp + 0x1c8]
call fcn.140030470
mov r15d, edi
movabs r13, 0x7ffffff207b8a7fe
call fcn.14001fb50
mov rbx, rax
call fcn.1400305c0
sub rax, rbx
cmp rax, 0x47868c00
jge 0x1400213f5
mov eax, r15d
inc r15d
cmp eax, 0x3c
jl 0x140021501
mov qword [rsp + 0x1e8], rdi
mov qword [rsp + 0x1f8], rdi
mov qword [rsp + 0x200], 0xf
mov r8d, 0x2c
lea rdx, str.Updater.HandleUpdate_Break__LastAct_Timeout_
lea rcx, [rsp + 0x1e8]
call fcn.140007ec0
lea rcx, [rsp + 0x1e8]
call fcn.140030470
lea rax, [rsp + 0x208]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x208], rdi
mov qword [rsp + 0x218], rdi
mov qword [rsp + 0x220], 0xf
mov r8d, 0xf
lea rdx, str.LastAct_Timeout
lea rcx, [rsp + 0x208]
call fcn.140007ec0
nop
mov qword [rsp + 0x148], rdi
mov qword [rsp + 0x158], rdi
mov qword [rsp + 0x160], 0xf
mov r8d, 0x11
lea rdx, str.CheckLastActivity
lea rcx, [rsp + 0x148]
call fcn.140007ec0
nop
lea rdx, [rsp + 0x208]
lea rcx, [rsp + 0x148]
call fcn.140019ed0
cmp qword [rsp + 0x728], 0
je 0x1400217c7
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x120], 0xf
mov r8d, 0xd
lea rdx, str.Uninstall.exe
lea rcx, [rsp + 0x108]
call fcn.140007ec0
mov r8b, 1
lea rdx, [rsp + 0x108]
lea rcx, [rsp + 0x7b8]
call fcn.140031590
bts esi, 0xd
mov dword [rsp + 0x4c], esi
lea rdx, [rsp + 0x718]
mov r12, qword [rsp + 0x718]
cmp qword [rsp + 0x730], 0x10
cmovae rdx, r12
lea rcx, [rsp + 0x7b8]
mov r13, qword [rsp + 0x7d0]
cmp r13, 0x10
setae byte [rsp + 0x60]
mov rbx, qword [rsp + 0x7b8]
cmovae rcx, rbx
mov r8, qword [rsp + 0x7c8]
mov r15, qword [rsp + 0x728]
cmp r8, r15
jne 0x1400214bf
call fcn.140043a70
test eax, eax
mov byte [rsp + 0x48], 1
je 0x1400214c4
mov byte [rsp + 0x48], 0
cmp byte [rsp + 0x60], 0
je 0x140021599
lea rdx, [r13 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140021581
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022079
jmp 0x140021581
call fcn.14003ffe4
mov rbx, rax
call fcn.14003ffc8
cmp rbx, 0x989680
jne 0x14002151d
imul rax, rax, 0x64
jmp 0x14002153b
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, rcx, 0x3b9aca00
add rax, rcx
cmp rax, r13
jg 0x140021567
movabs rcx, 0xdf8475800
add rcx, rax
mov qword [rsp + 0x80], rcx
lea rcx, [rsp + 0x80]
call fcn.140029130
jmp 0x1400212f7
mov qword [rsp + 0x80], r12
lea rcx, [rsp + 0x80]
call fcn.140029130
jmp 0x1400212f7
mov rcx, rbx
call fcn.140040d10
mov r15, qword [rsp + 0x728]
mov r12, qword [rsp + 0x718]
mov qword [rsp + 0x7c8], rdi
mov qword [rsp + 0x7d0], 0xf
mov byte [rsp + 0x7b8], 0
cmp byte [rsp + 0x48], 0
je 0x1400217c7
movabs rax, 0x7fffffffffffffff
sub rax, r15
cmp rax, 0x19
jb 0x14002207f
lea rax, [rsp + 0x718]
cmp qword [rsp + 0x730], 0x10
cmovae rax, r12
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x19
lea r9, str.Uninstall.exe_version_is
lea rcx, [rsp + 0x6f8]
call fcn.14000a730
bts esi, 0xe
mov r8d, 0x19
lea rdx, str.._Using_the_existing_file
lea rcx, [rsp + 0x6f8]
call fcn.140008020
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x88], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x98], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts esi, 0xf
mov dword [rsp + 0x4c], esi
lea rcx, [rsp + 0x88]
call fcn.140030470
nop
mov rdx, qword [rsp + 0x710]
cmp rdx, 0x10
jb 0x1400216c8
inc rdx
mov rcx, qword [rsp + 0x6f8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400216c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140022084
call fcn.140040d10
mov qword [rsp + 0x708], rdi
mov qword [rsp + 0x710], 0xf
mov byte [rsp + 0x6f8], 0
lea rbx, [rsp + 0x6d8]
cmp qword [rsp + 0x6f0], 0x10
cmovae rbx, qword [rsp + 0x6d8]
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x138], rdi
mov qword [rsp + 0x140], 0xf
mov r8d, 0xd
lea rdx, str.Uninstall.exe
lea rcx, [rsp + 0x128]
call fcn.140007ec0
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0x838]
call fcn.140031200
cmp qword [rax + 0x18], 0x10
jb 0x140021753
mov rax, qword [rax]
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov ebx, eax
mov rdx, qword [rsp + 0x850]
cmp rdx, 0x10
jb 0x1400217a7
inc rdx
mov rcx, qword [rsp + 0x838]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400217a2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002208a
call fcn.140040d10
mov qword [rsp + 0x848], rdi
mov qword [rsp + 0x850], 0xf
mov byte [rsp + 0x838], 0
test ebx, ebx
jne 0x1400217f3
mov rdx, r14
lea rcx, [rsp + 0x480]
call fcn.140007020
lea r8, [rsp + 0x6d8]
mov rdx, rax
call fcn.1400220a0
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x140021cc2
lea rdx, [rsp + 0x6d8]
lea rcx, [rsp + 0x460]
call fcn.140007020
mov rdx, rax
call fcn.140022d20
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x140021cc2
movzx r15d, byte [rsp + 0x49]
test r15b, r15b
jne 0x140021867
lea rax, [rsp + 0x4a0]
mov qword [rsp + 0x40], rax
mov rdx, r14
lea rcx, [rsp + 0x4a0]
call fcn.1400321e0
mov rbx, rax
lea rdx, str.UpdaterDownloadUrl
lea rcx, [rsp + 0x4c0]
call fcn.140006d40
nop
mov rdx, rbx
mov rcx, rax
call fcn.14001b5e0
lea rdx, [0x140089f98]
lea rcx, [rsp + 0x878]
call fcn.140006d40
nop
lea rdx, str.LastUpdateDate
lea rcx, [rsp + 0x5a0]
call fcn.140006d40
lea rdx, [rsp + 0x878]
mov rcx, rax
call fcn.14001b250
nop
lea rax, str._update_repair
lea rdx, str._update
test r15b, r15b
cmovne rdx, rax
lea rcx, [rsp + 0x818]
call fcn.140006fe0
nop
lea r8, [rsp + 0x6d8]
lea rdx, str.Updater.HandleUpdate_About_to_run
lea rcx, [rsp + 0xa38]
call fcn.140008b00
nop
lea r8, [0x1400856a8]
mov rdx, rax
lea rcx, [rsp + 0x9f8]
call fcn.140008b70
nop
lea r8, [rsp + 0x818]
mov rdx, rax
lea rcx, [rsp + 0x4e0]
call fcn.140008bf0
mov rcx, rax
call fcn.140030470
nop
lea rcx, [rsp + 0x9f8]
call fcn.140006eb0
nop
lea rcx, [rsp + 0xa38]
call fcn.140006eb0
lea rax, [rsp + 0x520]
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x6d8]
lea rdx, str.Updater.HandleUpdate_About_to_run
lea rcx, [rsp + 0xa18]
call fcn.140008b00
nop
lea r8, [0x1400856a8]
mov rdx, rax
lea rcx, [rsp + 0x9d8]
call fcn.140008b70
nop
lea r8, [rsp + 0x818]
mov rdx, rax
lea rcx, [rsp + 0x520]
call fcn.140008bf0
mov rbx, rax
lea rdx, str.Updater::HandleUpdate
lea rcx, [rsp + 0x540]
call fcn.140006fe0
nop
mov rdx, rbx
mov rcx, rax
call fcn.140019ed0
nop
lea rcx, [rsp + 0x9d8]
call fcn.140006eb0
nop
lea rcx, [rsp + 0xa18]
call fcn.140006eb0
mov dword [rsp + 0x70], edi
lea rax, [rsp + 0x500]
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x818]
lea rcx, [rsp + 0x500]
call fcn.140007020
mov rbx, rax
lea rdx, [rsp + 0x6d8]
lea rcx, [rsp + 0x560]
call fcn.140007020
nop
lea r9, [rsp + 0x70]
mov rdx, rbx
mov rcx, rax
call fcn.140032370
test al, al
jne 0x140021b01
lea rax, [rsp + 0x228]
mov qword [rsp + 0x58], rax
mov edx, dword [rsp + 0x70]
lea rcx, [rsp + 0x8f8]
call fcn.14001e700
nop
mov r8, rax
lea rdx, str.Error_code
lea rcx, [rsp + 0x998]
call fcn.140008aa0
nop
lea r8, str._while_running_updater_file:
mov rdx, rax
lea rcx, [rsp + 0x9b8]
call fcn.140008b70
nop
lea r8, [rsp + 0x6d8]
mov rdx, rax
lea rcx, [rsp + 0x228]
call fcn.140008bf0
mov rbx, rax
lea rdx, str.HandleUpdate
lea rcx, [rsp + 0x290]
call fcn.140006fe0
nop
mov rdx, rbx
mov rcx, rax
call fcn.14001a180
nop
lea rcx, [rsp + 0x9b8]
call fcn.140006eb0
nop
lea rcx, [rsp + 0x998]
call fcn.140006eb0
nop
lea rcx, [rsp + 0x8f8]
call fcn.140006eb0
mov dword [rsp + 0x50], 8
lea rcx, [rsp + 0x818]
call fcn.140006eb0
nop
lea rcx, [rsp + 0x878]
call fcn.140006c30
jmp 0x140021cd2
lea rcx, [rsp + 0x818]
call fcn.140006eb0
nop
lea rdx, str.Updater.HandleUpdate_Checking_if_update_is_running
lea rcx, [rsp + 0x8f8]
call fcn.140006fe0
mov rcx, rax
call fcn.140030470
mov ebx, edi
mov r15, qword [rsp + 0x68]
nop dword [rax]
nop word [rax + rax]
mov rdx, r15
lea rcx, [rsp + 0x998]
call fcn.140006d80
mov rcx, rax
call fcn.1400335f0
cmp al, 1
jne 0x140021b87
mov eax, ebx
inc ebx
cmp eax, 0x12c
jl 0x140021c4c
lea rdx, str.Updater.HandleUpdate_updater_process_still_running
lea rcx, [rsp + 0x9b8]
call fcn.140006fe0
mov rcx, rax
call fcn.140030470
lea rdx, str.Updater.HandleUpdate_Checking_for_LastUpdateDate
lea rcx, [rsp + 0x290]
call fcn.140006fe0
mov rcx, rax
call fcn.140030470
mov ebx, edi
lea rdx, [0x140089f98]
lea rcx, [rsp + 0x8d8]
call fcn.140006d40
nop
lea rdx, str.LastUpdateDate
lea rcx, [rsp + 0x228]
call fcn.140006d40
lea rdx, [rsp + 0x8d8]
mov rcx, rax
call fcn.14001b250
nop
lea rdx, [rsp + 0x878]
lea rcx, [rsp + 0x8d8]
call fcn.1400157b0
test al, al
jne 0x140021c2f
mov eax, ebx
inc ebx
cmp eax, 0x708
jl 0x140021c64
mov dword [rsp + 0x50], 0xa
movsxd rdx, ebx
lea rax, str.Updater.HandleUpdate_LastUpdateDate_timeout_at_least
add rdx, rax
lea rcx, [rsp + 0x270]
call fcn.140006fe0
mov rcx, rax
call fcn.140030470
nop
lea rcx, [rsp + 0x8d8]
call fcn.140006c30
nop
lea rcx, [rsp + 0x878]
call fcn.140006c30
jmp 0x140021cc7
mov qword [rsp + 0x78], 0x3e8
lea rcx, [rsp + 0x78]
call fcn.1400283c0
jmp 0x140021b40
mov qword [rsp + 0x40], 0x3e8
lea rcx, [rsp + 0x40]
call fcn.1400283c0
lea rdx, str.LastUpdateDate
lea rcx, [rsp + 0x248]
call fcn.140006d40
lea rdx, [rsp + 0x8d8]
mov rcx, rax
call fcn.14001b250
jmp 0x140021be0
mov r15, qword [rsp + 0x68]
cmp dword [rsp + 0x50], 0
je 0x140021ee0
mov r13, qword [rsp + 0x68]
inc dword [r13 + 0x50]
mov edx, dword [r13 + 0x50]
lea rcx, [rsp + 0x898]
call fcn.140001f60
mov r15, rax
mov ebx, dword [rsp + 0x50]
mov edx, ebx
lea rcx, [rsp + 0x938]
call fcn.140001f60
nop
mov r8, rax
lea rdx, str.Updater.HandleUpdate_Exited_with_UpdateFailReason__
lea rcx, [rsp + 0xa78]
call fcn.140008aa0
nop
lea r8, str.__UpdateFailCount_
mov rdx, rax
lea rcx, [rsp + 0xa58]
call fcn.140008b70
nop
mov r8, r15
mov rdx, rax
lea rcx, [rsp + 0x580]
call fcn.140008bd0
mov rcx, rax
call fcn.140030470
nop
lea rcx, [rsp + 0xa58]
call fcn.140006eb0
nop
lea rcx, [rsp + 0xa78]
call fcn.140006eb0
nop
lea rcx, [rsp + 0x938]
call fcn.140006eb0
nop
lea rcx, [rsp + 0x898]
call fcn.140006eb0
lea rax, [rsp + 0x168]
mov qword [rsp + 0x58], rax
mov edx, dword [r13 + 0x50]
lea rcx, [rsp + 0x8b8]
call fcn.140001f60
mov r15, rax
mov edx, ebx
lea rcx, [rsp + 0x978]
call fcn.140001f60
nop
mov r8, rax
lea rdx, str.Exited_with_UpdateFailReason_
lea rcx, [rsp + 0x958]
call fcn.140008aa0
nop
lea r8, str._UpdateFailCount_
mov rdx, rax
lea rcx, [rsp + 0x918]
call fcn.140008b70
nop
mov r8, r15
mov rdx, rax
lea rcx, [rsp + 0x168]
call fcn.140008bd0
mov rbx, rax
lea rdx, str.HandleUpdate
lea rcx, [rsp + 0x2b0]
call fcn.140006fe0
nop
mov rdx, rbx
mov rcx, rax
call fcn.140019ed0
nop
lea rcx, [rsp + 0x918]
call fcn.140006eb0
nop
lea rcx, [rsp + 0x958]
call fcn.140006eb0
nop
lea rcx, [rsp + 0x978]
call fcn.140006eb0
nop
lea rcx, [rsp + 0x8b8]
call fcn.140006eb0
cmp dword [r13 + 0x50], 0xa
jle 0x140021ed0
mov dword [r13 + 0x50], edi
movabs rax, 0x861c46800
mov qword [r13 + 0x48], rax
lea rdx, str.Updater.HandleUpdate_Exited_with_UpdateFailReason_UpdateFailCount___10
lea rcx, [rsp + 0x8b8]
call fcn.140006fe0
mov rcx, rax
call fcn.140030470
lea rax, [rsp + 0x978]
mov qword [rsp + 0x58], rax
lea rdx, str.Exited_with_UpdateFailReason_UpdateFailCount___10
lea rcx, [rsp + 0x978]
call fcn.140006fe0
mov rbx, rax
lea rdx, str.HandleUpdate
lea rcx, [rsp + 0x958]
call fcn.140006fe0
nop
mov rdx, rbx
mov rcx, rax
call fcn.14001a180
jmp 0x140021f0b
movabs rax, 0x430e23400
mov qword [r13 + 0x48], rax
jmp 0x140021f0b
movabs rax, 0x861c46800
mov qword [r15 + 0x48], rax
lea rdx, str.Updater.HandleUpdate_Complete
lea rcx, [rsp + 0x8b8]
call fcn.140006fe0
mov rcx, rax
call fcn.140030470
nop
cmp qword [rsp + 0x6e8], 0
je 0x140021f40
lea rdx, [rsp + 0x6d8]
lea rcx, [rsp + 0x350]
call fcn.1400263a0
or esi, 8
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
cmp dword [rdx + rax + 0x10], 0
jne 0x140021f40
mov bl, 1
jmp 0x140021f42
xor bl, bl
test sil, 8
je 0x140021f55
lea rcx, [rsp + 0x350]
call fcn.140005b70
test bl, bl
je 0x140021f93
lea r8, [rsp + 0x6d8]
lea rdx, str.Updater.HandleUpdate_Deleting_updater_file
lea rcx, [rsp + 0x918]
call fcn.140008b00
mov rcx, rax
call fcn.140030470
lea rcx, [rsp + 0x6d8]
call fcn.140006e80
mov rcx, rax
call fcn.1400545ac
nop
jmp 0x140021f9d
lea rdx, str.Updater.HandleUpdate_Exit
lea rcx, [rsp + 0x2b0]
call fcn.140006fe0
mov rcx, rax
call fcn.140030470
nop
lea rcx, [rsp + 0x6d8]
call fcn.140006eb0
nop
lea rcx, [rsp + 0x798]
call fcn.140006eb0
nop
lea rcx, [rsp + 0x718]
call fcn.140006eb0
nop
jmp 0x140021fee
mov rcx, r14
call fcn.140006eb0
mov rcx, qword [rsp + 0xa98]
xor rcx, rsp
call fcn.140040cf0
lea r11, [rsp + 0xaa0]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.140001380
nop
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.1400012e0
call fcn.140053844
nop
call fcn.140053844
nop
call fcn.140053844
int3
call fcn.140001380
call fcn.140001380
call fcn.140053844
int3
call fcn.140001380
call fcn.140001380
nop
call fcn.140001380
nop
call fcn.140053844
int3
call fcn.140001380
call fcn.140053844
int3
call fcn.140053844
int3