Function at 0x140002c18
Capabilities:
Copy file
Create directory
Enumerate files on windows
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1498]
mov eax, 0x1570
call fcn.1400079a0
sub rsp, rax
mov rax, qword [0x140026100]
xor rax, rsp
mov qword [rbp + 0x1460], rax
xor r12d, r12d
mov edi, r12d
mov dword [rsp + 0x44], r12d
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
lea r8d, [r12 + 0x10]
lea rdx, str.Update_started..
lea rcx, [rbp - 0x10]
call fcn.1400012cc
nop
lea rcx, [rbp - 0x10]
call fcn.1400049dc
nop
mov r13d, 0x1000
mov rdx, qword [rbp + 8]
lea r15d, [r12 + 7]
cmp rdx, r15
jbe 0x140002cd5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, r13
jb 0x140002cd0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004231
call fcn.1400073a8
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], r12
mov qword [rbp + 0x168], r12
mov r8d, 0xd
lea rdx, str.tupdates_temp
lea rcx, [rbp + 0x150]
call fcn.1400012cc
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1a0], xmm1
mov ebx, 0x13
mov r8d, ebx
lea rdx, str.tupdates_temp_ready
lea rcx, [rbp + 0x190]
call fcn.1400012cc
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0x120], r12
mov qword [rbp + 0x128], r12
mov r8d, ebx
lea rdx, str.tupdates_temp_tdata
lea rcx, [rbp + 0x110]
call fcn.1400012cc
nop
lea rcx, [rbp + 0x190]
cmp qword [rbp + 0x1a8], r15
cmova rcx, qword [rbp + 0x190]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
lea r14d, [rbx - 0x10]
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea ebx, [r14 - 2]
mov r8d, ebx
mov esi, 0x80000000
mov edx, esi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x140002dbb
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x140002de1
lea rdx, str.tupdates_ready
lea rcx, [rbp + 0x150]
call fcn.140002528
lea rdx, str.tupdates_ready_tdata
lea rcx, [rbp + 0x110]
call fcn.140002528
lea r8, str._version
lea rdx, [rbp + 0x110]
lea rcx, [rbp + 0x70]
call fcn.1400011b8
cmp qword [rax + 0x18], r15
jbe 0x140002e01
mov rax, qword [rax]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov r8d, ebx
mov edx, esi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
lea rcx, [rbp + 0x70]
call fcn.140002064
cmp rsi, 0xffffffffffffffff
je 0x140002f25
mov qword [rsp + 0x20], r12
lea r14, [0x140026d30]
mov r9, r14
mov r13d, 4
mov r8d, r13d
lea rdx, [0x140026d28]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140002eda
cmp dword [0x140026d30], r13d
jne 0x140002eda
cmp dword [0x140026d28], 0x7fffffff
je 0x140002ee1
mov qword [rsp + 0x20], r12
mov r9, r14
mov r8d, r13d
lea rdx, [0x140026d2c]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140002eda
cmp dword [0x140026d30], r13d
jne 0x140002eda
mov r8d, dword [0x140026d2c]
cmp r8d, 0x3f
ja 0x140002eda
mov qword [rsp + 0x20], r12
mov r9, r14
lea rdx, [0x140026d40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140002eda
mov eax, dword [0x140026d2c]
cmp dword [0x140026d30], eax
je 0x140002ee1
mov dword [0x140026d28], r12d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov r8d, 0x12
lea rdx, str.Version_file_read.
lea rcx, [rbp - 0x10]
call fcn.1400012cc
nop
lea rcx, [rbp - 0x10]
call fcn.1400049dc
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
jmp 0x140002f90
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov r8d, 0x31
lea rdx, str.Could_not_open_version_file_to_update_registry_:_
lea rcx, [rbp - 0x10]
call fcn.1400012cc
nop
lea rcx, [rbp - 0x10]
call fcn.1400049dc
nop
mov rdx, qword [rbp + 8]
cmp rdx, r15
jbe 0x140002f90
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, r13
jb 0x140002f8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004237
call fcn.1400073a8
lea rcx, [rsp + 0x48]
call fcn.140001b28
nop
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x48]
call fcn.1400014ec
lea rcx, [rbp - 0x60]
call fcn.140001b28
nop
lea rcx, [rbp - 0x38]
call fcn.140001b28
nop
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], r12
mov ecx, 0x10
call fcn.14000736c
mov qword [rax + 8], r12
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x70]
mov qword [rax], rcx
movabs rsi, 0x7ffffffffffffffe
mov rcx, qword [rsp + 0x58]
dec rcx
and rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rax + rcx*8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], r12
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], r15
jbe 0x14000302c
mov rdx, qword [rdx]
lea rcx, [rbp + 0x30]
call fcn.1400013d4
nop
mov rcx, qword [rsp + 0x58]
dec rcx
and rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + rcx*8]
call fcn.140002064
sub qword [rsp + 0x68], rbx
jne 0x14000305f
mov qword [rsp + 0x60], r12
jmp 0x140003064
add qword [rsp + 0x60], rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r12
lea rdx, [0x140026048]
cmp qword [0x140026060], r15
cmova rdx, qword [0x140026048]
mov r8, qword [0x140026058]
lea rcx, [rbp + 0x10]
call fcn.1400013d4
nop
mov rcx, qword [rbp + 0x160]
inc rcx
mov rax, qword [rbp + 0x40]
cmp rax, rcx
jbe 0x1400031bd
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
mov qword [rbp + 8], r12
sub rax, rcx
or r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rax, [rbp + 0x30]
cmp qword [rbp + 0x48], r15
cmova rax, qword [rbp + 0x30]
lea rdx, [rax + rcx*2]
lea rcx, [rbp - 0x10]
call fcn.1400012cc
bts edi, 8
lea r8, [0x1400198e4]
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x70]
call fcn.1400010c8
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], r15
jbe 0x14000310e
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.1400024ac
nop
lea rcx, [rbp + 0x70]
call fcn.140002064
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x70]
call fcn.1400014ec
mov rax, rsi
mov rcx, qword [rbp + 0x20]
sub rax, rcx
cmp rax, 0xd
jb 0x140004243
lea rax, [rbp + 0x10]
cmp qword [rbp + 0x28], r15
cmova rax, qword [rbp + 0x10]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0xd
lea r9, str.Parsing_dir_
lea r8, [rbp + 0x10]
mov dl, byte [rsp + 0x40]
lea rcx, [rbp + 0x70]
call fcn.140001a10
bts edi, 7
lea r8, [0x1400198e8]
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x10]
call fcn.1400010c8
nop
mov rcx, rax
call fcn.1400049dc
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
nop
lea rcx, [rbp + 0x70]
call fcn.140002064
lea r8, [0x14001992c]
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x1f0]
call fcn.1400011b8
cmp qword [rax + 0x18], r15
jbe 0x1400031dd
mov rax, qword [rax]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp + 0x210]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov rsi, rax
mov qword [rbp - 0x68], rax
lea rcx, [rbp + 0x1f0]
call fcn.140002064
cmp rsi, 0xffffffffffffffff
je 0x1400040e7
lea r8, [0x1400198e4]
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x70]
call fcn.1400011b8
nop
lea r8, [rbp + 0x23c]
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.1400010c8
nop
lea rcx, [rbp + 0x70]
call fcn.140002064
mov r8, qword [rbp + 0x120]
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x180], r12
mov qword [rbp + 0x188], r12
cmp qword [rbp + 0x60], r8
cmovb r8, qword [rbp + 0x60]
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], r15
cmova rdx, qword [rbp + 0x50]
lea rcx, [rbp + 0x170]
call fcn.1400012cc
or edi, 0x10
or edi, ebx
lea rcx, [rbp + 0x110]
cmp qword [rbp + 0x128], r15
cmova rcx, qword [rbp + 0x110]
lea r10, [rbp + 0x170]
mov r12, qword [rbp + 0x188]
cmp r12, r15
seta r13b
mov r9, qword [rbp + 0x170]
cmova r10, r9
mov r14, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
mov r15, qword [rbp + 0x50]
mov r8, qword [rbp + 0x180]
mov r11, qword [rbp + 0x120]
cmp r8, r11
jne 0x14000331f
test r8, r8
je 0x140003301
sub r10, rcx
movzx eax, word [r10 + rcx]
cmp ax, word [rcx]
jne 0x14000331f
add rcx, 2
sub r8, rbx
jne 0x1400032ee
cmp rdx, r11
jbe 0x14000331a
lea rax, [rbp + 0x50]
cmp r14, 7
cmova rax, r15
cmp word [rax + r11*2], 0x2f
jne 0x14000331f
mov sil, bl
jmp 0x140003322
xor sil, sil
test bl, dil
je 0x140003374
and edi, 0xfffffffe
test r13b, r13b
mov r13d, 0x1000
je 0x14000337a
lea rdx, [r12*2 + 2]
mov rax, r9
cmp rdx, r13
jb 0x14000335e
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004249
mov rcx, r9
call fcn.1400073a8
mov r14, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
mov r15, qword [rbp + 0x50]
jmp 0x14000337a
mov r13d, 0x1000
xor r12d, r12d
test sil, sil
je 0x1400033d7
lea r8, [rbp + 0x50]
lea rdx, str.Skipped_tdata_path_
lea rcx, [rbp + 0xb0]
call fcn.140001224
nop
lea r8, [0x14001964c]
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.1400010c8
nop
mov rcx, rax
call fcn.1400049dc
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
nop
lea rcx, [rbp + 0xb0]
call fcn.140002064
lea r15d, [r12 + 7]
jmp 0x140003a03
xorps xmm0, xmm0
test byte [rbp + 0x210], 0x10
je 0x140003634
movups xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x140], r12
mov qword [rbp + 0x148], r12
mov r8, rbx
lea rdx, [0x1400199f8]
lea rcx, [rbp + 0x130]
call fcn.1400012cc
nop
mov r14d, 2
or edi, r14d
mov dword [rsp + 0x44], edi
lea rcx, [rbp + 0x23c]
or rsi, 0xffffffffffffffff
mov rax, rsi
inc rax
cmp word [rcx + rax*2], r12w
jne 0x14000342e
lea rdx, [rbp + 0x130]
mov r15d, 7
cmp qword [rbp + 0x148], r15
cmova rdx, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x140]
cmp rcx, rax
jne 0x140003495
lea r8, [rbp + 0x23c]
test rcx, rcx
je 0x140003489
lea rax, [rbp + 0x23c]
sub rdx, rax
movzx eax, word [rdx + r8]
cmp ax, word [r8]
jne 0x140003495
add r8, r14
sub rcx, rbx
jne 0x140003476
mov rdx, qword [rbp + 0xa8]
jmp 0x140003528
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], r12
mov r8, r14
lea rdx, [0x1400199fc]
lea rcx, [rbp + 0x90]
call fcn.1400012cc
or edi, 4
lea rcx, [rbp + 0x23c]
mov rax, rsi
inc rax
cmp word [rcx + rax*2], r12w
jne 0x1400034d0
lea r8, [rbp + 0x90]
mov rdx, qword [rbp + 0xa8]
cmp rdx, r15
cmova r8, qword [rbp + 0x90]
mov rcx, qword [rbp + 0xa0]
cmp rcx, rax
jne 0x14000352d
lea r9, [rbp + 0x23c]
test rcx, rcx
je 0x140003528
lea rax, [rbp + 0x23c]
sub r8, rax
movzx eax, word [r9 + r8]
cmp ax, word [r9]
jne 0x14000352d
add r9, r14
sub rcx, rbx
jne 0x140003515
mov sil, r12b
jmp 0x140003530
mov sil, bl
test dil, 4
je 0x140003589
and edi, 0xfffffffb
cmp rdx, r15
jbe 0x140003573
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, r13
jb 0x14000356e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000424f
call fcn.1400073a8
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], r15
mov word [rbp + 0x90], r12w
test r14b, dil
je 0x1400035d2
and edi, 0xfffffffd
mov rdx, qword [rbp + 0x148]
cmp rdx, r15
jbe 0x1400035d2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x130]
mov rax, rcx
cmp rdx, r13
jb 0x1400035cd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004255
call fcn.1400073a8
test sil, sil
je 0x140003a03
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.1400014ec
lea r8, [rbp + 0x50]
lea rdx, str.Added_dir_
lea rcx, [rbp + 0xb0]
call fcn.140001224
nop
lea r8, [0x1400198e8]
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.1400010c8
nop
mov rcx, rax
call fcn.1400049dc
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
nop
lea rcx, [rbp + 0xb0]
jmp 0x1400039fd
mov rcx, qword [rbp + 0x160]
inc rcx
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], r12
cmp rdx, rcx
jb 0x14000422b
sub rdx, rcx
or r8, 0xffffffffffffffff
cmp rdx, r8
cmovb r8, rdx
lea rax, [rbp + 0x50]
cmp r14, 7
cmova rax, r15
lea rdx, [rax + rcx*2]
lea rcx, [rbp + 0xb0]
call fcn.1400012cc
or edi, 0x20
lea r8, [rbp + 0xb0]
lea rdx, [0x140026048]
lea rcx, [rbp - 0x10]
call fcn.140001140
nop
mov rdx, qword [rbp + 0xc8]
mov r15d, 7
cmp rdx, r15
jbe 0x1400036e8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xb0]
mov rax, rcx
cmp rdx, r13
jb 0x1400036e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000425b
call fcn.1400073a8
mov qword [rbp + 0xc0], r12
mov qword [rbp + 0xc8], r15
mov word [rbp + 0xb0], r12w
lea rdx, [0x140026008]
lea rcx, [rbp - 0x10]
call fcn.140002794
test al, al
jne 0x140004033
lea rsi, str.materialgram.exe
mov r8, rsi
lea rdx, [0x140026048]
lea rcx, [rbp + 0x70]
call fcn.1400011b8
or edi, 8
mov rdx, rax
lea rcx, [rbp - 0x10]
call fcn.140002794
mov r11, qword [0x140026080]
mov r10, qword [0x140026078]
mov r14, qword [0x140026068]
test al, al
je 0x140003794
lea rcx, [0x140026068]
cmp r11, r15
cmova rcx, r14
cmp r10, 0x10
jne 0x140003940
mov r8, r10
mov rdx, rsi
test r10, r10
je 0x140003794
sub rcx, rsi
movzx eax, word [rcx + rdx]
cmp ax, word [rdx]
jne 0x140003940
add rdx, 2
sub r8, rbx
jne 0x14000377e
mov sil, r12b
test dil, 8
je 0x1400037be
and edi, 0xfffffff7
lea rcx, [rbp + 0x70]
call fcn.140002064
mov r11, qword [0x140026080]
mov r10, qword [0x140026078]
mov r14, qword [0x140026068]
test sil, sil
je 0x1400038db
mov rcx, qword [0x140026058]
movabs rax, 0x7ffffffffffffffe
sub rax, rcx
cmp rax, r10
jb 0x140004261
lea r9, [0x140026048]
cmp qword [0x140026060], r15
cmova r9, qword [0x140026048]
lea rax, [0x140026068]
cmp r11, r15
cmova rax, r14
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r8, [0x140026048]
mov dl, byte [rsp + 0x40]
lea rcx, [rbp + 0x70]
call fcn.140001a10
or edi, 0x40
lea r8, [rbp - 0x10]
lea rdx, str.Target_binary_found:_
lea rcx, [rbp + 0xf0]
call fcn.140001224
nop
lea r8, str.__changing_to_
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.1400010c8
nop
lea r8, [rbp + 0x70]
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.140001050
nop
lea r8, [0x14001964c]
mov rdx, rax
lea rcx, [rbp + 0x1b0]
call fcn.1400010c8
nop
mov rcx, rax
call fcn.1400049dc
nop
lea rcx, [rbp + 0x1b0]
call fcn.140002064
nop
lea rcx, [rbp + 0x1d0]
call fcn.140002064
nop
lea rcx, [rbp + 0xd0]
call fcn.140002064
nop
lea rcx, [rbp + 0xf0]
call fcn.140002064
lea rdx, [rbp + 0x70]
lea rcx, [rbp - 0x10]
call fcn.140001c74
nop
lea rcx, [rbp + 0x70]
call fcn.140002064
lea rdx, [rbp + 0x190]
lea rcx, [rbp + 0x50]
call fcn.140002794
test al, al
je 0x140003948
lea r8, [rbp + 0x50]
lea rdx, str.Skipped_ready_file_
lea rcx, [rbp + 0xd0]
call fcn.140001224
nop
lea r8, [0x14001964c]
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.1400010c8
nop
mov rcx, rax
call fcn.1400049dc
nop
lea rcx, [rbp + 0xf0]
call fcn.140002064
nop
lea rcx, [rbp + 0xd0]
jmp 0x1400039f3
mov sil, bl
jmp 0x140003797
lea rdx, [rbp + 0x50]
lea rcx, [rbp - 0x60]
call fcn.1400014ec
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x38]
call fcn.1400014ec
lea r8, [rbp + 0x50]
lea rdx, str.Added_file_
lea rcx, [rbp + 0x1b0]
call fcn.140001224
nop
lea r8, str._to_be_copied_to_
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.1400010c8
nop
lea r8, [rbp - 0x10]
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.140001050
nop
lea r8, [0x14001964c]
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.1400010c8
nop
mov rcx, rax
call fcn.1400049dc
nop
lea rcx, [rbp + 0xf0]
call fcn.140002064
nop
lea rcx, [rbp + 0xd0]
call fcn.140002064
nop
lea rcx, [rbp + 0x1d0]
call fcn.140002064
nop
lea rcx, [rbp + 0x1b0]
call fcn.140002064
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
nop
lea rcx, [rbp + 0x50]
call fcn.140002064
lea rdx, [rbp + 0x210]
mov r14, qword [rbp - 0x68]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x140003219
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test eax, eax
je 0x140003a3d
cmp eax, 0x12
jne 0x140003e99
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FindClose]
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, r15
jbe 0x140003a82
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, r13
jb 0x140003a7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004267
call fcn.1400073a8
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r15
mov word [rbp + 0x10], r12w
mov rdx, qword [rbp + 0x48]
cmp rdx, r15
jbe 0x140003aca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, r13
jb 0x140003ac5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000426d
call fcn.1400073a8
cmp qword [rsp + 0x68], r12
jne 0x140002ff0
mov rdi, r12
lea r14, [0x1400196c8]
cmp qword [rbp - 0x70], r12
jbe 0x140003c2e
mov rcx, qword [rbp - 0x78]
add rcx, rdi
mov rdx, qword [rbp - 0x80]
dec rdx
and rdx, rcx
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + rdx*8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r12
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], r15
jbe 0x140003b1f
mov rdx, qword [rdx]
lea rcx, [rbp + 0x10]
call fcn.1400013d4
nop
lea r8, [rbp + 0x10]
lea rdx, str.Forcing_dir_
lea rcx, [rbp + 0xd0]
call fcn.140001224
nop
mov r8, r14
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.1400010c8
nop
mov rcx, rax
call fcn.1400049dc
nop
lea rcx, [rbp + 0xf0]
call fcn.140002064
nop
lea rcx, [rbp + 0xd0]
call fcn.140002064
cmp qword [rbp + 0x20], r12
je 0x140003be6
lea rcx, [rbp + 0x10]
cmp qword [rbp + 0x28], r15
cmova rcx, qword [rbp + 0x10]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140003be6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test eax, eax
je 0x140003bac
cmp eax, 0xb7
jne 0x140003ee0
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
mov qword [rbp + 8], r12
mov r8d, 0xf
lea rdx, str.Already_exists_
lea rcx, [rbp - 0x10]
call fcn.1400012cc
nop
lea rcx, [rbp - 0x10]
call fcn.1400049dc
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, r15
jbe 0x140003c21
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, r13
jb 0x140003c1c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004273
call fcn.1400073a8
add rdi, rbx
cmp rdi, qword [rbp - 0x70]
jb 0x140003ae9
mov rdi, r12
cmp qword [rbp - 0x40], r12
jbe 0x140003ff0
mov rcx, qword [rbp - 0x48]
add rcx, rdi
mov rdx, qword [rbp - 0x50]
dec rdx
and rdx, rcx
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax + rdx*8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], r12
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], r15
jbe 0x140003c70
mov rdx, qword [rdx]
lea rcx, [rbp + 0x30]
call fcn.1400013d4
nop
mov rcx, qword [rbp - 0x20]
add rcx, rdi
mov rdx, qword [rbp - 0x28]
dec rdx
and rdx, rcx
mov rax, qword [rbp - 0x30]
mov rdx, qword [rax + rdx*8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r12
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], r15
jbe 0x140003caf
mov rdx, qword [rdx]
lea rcx, [rbp + 0x10]
call fcn.1400013d4
nop
lea r8, [rbp + 0x30]
lea rdx, str.Copying_file_
lea rcx, [rbp + 0x1b0]
call fcn.140001224
nop
lea r8, str._to_
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.1400010c8
nop
lea r8, [rbp + 0x10]
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.140001050
nop
mov r8, r14
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.1400010c8
nop
mov rcx, rax
call fcn.1400049dc
nop
lea rcx, [rbp + 0xf0]
call fcn.140002064
nop
lea rcx, [rbp + 0xd0]
call fcn.140002064
nop
lea rcx, [rbp + 0x1d0]
call fcn.140002064
nop
lea rcx, [rbp + 0x1b0]
call fcn.140002064
mov esi, r12d
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], r15
cmova rdx, qword [rbp + 0x10]
lea rcx, [rbp + 0x30]
cmp qword [rbp + 0x48], r15
cmova rcx, qword [rbp + 0x30]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x140003f60
add esi, ebx
lea ecx, [rax + 0x64]
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x64
jl 0x140003d4e
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
mov qword [rbp + 8], r12
mov r8d, 0x28
lea rdx, str.Error:_failed_to_copy__asking_to_retry..
lea rcx, [rbp - 0x10]
call fcn.1400012cc
nop
lea rcx, [rbp - 0x10]
call fcn.1400049dc
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
lea r8, [rbp + 0x10]
cmp qword [rbp + 0x28], r15
cmova r8, qword [rbp + 0x10]
lea rdx, str.Failed_to_update_Telegram_:__n_s_is_not_accessible.
lea rcx, [rbp + 0x460]
call qword [sym.imp.USER32.dll_wsprintfW]
mov r9d, 0x15
lea r8, str.Update_error_
lea rdx, [rbp + 0x460]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 4
je 0x140003cb9
call fcn.1400025cc
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, r15
jbe 0x140003e49
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, r13
jb 0x140003e44
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000423d
call fcn.1400073a8
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r15
mov word [rbp + 0x10], r12w
mov rdx, qword [rbp + 0x48]
cmp rdx, r15
jbe 0x140003e91
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, r13
jb 0x140003e8c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004279
call fcn.1400073a8
mov bl, r12b
jmp 0x140004164
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov r8d, 0x29
lea rdx, str.Error:_failed_to_find_next_update_file_:_
lea rcx, [rbp - 0x10]
call fcn.1400012cc
nop
lea rcx, [rbp - 0x10]
call fcn.1400049dc
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
mov edx, esi
lea rcx, str.Failed_to_find_next_update_file
jmp 0x140004143
lea r8, [rbp + 0x10]
lea rdx, str.Error:_failed_to_create_dir_
lea rcx, [rbp + 0xd0]
call fcn.140001224
nop
mov r8, r14
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.1400010c8
nop
mov rcx, rax
call fcn.1400049dc
nop
lea rcx, [rbp + 0xf0]
call fcn.140002064
nop
lea rcx, [rbp + 0xd0]
call fcn.140002064
mov edx, esi
lea rcx, str.Failed_to_create_directory
call fcn.14000428c
call fcn.1400025cc
nop
mov r8, qword [rbp + 0x28]
cmp r8, r15
jbe 0x140003e91
mov rdx, qword [rbp + 0x10]
lea rcx, [rbp + 0x10]
call fcn.140001db4
jmp 0x140003e91
mov rdx, qword [rbp + 0x28]
cmp rdx, r15
jbe 0x140003f9b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, r13
jb 0x140003f96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000427f
call fcn.1400073a8
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r15
mov word [rbp + 0x10], r12w
mov rdx, qword [rbp + 0x48]
cmp rdx, r15
jbe 0x140003fe3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, r13
jb 0x140003fde
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004285
call fcn.1400073a8
add rdi, rbx
cmp rdi, qword [rbp - 0x40]
jb 0x140003c3b
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov r8d, 0x21
lea rdx, str.Update_succeed__Clearing_folder..
lea rcx, [rbp - 0x10]
call fcn.1400012cc
nop
lea rcx, [rbp - 0x10]
call fcn.1400049dc
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
call fcn.1400025cc
jmp 0x140004164
lea r8, [rbp - 0x10]
lea rdx, str.Error:_bad_update__has_Updater.exe__
lea rcx, [rbp + 0x1b0]
call fcn.140001224
nop
lea r8, str._equal_
mov rdx, rax
lea rcx, [rbp + 0x1d0]
call fcn.1400010c8
nop
lea r8, [0x140026008]
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.140001050
nop
lea r8, [0x14001964c]
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.1400010c8
nop
mov rcx, rax
call fcn.1400049dc
nop
lea rcx, [rbp + 0xf0]
call fcn.140002064
nop
lea rcx, [rbp + 0xd0]
call fcn.140002064
nop
lea rcx, [rbp + 0x1d0]
call fcn.140002064
nop
lea rcx, [rbp + 0x1b0]
call fcn.140002064
call fcn.1400025cc
nop
lea rcx, [rbp - 0x10]
call fcn.140002064
nop
lea rcx, [rbp + 0x50]
call fcn.140002064
jmp 0x14000414d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp eax, 3
je 0x140004150
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov r8d, 0x25
lea rdx, str.Error:_failed_to_find_update_files_:_
lea rcx, [rbp - 0x10]
call fcn.1400012cc
nop
lea rcx, [rbp - 0x10]
call fcn.1400049dc
nop
mov r8, qword [rbp + 8]
cmp r8, r15
jbe 0x14000413a
mov rdx, qword [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.140001db4
mov edx, edi
lea rcx, str.Failed_to_find_update_files
call fcn.14000428c
call fcn.1400025cc
mov bl, r12b
lea rcx, [rbp + 0x10]
call fcn.140002064
nop
lea rcx, [rbp + 0x30]
call fcn.140002064
nop
lea rcx, [rsp + 0x70]
call fcn.140001f90
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x70], r12
mov edi, 0x10
mov edx, edi
call fcn.1400073a8
nop
lea rcx, [rbp - 0x38]
call fcn.140001f90
mov rcx, qword [rbp - 0x38]
mov qword [rbp - 0x38], r12
mov edx, edi
call fcn.1400073a8
nop
lea rcx, [rbp - 0x60]
call fcn.140001f90
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x60], r12
mov edx, edi
call fcn.1400073a8
nop
lea rcx, [rsp + 0x48]
call fcn.140001f90
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], r12
mov edx, edi
call fcn.1400073a8
nop
lea rcx, [rbp + 0x110]
call fcn.140002064
nop
lea rcx, [rbp + 0x190]
call fcn.140002064
nop
lea rcx, [rbp + 0x150]
call fcn.140002064
mov al, bl
mov rcx, qword [rbp + 0x1460]
xor rcx, rsp
call fcn.140007a00
lea r11, [rsp + 0x1570]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400020f0
nop
call fcn.14000e1ec
nop
call fcn.14000e1ec
nop
call fcn.14000e1ec
nop
call fcn.1400020dc
nop
call fcn.14000e1ec
nop
call fcn.14000e1ec
nop
call fcn.14000e1ec
nop
call fcn.14000e1ec
int3
call fcn.1400020dc
nop
call fcn.14000e1ec
nop
call fcn.14000e1ec
int3
call fcn.14000e1ec
int3
call fcn.14000e1ec
nop
call fcn.14000e1ec
nop
call fcn.14000e1ec
int3