Function at 0x14000de40
Capabilities:
Check if file exists
Create thread
Delete directory
Delete file
Set current directory

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3b0]
sub rsp, 0x4b0
mov rax, qword [0x140317e98]
xor rax, rsp
mov qword [rbp + 0x3a0], rax
mov rdi, r8
mov qword [rbp - 0x18], rcx
xor ebx, ebx
mov dword [rbp - 0x58], ebx
mov dword [rsp + 0x54], ebx
lea rdx, [rsp + 0x54]
mov rcx, r8
call qword [0x140240840]
mov r13, rax
mov qword [rsp + 0x68], rax
xor ecx, ecx
call fcn.14002f170
mov qword [rbp + 0x128], rbx
mov qword [rbp + 0x138], rbx
mov qword [rbp + 0x140], 7
mov rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp word [rdi + r8*2], bx
jne 0x14000dec0
mov rdx, rdi
lea rcx, [rbp + 0x128]
call fcn.14000a220
lea r11, [rbp + 0x128]
mov r12, qword [rbp + 0x128]
mov r15, qword [rbp + 0x140]
cmp r15, 8
cmovae r11, r12
mov r14, qword [rbp + 0x138]
cmp r14, 0x11
jb 0x14000e007
lea rbx, [r14 - 0x10]
lea rbx, [r11 + rbx*2]
mov rax, r11
lea r8, str.clean_update_data
mov qword [rbp - 0x70], r8
nop dword [rax]
mov rcx, rbx
sub rcx, rax
sar rcx, 1
mov edx, 0
je 0x14000df4c
cmp word [rax], 0x63
je 0x14000df49
cmp rcx, 1
je 0x14000df4c
dec rcx
add rax, 2
cmp word [rax], 0x63
jne 0x14000df36
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x14000e007
mov r9d, 0x11
mov rcx, r8
movzx edx, word [rdx]
mov r8d, 0x63
cmp dx, r8w
jb 0x14000df99
mov r10, rax
sub r10, qword [rbp - 0x70]
cmp dx, r8w
ja 0x14000df99
cmp r9, 1
je 0x14000dfa9
dec r9
add rcx, 2
movzx edx, word [rcx + r10]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x14000df7b
add rax, 2
lea r8, str.clean_update_data
jmp 0x14000df20
sub rax, r11
sar rax, 1
cmp rax, rsi
je 0x14000e007
mov rax, qword [0x140320198]
test rax, rax
jne 0x14000dfde
mov ecx, 0x90
call fcn.1400d7034
test rax, rax
je 0x14000dfd7
mov rcx, rax
call fcn.140014090
mov qword [0x140320198], rax
mov rcx, rax
call fcn.1400168b0
lea r8, [0x140241920]
lea rdx, str.clean_update_data
lea rcx, str._______quit_____
call fcn.14002c680
xor edi, edi
jmp 0x14001035e
call fcn.140004b20
mov rcx, rax
test rax, rax
je 0x1400103b4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rdx, [0x140241e48]
cmp rdx, 0x10000
jae 0x14000e044
movzx edx, dx
lea rcx, [rbp - 0x80]
call fcn.1400054f0
jmp 0x14000e066
mov rax, rsi
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000e050
mov r8d, eax
lea rcx, [rbp - 0x80]
call fcn.14000ac20
lea rcx, [rbp - 0x80]
call fcn.140010550
lea r11, [rbp + 0x128]
cmp r15, 8
cmovae r11, r12
mov r10d, 0x2d
cmp r14, 0x18
jb 0x14000e993
lea rbx, [r14 - 0x17]
lea rbx, [r11 + rbx*2]
mov rax, r11
lea r8, str._check_dingding_packages
mov qword [rbp - 0x70], r8
nop dword [rax]
nop dword [rax + rax]
mov rcx, rbx
sub rcx, rax
sar rcx, 1
mov edx, 0
je 0x14000e0dc
cmp word [rax], 0x2d
je 0x14000e0d9
cmp rcx, 1
je 0x14000e0dc
dec rcx
add rax, 2
cmp word [rax], 0x2d
jne 0x14000e0c6
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x14000e993
mov r9d, 0x18
mov rcx, r8
movzx edx, word [rdx]
mov r8d, r10d
cmp dx, 0x2d
jb 0x14000e12c
mov r10, rax
sub r10, qword [rbp - 0x70]
cmp dx, r8w
ja 0x14000e126
cmp r9, 1
je 0x14000e13c
dec r9
add rcx, 2
movzx edx, word [rcx + r10]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x14000e108
mov r10d, 0x2d
add rax, 2
lea r8, str._check_dingding_packages
jmp 0x14000e0b0
sub rax, r11
sar rax, 1
jne 0x14000e98d
lea rcx, [rbp + 0xd8]
call fcn.140027d10
mov r8, rdi
mov rdx, qword [rax]
lea rcx, [0x140241e90]
call fcn.14002c680
mov rdx, qword [rbp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000e186
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
cmp dword [rsp + 0x54], 2
jge 0x14000e1b4
lea rcx, str.Quit_with_args_2
lea rdx, str.check_dingding_packages
lea r14, [0x140241920]
mov r8, r14
call fcn.14002c680
mov edi, 2
jmp 0x140010335
mov rdi, qword [r13 + 0x10]
lea rcx, [rbp + 0x100]
call fcn.140029dd0
nop
test rdi, rdi
je 0x1400103bf
mov rax, qword [rax]
sub rdi, rax
movzx ebx, word [rax]
movzx ecx, word [rax + rdi]
sub ebx, ecx
jne 0x14000e1e7
add rax, 2
test ecx, ecx
jne 0x14000e1d4
mov rdx, qword [rbp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000e207
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test ebx, ebx
jne 0x14000e230
lea rcx, str.Quit_with_same_as_GetUsingDir
lea rdx, str.No_need_Check_again
lea r14, str.finish
mov r8, r14
call fcn.14002c680
lea edi, [rbx + 2]
jmp 0x140010335
lea rcx, [rbp - 0x48]
call fcn.140027d10
lea rdx, str.main_
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000e243
mov r8d, eax
lea rcx, [rbp - 0x48]
call fcn.14000c240
mov rdx, qword [r13 + 0x10]
test rdx, rdx
jne 0x14000e26a
xor r15d, r15d
mov eax, r15d
jmp 0x14000e27d
mov rax, rsi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000e270
xor r15d, r15d
mov r8d, eax
lea rcx, [rbp - 0x48]
call fcn.14000c240
lea r14, [0x140241920]
mov r8, r14
lea rdx, str.CheckFilesIsOk
lea rcx, str.Start_CheckFiles
call fcn.14002c680
xor edx, edx
lea rcx, [rbp - 0x48]
call fcn.140015dc0
test al, al
je 0x14000e605
mov rbx, qword [r13 + 0x10]
call fcn.140004b20
mov rcx, rax
test rax, rax
je 0x1400103ca
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x50], rax
test rbx, rbx
je 0x14000e30c
cmp rbx, 0x10000
jae 0x14000e2f8
movzx edx, bx
lea rcx, [rbp - 0x50]
call fcn.1400054f0
jmp 0x14000e31e
mov rax, rsi
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14000e300
jmp 0x14000e30f
mov eax, r15d
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.14000ac20
lea rcx, [rbp - 0x50]
call fcn.14002b000
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000e344
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r8, [0x140241ff0]
lea rdx, str.CheckFilesIsOk
lea rcx, [0x140241e90]
call fcn.14002c680
lea rbx, [rbp + 0x128]
cmp qword [rbp + 0x140], 8
cmovae rbx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x138]
cmp rax, 0xb
jb 0x14000e5f9
add rax, 0xfffffffffffffff6
lea rdi, [rbx + rax*2]
mov rax, rbx
lea r11, str._isrollback
mov r12d, 0x2d
nop
mov rcx, rdi
sub rcx, rax
sar rcx, 1
mov rdx, r15
je 0x14000e3ca
cmp word [rax], r12w
je 0x14000e3c7
cmp rcx, 1
je 0x14000e3ca
dec rcx
add rax, 2
cmp word [rax], r12w
jne 0x14000e3b4
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x14000e5f9
mov r8d, 0xb
mov rcx, r11
movzx edx, word [rdx]
mov r9d, r12d
cmp dx, r9w
jb 0x14000e413
mov r10, rax
sub r10, r11
cmp dx, r9w
ja 0x14000e413
cmp r8, 1
je 0x14000e419
dec r8
add rcx, 2
movzx edx, word [rcx + r10]
movzx r9d, word [rcx]
cmp dx, r9w
jae 0x14000e3f5
add rax, 2
jmp 0x14000e3a0
sub rax, rbx
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x14000e5f9
mov r8, r14
lea rdx, str.CheckFilesIsOk
lea rcx, str.WriteCheckRes_true
call fcn.14002c680
mov qword [rbp + 0x1a8], r15
mov qword [rbp + 0x1b8], r15
mov qword [rbp + 0x1c0], 7
mov r8d, 0xd
lea rdx, str.rollfail_flag
lea rcx, [rbp + 0x1a8]
call fcn.14000a220
xor r8d, r8d
lea rdx, [rbp + 0x1a8]
lea rcx, [0x140317030]
call fcn.1400099f0
mov rdx, qword [rbp + 0x1c0]
cmp rdx, 8
jb 0x14000e4cd
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e4c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400103d5
call fcn.1400d7558
mov qword [rbp + 0x1c8], r15
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x1e0], 7
mov r8d, 1
lea rdx, [0x140242054]
lea rcx, [rbp + 0x1c8]
call fcn.14000a220
mov qword [rbp + 0x148], r15
mov qword [rbp + 0x158], r15
mov qword [rbp + 0x160], 7
mov r8d, 0xd
lea rdx, [0x140242058]
lea rcx, [rbp + 0x148]
call fcn.14000a220
lea r8, [rbp + 0x1c8]
lea rdx, [rbp + 0x148]
lea rcx, [0x140317030]
call fcn.140009cd0
mov rdx, qword [rbp + 0x160]
cmp rdx, 8
jb 0x14000e591
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x148]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e58c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400103ae
call fcn.1400d7558
mov qword [rbp + 0x158], r15
mov qword [rbp + 0x160], 7
mov word [rbp + 0x148], r15w
mov rdx, qword [rbp + 0x1e0]
cmp rdx, 8
jb 0x14000e952
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e935
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400103ae
jmp 0x14000e935
lea rcx, str.No_WriteCheckRes_true
jmp 0x14000e943
lea r8, str.failed
lea rdx, str.CheckFilesIsOk
lea rcx, [0x140241e90]
call fcn.14002c680
lea rbx, [rbp + 0x128]
cmp qword [rbp + 0x140], 8
cmovae rbx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x138]
cmp rax, 0xb
jb 0x14000e93c
add rax, 0xfffffffffffffff6
lea rdi, [rbx + rax*2]
mov rax, rbx
lea r11, str._isrollback
mov r12d, 0x2d
nop
mov rcx, rdi
sub rcx, rax
sar rcx, 1
mov rdx, r15
je 0x14000e68a
cmp word [rax], r12w
je 0x14000e687
cmp rcx, 1
je 0x14000e68a
dec rcx
add rax, 2
cmp word [rax], r12w
jne 0x14000e674
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x14000e93c
mov r8d, 0xb
mov rcx, r11
movzx edx, word [rdx]
mov r9d, r12d
cmp dx, r9w
jb 0x14000e6d3
mov r10, rax
sub r10, r11
cmp dx, r9w
ja 0x14000e6d3
cmp r8, 1
je 0x14000e6d9
dec r8
add rcx, 2
movzx edx, word [rcx + r10]
movzx r9d, word [rcx]
cmp dx, r9w
jae 0x14000e6b5
add rax, 2
jmp 0x14000e660
sub rax, rbx
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x14000e93c
mov r8, r14
lea rdx, str.CheckFilesIsOk
lea rcx, str.WriteCheckRes_false
call fcn.14002c680
xor ecx, ecx
call fcn.1400eaba8
mov r8, rax
lea r9, [rbp + 0x39a]
movabs r10, 0xcccccccccccccccd
test rax, rax
jns 0x14000e760
neg r8
sub r9, 2
mov rax, r10
mul r8
shr rdx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8, rdx
test rdx, rdx
jne 0x14000e722
add r9, 0xfffffffffffffffe
mov word [r9], r12w
jmp 0x14000e790
sub r9, 2
mov rax, r10
mul r8
shr rdx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8, rdx
test rdx, rdx
jne 0x14000e760
mov qword [rbp + 0x228], r15
mov qword [rbp + 0x238], r15
mov qword [rbp + 0x240], 7
lea rax, [rbp + 0x39a]
cmp r9, rax
je 0x14000e7d1
lea r8, [rbp + 0x39a]
sub r8, r9
sar r8, 1
mov rdx, r9
lea rcx, [rbp + 0x228]
call fcn.14000a220
mov qword [rbp + 0x1e8], r15
mov qword [rbp + 0x1f8], r15
mov qword [rbp + 0x200], 7
mov r8d, 0xd
lea rdx, str.rollfail_flag
lea rcx, [rbp + 0x1e8]
call fcn.14000a220
mov r8d, 1
lea rdx, [rbp + 0x1e8]
lea rcx, [0x140317030]
call fcn.1400099f0
mov rdx, qword [rbp + 0x200]
cmp rdx, 8
jb 0x14000e862
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x1e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e85d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400103db
call fcn.1400d7558
mov qword [rbp + 0x208], r15
mov qword [rbp + 0x218], r15
mov qword [rbp + 0x220], 7
mov r8d, 0xd
lea rdx, [0x140242058]
lea rcx, [rbp + 0x208]
call fcn.14000a220
lea r8, [rbp + 0x228]
lea rdx, [rbp + 0x208]
lea rcx, [0x140317030]
call fcn.140009cd0
mov rdx, qword [rbp + 0x220]
cmp rdx, 8
jb 0x14000e8f4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x208]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e8ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400103e1
call fcn.1400d7558
mov rdx, qword [rbp + 0x240]
cmp rdx, 8
jb 0x14000e952
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x228]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e935
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400103e7
call fcn.1400d7558
jmp 0x14000e952
lea rcx, str.No_WriteCheckRes_false
mov r8, r14
lea rdx, str.CheckFilesIsOk
call fcn.14002c680
mov r8, r14
lea rdx, str.check_dingding_packages
lea rcx, str._______quit_____
call fcn.14002c680
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000e985
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov edi, r15d
jmp 0x140010335
mov r10d, 0x2d
lea r11, [rbp + 0x128]
cmp r15, 8
cmovae r11, r12
cmp r14, 0x14
jb 0x14000ec5a
add r14, 0xffffffffffffffed
lea rbx, [r11 + r14*2]
mov rax, r11
lea r14, str._check_self_packages
xor r12d, r12d
mov rcx, rbx
sub rcx, rax
sar rcx, 1
mov rdx, r12
je 0x14000e9eb
cmp word [rax], 0x2d
je 0x14000e9e8
cmp rcx, 1
je 0x14000e9eb
dec rcx
add rax, 2
cmp word [rax], 0x2d
jne 0x14000e9d5
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x14000ec5d
mov r9d, 0x14
mov rcx, r14
movzx edx, word [rdx]
mov r8d, r10d
cmp dx, 0x2d
jb 0x14000ea3a
mov r10, rax
sub r10, r14
cmp dx, r8w
ja 0x14000ea34
cmp r9, 1
je 0x14000ea40
dec r9
add rcx, 2
movzx edx, word [rcx + r10]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x14000ea16
mov r10d, 0x2d
add rax, 2
jmp 0x14000e9c1
sub rax, r11
sar rax, 1
jne 0x14000ec5d
lea rcx, [rbp + 0x108]
call fcn.140027d10
mov r8, rdi
mov rdx, qword [rax]
lea rcx, [0x140242140]
call fcn.14002c680
mov rdx, qword [rbp + 0x108]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000ea8a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rsp + 0x70]
call fcn.140027d10
lea rdx, str.main_
mov rax, rsi
nop
inc rax
cmp word [rdx + rax*2], r12w
jne 0x14000eaa0
mov r8d, eax
lea rcx, [rsp + 0x70]
call fcn.14000c240
lea rcx, [rbp + 0x20]
call fcn.140029dd0
mov rbx, qword [rax]
movsxd rcx, dword [rbx - 0x10]
mov r15, rbx
mov rax, qword [rsp + 0x70]
sub r15, rax
sar r15, 1
mov r13d, dword [rax - 0x10]
test ecx, ecx
js 0x1400103ed
test rbx, rbx
je 0x14000eaf9
mov rdx, rcx
mov rcx, rbx
call fcn.1400ea46c
mov r12, rax
mov rax, qword [rsp + 0x70]
mov ecx, 0x7fffffff
sub ecx, r12d
cmp ecx, r13d
jl 0x1400103ed
lea r14d, [r12 + r13]
test r14d, r14d
js 0x1400103ed
mov edi, 1
sub edi, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, r14d
or edi, ecx
jge 0x14000eb3b
mov edx, r14d
lea rcx, [rsp + 0x70]
call fcn.140005800
mov rax, qword [rsp + 0x70]
cmp r15, r13
ja 0x14000eb44
lea rbx, [rax + r15*2]
lea rcx, [rax + r13*2]
movsxd r8, r12d
add r8, r8
je 0x14000eb80
test rcx, rcx
je 0x14000eb6b
test rbx, rbx
je 0x14000eb64
mov rdx, rbx
call fcn.1400d9910
jmp 0x14000eb7b
xor edx, edx
call fcn.1400d9fc0
call fcn.1400e8b0c
mov dword [rax], 0x16
call fcn.1400de95c
mov rax, qword [rsp + 0x70]
cmp r14d, dword [rax - 0xc]
jg 0x1400103ed
mov dword [rax - 0x10], r14d
movsxd rcx, r14d
mov rax, qword [rsp + 0x70]
xor ebx, ebx
mov word [rax + rcx*2], bx
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000ebb9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r14, [0x140241920]
mov r8, r14
lea rdx, str.CheckFilesIsOk
lea rcx, str.check_self_packages_start
call fcn.14002c680
mov dl, 1
lea rcx, [rsp + 0x70]
call fcn.140015dc0
lea r8, [0x140241ff0]
lea rcx, str.failed
test al, al
cmove r8, rcx
lea rdx, str.CheckFilesIsOk
lea rcx, [0x140242140]
call fcn.14002c680
mov r8, r14
lea rdx, str.CheckFilesIsOk
lea rcx, str.check_self_packages_end
call fcn.14002c680
mov r8, r14
lea rdx, str.check_self_packages
lea rcx, str._______quit_____
call fcn.14002c680
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000ec53
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov edi, ebx
jmp 0x140010335
xor r12d, r12d
call fcn.14000ddb0
mov rcx, rax
call fcn.140018f00
test eax, eax
je 0x14000ed56
cmp dword [rsp + 0x54], 4
jle 0x14000ed20
mov rdi, qword [r13 + 0x20]
call fcn.140004b20
mov rcx, rax
test rax, rax
je 0x1400103b4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x30], rax
lea r9, str.true
cmp r9, 0x10000
jae 0x14000ecbf
movzx edx, r9w
lea rcx, [rbp - 0x30]
call fcn.1400054f0
jmp 0x14000ecdd
mov rax, rsi
inc rax
cmp word [r9 + rax*2], 0
jne 0x14000ecc2
mov r8d, eax
mov rdx, r9
lea rcx, [rbp - 0x30]
call fcn.14000ac20
nop
test rdi, rdi
je 0x1400103f8
mov rax, qword [rbp - 0x30]
mov rcx, rax
sub rdi, rax
movzx ebx, word [rcx]
movzx edx, word [rcx + rdi]
sub ebx, edx
jne 0x14000ed03
add rcx, 2
test edx, edx
jne 0x14000ecf0
lea rdx, [rax - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000ed1c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test ebx, ebx
je 0x14000ed2d
call fcn.14000ddb0
mov rcx, rax
call fcn.14001ac50
call fcn.14000c520
lea r8, [0x140241920]
lea rdx, str.IsAnotherInstanceRunning
lea rcx, str._______quit_____
call fcn.14002c680
mov edi, 1
jmp 0x140010335
lea rcx, [rbp + 0x28]
call fcn.140027d10
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000ed85
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rbp + 0x30]
call fcn.140027d10
mov r8, rdi
mov rdx, qword [rax]
lea rcx, [0x140242248]
call fcn.14002c680
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000edbd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r14, [0x140241920]
mov rdx, r14
mov rcx, rdi
call fcn.1400ea684
test eax, eax
jne 0x14000f748
lea rcx, [rsp + 0x58]
call fcn.140027d10
lea rcx, [rbp + 0x10]
call fcn.1400278e0
mov r8, r14
lea rdx, [0x140242278]
mov rcx, qword [rbp + 0x10]
call fcn.14002c680
mov r8, r14
lea rdx, [0x140242280]
mov rcx, qword [rsp + 0x58]
call fcn.14002c680
mov r8, r14
lea rdx, str.Updater_Start:
lea rcx, str.Empty_cmdline
call fcn.14002c680
mov r8d, 9
lea rdx, [rbp + 0x48]
lea rcx, [rsp + 0x58]
call fcn.14000d3e0
lea rdx, str.updater_
mov rcx, qword [rax]
call fcn.1400ea684
mov edi, 1
test eax, eax
jne 0x14000efa9
lea rcx, [rbp + 0x40]
call fcn.1400276f0
mov qword [rbp - 0x20], rax
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx - 0x18]
test rcx, rcx
je 0x14000ee80
mov rdx, qword [rcx]
call qword [rdx + 0x20]
mov rcx, rax
test rax, rax
jne 0x14000ee91
call fcn.140004b20
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov rcx, rax
test rcx, rcx
je 0x140010403
mov rax, qword [rcx]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x68], rbx
lea rax, [0x1402422e8]
mov r15, rsi
inc r15
cmp word [rax + r15*2], 0
jne 0x14000eeb3
mov r13, qword [rsp + 0x58]
mov eax, dword [r13 - 0x10]
mov dword [rbp - 0x58], eax
lea r12d, [r15 + rax]
test r12d, r12d
js 0x14001040e
sub edi, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r12d
or edi, eax
jge 0x14000eef6
mov edx, r12d
lea rcx, [rsp + 0x68]
call fcn.140005800
mov rbx, qword [rsp + 0x68]
movsxd rax, dword [rbp - 0x58]
lea rdi, [rax + rax]
test rdi, rdi
je 0x14000ef34
test rbx, rbx
je 0x14000ef24
mov r8, rdi
mov rcx, rbx
test r13, r13
je 0x14000ef1d
mov rdx, r13
call fcn.1400d9910
jmp 0x14000ef34
xor edx, edx
call fcn.1400d9fc0
call fcn.1400e8b0c
mov dword [rax], 0x16
call fcn.1400de95c
lea rcx, [rdi + rbx]
movsxd r8, r15d
add r8, r8
je 0x14000ef63
test rcx, rcx
jne 0x14000ef57
call fcn.1400e8b0c
mov dword [rax], 0x16
call fcn.1400de95c
jmp 0x14000ef63
lea rdx, [0x1402422e8]
call fcn.1400d9910
cmp r12d, dword [rbx - 0xc]
jg 0x14001040e
mov dword [rbx - 0x10], r12d
movsxd rax, r12d
xor r12d, r12d
mov word [rbx + rax*2], r12w
mov r8, qword [rbp - 0x20]
lea rdx, [rsp + 0x68]
lea rcx, [rbp + 0x38]
call fcn.14000bcd0
mov r15d, 0xf
mov edi, r15d
mov rcx, qword [rax]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14000efae
mov dil, 1
jmp 0x14000efba
mov rbx, qword [rsp + 0x68]
mov r15d, edi
xor dil, dil
test r15b, 8
je 0x14000efe0
and r15d, 0xfffffff7
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000efdb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x68]
test r15b, 4
je 0x14000f003
and r15d, 0xfffffffb
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f003
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test r15b, 2
je 0x14000f026
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f026
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f043
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test dil, dil
je 0x14000f6d9
mov rax, qword [rsp + 0x58]
mov r8d, dword [rax - 0x10]
sub r8d, 9
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x58]
call fcn.14000cfb0
mov edx, 0x5c
mov rbx, qword [rbp - 0x68]
mov rcx, rbx
call fcn.1400da150
mov r15, rax
test rax, rax
jne 0x14000f088
mov r15d, esi
jmp 0x14000f0fb
sub r15, rbx
sar r15, 1
test r15d, r15d
js 0x14000f0fb
mov r8d, dword [rbx - 0x10]
sub r8d, r15d
dec r8d
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x68]
call fcn.14000d3e0
mov rcx, rax
call fcn.140026f30
mov r8d, dword [rbx - 0x10]
sub r8d, r15d
dec r8d
lea rdx, [rbp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.14000d3e0
mov r8, r14
lea rdx, str.CorrectDir
mov rcx, qword [rax]
call fcn.14002c680
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f0fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r8, r14
lea rdx, str.Updater:
lea rcx, str.Start_Copyfiles
call fcn.14002c680
mov r8, r14
lea rdx, str.Updater:
lea rcx, str.Before_killProcessByNameExceptMe
call fcn.14002c680
lea rcx, str.DingTalkUpdater.exe
call fcn.140024ad0
mov r8, r14
lea rdx, str.Updater:
lea rcx, str.After_killProcessByNameExceptMe
call fcn.14002c680
call fcn.14000ddb0
mov rdi, rax
lea r8, str.......
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x60]
call fcn.14000bd80
mov rbx, qword [rax]
mov rcx, qword [rsp + 0x58]
mov r8d, dword [rcx - 0x10]
dec r8d
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x58]
call fcn.14000cfb0
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rdi
call fcn.140020920
test eax, eax
sete bl
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f1b3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f1d0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test bl, bl
je 0x14000f36f
mov r8, r14
lea rdx, str.Updater:
lea rcx, str.Start_Copyfiles_second
call fcn.14002c680
mov rax, qword [rsp + 0x58]
mov r8d, dword [rax - 0x10]
dec r8d
lea rdx, [rbp + 0x80]
lea rcx, [rsp + 0x58]
call fcn.14000cfb0
mov rdx, rax
lea r8, [0x140242460]
lea rcx, [rbp + 0x78]
call fcn.14000bd80
mov rdx, rax
lea r8, [rsp + 0x58]
lea rcx, [rbp + 0x70]
call fcn.14000bcd0
mov rdx, rax
lea r8, str.......
lea rcx, [rbp + 0x68]
call fcn.14000bd80
mov r8, r14
lea rdx, str.copyFiles_again.
mov rcx, qword [rax]
call fcn.14002c680
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f271
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f28e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f2ab
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f2cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
call fcn.14000ddb0
mov rdi, rax
lea r8, str.......
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x90]
call fcn.14000bd80
mov rbx, qword [rax]
mov rcx, qword [rsp + 0x58]
mov r8d, dword [rcx - 0x10]
dec r8d
lea rdx, [rbp + 0x88]
lea rcx, [rsp + 0x58]
call fcn.14000cfb0
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rdi
call fcn.140020920
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f339
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f359
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r8, r14
lea rdx, str.Updater:
lea rcx, str.End_Copyfiles_second
call fcn.14002c680
mov rax, qword [rsp + 0x58]
mov r8d, dword [rax - 0x10]
dec r8d
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x58]
call fcn.14000cfb0
mov rdx, rax
lea r8, [0x140242460]
lea rcx, [rbp + 0xa8]
call fcn.14000bd80
mov rdx, rax
lea r8, [rsp + 0x58]
lea rcx, [rbp + 0xa0]
call fcn.14000bcd0
mov rdx, rax
lea r8, str.......
lea rcx, [rbp + 0x98]
call fcn.14000bd80
mov r8, r14
lea rdx, str.copyFiles
mov rcx, qword [rax]
call fcn.14002c680
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f3fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f41e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f43e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f45e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r8, r14
lea rdx, str.Updater:
lea rcx, str.End_Copyfiles
call fcn.14002c680
mov r8d, r15d
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x68]
call fcn.14000cfb0
mov edx, 0x5c
mov rbx, qword [rbp - 0x78]
mov rcx, rbx
call fcn.1400da150
test rax, rax
jne 0x14000f49e
mov eax, esi
jmp 0x14000f4a4
sub rax, rbx
sar rax, 1
lea r8d, [rax + 1]
lea rdx, [rbp + 0xb8]
lea rcx, [rbp - 0x78]
call fcn.14000cfb0
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14000f50e
cmp dword [rbx + 0x10], 0
jl 0x14000f501
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14000f501
call fcn.14000c360
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x14000f4f7
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [r8 + 8]
lea rax, [rdi + 0x18]
mov qword [rbp - 0x78], rax
jmp 0x14000f50e
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x78]
call fcn.14000ac20
mov rdx, qword [rbp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f52e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea r8, str.DingtalkScheme.exe
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x110]
call fcn.14000bd80
mov rcx, rax
call fcn.14002a730
lea r8, str.DingtalkScheme.exe
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x118]
call fcn.14000bd80
mov rcx, rax
call fcn.14002a3a0
mov r8, r14
lea rdx, str.Updater:
lea rcx, str.Start_CopyAndRegisterShellExtension
call fcn.14002c680
call fcn.140016a90
mov r8, r14
lea rdx, str.Updater:
lea rcx, str.End_CopyAndRegisterShellExtension
call fcn.14002c680
lea r8, str.DingtalkScheme.exe
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0xc0]
call fcn.14000bd80
mov r8, r14
lea rdx, str.RegisterWebStartScheme
mov rcx, qword [rax]
call fcn.14002c680
mov rdx, qword [rbp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f5e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r8, r14
lea rdx, str.Updater_end_
lea rcx, str.___________11___________
call fcn.14002c680
call fcn.14000ddb0
mov rbx, rax
lea r8, str.......DingTalkUpdater.exe
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0xc8]
call fcn.14000bd80
lea r8, str.66FC3B8D_4FEE_4914_85D4_837DC44F26FF
mov rdx, qword [rax]
mov rcx, rbx
call fcn.14001b4c0
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f64e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
call fcn.14000c520
lea r8, str.......DingTalkUpdater.exe
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0xd0]
call fcn.14000bd80
mov r8, r14
lea rdx, str.RunMainUpdater_REMOVE_LOCALUPDATER_PARAM
mov rcx, qword [rax]
call fcn.14002c680
mov rdx, qword [rbp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f69d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f6ba
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f701
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x14000f701
mov r8, r14
lea rdx, str.Updater_end_
lea rcx, str.___________1___________
call fcn.14002c680
call fcn.14000ddb0
mov rcx, rax
call fcn.14001c040
call fcn.14000c520
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f71e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000fa7d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov edi, r12d
jmp 0x140010335
cmp dword [rsp + 0x54], 4
jge 0x14000fa85
mov qword [rbp + 0x168], r12
mov qword [rbp + 0x178], r12
mov qword [rbp + 0x180], 7
mov r8, rsi
nop
inc r8
cmp word [rdi + r8*2], 0
jne 0x14000f770
mov rdx, rdi
lea rcx, [rbp + 0x168]
call fcn.14000a220
lea r9, [rbp + 0x168]
mov r10, qword [rbp + 0x168]
mov r11, qword [rbp + 0x180]
cmp r11, 8
cmovae r9, r10
cmp qword [rbp + 0x178], 0x26
jne 0x14000f7f6
mov edx, 0x26
lea rcx, str.66FC3B8D_4FEE_4914_85D4_837DC44F26FF
movzx eax, word [r9]
mov r8d, 0x7b
cmp ax, r8w
jb 0x14000f7f6
sub r9, rcx
cmp ax, r8w
ja 0x14000f7f6
cmp rdx, 1
je 0x14000fa51
dec rdx
add rcx, 2
movzx eax, word [rcx + r9]
movzx r8d, word [rcx]
cmp ax, r8w
jae 0x14000f7d4
xor bl, bl
cmp r11, 8
jb 0x14000f833
lea rdx, [r11*2 + 2]
mov rax, r10
cmp rdx, 0x1000
jb 0x14000f82b
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140010445
mov rcx, r10
call fcn.1400d7558
mov r8, r14
test bl, bl
je 0x14000fa58
lea rdx, str.REMOVE_LOCALUPDATER_PARAM
mov rcx, r14
call fcn.14002c680
lea rcx, str.DingTalkUpdater.exe
call fcn.140024ad0
lea rcx, [rsp + 0x78]
call fcn.140027d10
mov r8, r14
lea rdx, str.localUpdaterPath
mov rcx, qword [rsp + 0x78]
call fcn.14002c680
lea rdx, str.main_
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000f881
mov r8d, eax
lea rcx, [rsp + 0x78]
call fcn.14000c240
lea rcx, [rbp - 0x18]
call fcn.140029dd0
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x78]
call fcn.14000c240
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000f8cf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, str.updater
mov rax, rsi
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000f8e0
mov r8d, eax
lea rcx, [rsp + 0x78]
call fcn.14000c240
mov rcx, qword [rsp + 0x78]
call fcn.140017ac0
mov r8, r14
lea rdx, str.EmptyDirectory_localUpdaterPath_
mov rcx, qword [rsp + 0x78]
call fcn.14002c680
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov r8, r14
lea rdx, str.RemoveDirectory_localUpdaterPath_
mov rcx, qword [rsp + 0x78]
call fcn.14002c680
lea rcx, [rbp - 0x38]
call fcn.140027d10
lea rdx, str.DingDingUpdater.exe
mov rax, rsi
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000f950
mov r8d, eax
lea rcx, [rbp - 0x38]
call fcn.14000c240
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r8, r14
lea rdx, str.DeleteFile_oldUpdaterExe_
mov rcx, qword [rbp - 0x38]
call fcn.14002c680
lea rcx, [rbp - 0x40]
call fcn.140027d10
lea rdx, str.elevate.exe
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000f996
mov r8d, eax
lea rcx, [rbp - 0x40]
call fcn.14000c240
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r8, r14
lea rdx, str.DeleteFile_oldElevateExe_
mov rcx, qword [rbp - 0x40]
call fcn.14002c680
mov r8, r14
lea rdx, str.Updater_end_
lea rcx, str.___________21___________
call fcn.14002c680
call fcn.14000ddb0
mov rcx, rax
call fcn.14001b320
call fcn.14000c520
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000fa0e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp - 0x38]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000fa2b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000fa7d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov edi, r12d
jmp 0x140010335
mov bl, 1
jmp 0x14000f7f8
lea rdx, str.Updater_end_
lea rcx, str.___________2___________
call fcn.14002c680
call fcn.14000ddb0
mov rcx, rax
call fcn.14001c040
call fcn.14000c520
mov edi, r12d
jmp 0x140010335
mov rax, qword [r13]
mov qword [rbp - 0x20], rax
mov rax, qword [r13 + 8]
mov qword [rbp - 0x10], rax
mov rax, qword [r13 + 0x10]
mov qword [rbp - 0x58], rax
mov r13, qword [r13 + 0x18]
call fcn.140004b20
mov rcx, rax
test rax, rax
je 0x140010419
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x28], rax
mov r8d, dword [rsp + 0x54]
mov rbx, qword [rsp + 0x68]
cmp r8d, 4
jle 0x14000fb00
mov rdx, qword [rbx + 0x20]
test rdx, rdx
jne 0x14000fade
mov eax, r12d
jmp 0x14000faeb
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000fae1
mov r8d, eax
lea rcx, [rbp - 0x28]
call fcn.14000ac20
mov r8d, dword [rsp + 0x54]
mov rax, qword [rbp - 0x28]
mov rdx, r12
lea r9, str.true
nop word [rax + rax]
movzx r15d, word [rax + rdx*2]
inc rdx
movzx ecx, word [r9 + rdx*2 - 2]
sub r15d, ecx
jne 0x14000fb29
cmp rdx, 5
jne 0x14000fb10
test r15d, r15d
sete byte [rsp + 0x60]
mov byte [rsp + 0x50], 0
xor r12b, r12b
mov edi, 1
test r15d, r15d
jne 0x14000fe20
cmp r8d, 5
jle 0x14000fe20
call fcn.140004b20
mov rcx, rax
test rax, rax
je 0x140010424
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x60], rax
mov rdx, qword [rbx + 0x28]
test rdx, rdx
jne 0x14000fb7d
xor eax, eax
jmp 0x14000fb8a
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x14000fb80
mov r8d, eax
lea rcx, [rbp - 0x60]
call fcn.14000ac20
lea rcx, [rbp + 0xe0]
call fcn.140029c20
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x14001042f
mov rax, qword [rbp - 0x60]
sub rdx, rax
nop word [rax + rax]
movzx ebx, word [rax]
movzx ecx, word [rax + rdx]
sub ebx, ecx
jne 0x14000fbd3
add rax, 2
test ecx, ecx
jne 0x14000fbc0
mov rdx, qword [rbp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000fbf3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test ebx, ebx
jne 0x14000fc99
call fcn.140004b20
mov rcx, rax
test rax, rax
je 0x14001043a
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x18], rax
mov r8, qword [rbp - 0x60]
lea rdx, str.bSilent__true__sFromExeDir__GetUpdateDir_____s
lea rcx, [rbp + 0x18]
call fcn.14000c550
mov r8, r14
lea rdx, str.Auto_abort_update_process
mov rbx, qword [rbp + 0x18]
mov rcx, rbx
call fcn.14002c680
mov r8, r14
lea rdx, str.Updater_end_
lea rcx, str.___________3___________
call fcn.14002c680
lea rdx, [rbx - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000fc73
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140010314
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x140010314
cmp dword [rsp + 0x54], 7
jle 0x14000fd60
mov rdx, qword [rsp + 0x68]
mov rdx, qword [rdx + 0x38]
lea rcx, [rbp + 0xe8]
call fcn.14000bc30
nop
mov rax, qword [rbp + 0xe8]
lea r9, str.check_last
mov rdx, rsi
nop dword [rax + rax]
movzx r8d, word [rax + rdx*2 + 2]
movzx ecx, word [r9 + rdx*2 + 2]
sub r8d, ecx
jne 0x14000fcfa
add rdx, 2
cmp rdx, 0xb
je 0x14000fcfa
movzx r8d, word [rax + rdx*2]
movzx ecx, word [r9 + rdx*2]
sub r8d, ecx
je 0x14000fcd0
test r8d, r8d
sete bl
mov byte [rsp + 0x50], bl
mov rdx, rsi
lea r9, str.incre_update
nop
movzx r8d, word [rax + rdx*2 + 2]
movzx ecx, word [r9 + rdx*2 + 2]
sub r8d, ecx
jne 0x14000fd3a
add rdx, 2
cmp rdx, 0xd
je 0x14000fd3a
movzx r8d, word [rax + rdx*2]
movzx ecx, word [r9 + rdx*2]
sub r8d, ecx
je 0x14000fd10
test r8d, r8d
sete r12b
lea rdx, [rax - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000fd62
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov byte [rsp + 0x50], bl
jmp 0x14000fd62
xor bl, bl
cmp dword [rsp + 0x54], 8
jle 0x14000fdde
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x40]
lea rcx, [rbp + 0xf0]
call fcn.14000bc30
nop
mov rax, qword [rbp + 0xf0]
mov rdx, rsi
lea r9, str.incre_update
movzx r8d, word [rax + rdx*2 + 2]
movzx ecx, word [r9 + rdx*2 + 2]
sub r8d, ecx
jne 0x14000fdba
add rdx, 2
cmp rdx, 0xd
je 0x14000fdba
movzx r8d, word [rax + rdx*2]
movzx ecx, word [r9 + rdx*2]
sub r8d, ecx
je 0x14000fd90
movzx r12d, r12b
test r8d, r8d
cmove r12d, edi
lea rdx, [rax - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000fdde
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rdx, str.Updater_going:
lea rcx, str.___________3___________
test bl, bl
lea r8, str.need_block
jne 0x14000fdfe
lea r8, str.disalbe_block
call fcn.14002c680
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000fe20
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor eax, eax
mov qword [rbp + 0x188], rax
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x1a0], 7
mov r8, rsi
nop
inc r8
cmp word [r13 + r8*2], ax
jne 0x14000fe40
mov rdx, r13
lea rcx, [rbp + 0x188]
call fcn.14000a220
lea r9, [rbp + 0x188]
mov r10, qword [rbp + 0x188]
mov r11, qword [rbp + 0x1a0]
cmp r11, 8
cmovae r9, r10
cmp qword [rbp + 0x198], 1
jne 0x14000febf
mov r8, rdi
lea rax, [0x140241dcc]
movzx ecx, word [r9]
mov edx, 0x31
cmp cx, dx
jb 0x14000febf
sub r9, rax
cmp cx, dx
ja 0x14000febf
cmp r8, 1
je 0x14000ff76
dec r8
add rax, 2
movzx ecx, word [rax + r9]
movzx edx, word [rax]
cmp cx, dx
jae 0x14000fe9f
xor bl, bl
cmp r11, 8
jb 0x14000fefc
lea rdx, [r11*2 + 2]
mov rax, r10
cmp rdx, 0x1000
jb 0x14000fef4
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140010445
mov rcx, r10
call fcn.1400d7558
test bl, bl
je 0x14000ff0f
call fcn.14000ddb0
mov dl, 1
mov rcx, rax
call fcn.14001c790
mov r13, qword [rbp - 0x20]
mov rdx, r13
lea rcx, [rbp - 0x70]
call fcn.14000bc30
lea rcx, [rbp - 0x70]
call fcn.14002a330
test al, al
sete bl
mov rdx, qword [rbp - 0x70]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000ff4a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test bl, bl
je 0x14000ff7d
mov r8, r14
lea rdx, str.Updater_end_
lea rcx, str.___________4___________
call fcn.14002c680
call fcn.14000ddb0
mov rcx, rax
call fcn.14001c040
jmp 0x14001030f
mov bl, 1
jmp 0x14000fec1
mov rcx, qword [rbp - 0x18]
call fcn.140037b00
lea rcx, [rbp + 0x2e0]
call fcn.140032560
lea r8, str.updaterres
lea rdx, [rbp + 0x250]
mov rcx, rax
call fcn.14002d6a0
mov rcx, rax
call fcn.14002d690
mov rcx, rax
call fcn.140037d40
lea rcx, [rbp + 0x250]
call fcn.140003d20
lea rcx, [rbp + 0x2e0]
call fcn.140003d20
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
js 0x140010314
cmp dword [rsp + 0x54], 6
jle 0x1400100aa
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax + 0x30]
test rdx, rdx
jne 0x14000fffd
xor eax, eax
jmp 0x14001000a
mov rax, rsi
inc rax
cmp word [rdx + rax*2], 0
jne 0x140010000
mov r8d, eax
lea rcx, [rbp - 0x80]
call fcn.14000ac20
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x14001002e
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
jne 0x14001003c
call fcn.140004b20
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov r8, rax
lea rdx, [0x140242b10]
lea rcx, [rbp + 0xf8]
call fcn.14000bac0
nop
mov rax, qword [rbp + 0xf8]
test rax, rax
je 0x1400103a3
mov rcx, qword [rbp - 0x80]
mov r8, rax
sub r8, rcx
nop dword [rax]
movzx ebx, word [rcx]
movzx edx, word [rcx + r8]
sub ebx, edx
jne 0x140010084
add rcx, 2
test edx, edx
jne 0x140010070
lea rdx, [rax - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001009d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test ebx, ebx
je 0x1400100aa
lea rcx, [rbp - 0x80]
call fcn.140010550
mov ecx, 0x5c0
call fcn.1400d7034
mov rbx, rax
test rax, rax
je 0x1400102dd
mov rcx, rax
call fcn.1400390d0
lea rax, vtable.CFrameWindowWnd.0
mov qword [rbx], rax
lea rax, vtable.CFrameWindowWnd.1.0
mov qword [rbx + 0x28], rax
mov rcx, qword [rbp - 0x80]
add rcx, 0xffffffffffffffe8
call fcn.14000c360
add rax, 0x18
mov qword [rbx + 0x38], rax
lea rcx, [rbx + 0x48]
call fcn.14002fa80
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
xor eax, eax
mov qword [rbp + 8], rax
lea r8, [rbp - 8]
mov edx, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x68]
call fcn.14000c710
mov r8, r14
lea rdx, str.create_window:
lea rcx, str.start
call fcn.14002c680
lea r8, [0x140317348]
cmp qword [0x140317360], 8
cmovae r8, qword [0x140317348]
xor eax, eax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], 0x80000000
mov dword [rsp + 0x38], 0x80000000
mov dword [rsp + 0x30], 0x80000000
mov dword [rsp + 0x28], 0x80000000
mov dword [rsp + 0x20], 0x100
xor edx, edx
mov r9d, 0x10cf0000
mov rcx, rbx
call fcn.140039620
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov r8b, 1
xor edx, edx
mov rcx, rbx
call fcn.14003a290
call fcn.14000ddb0
lea rcx, [rbp - 8]
mov qword [rsp + 0x40], rcx
mov byte [rsp + 0x38], r12b
movzx ecx, byte [rsp + 0x50]
mov byte [rsp + 0x30], cl
movzx r12d, byte [rsp + 0x60]
mov byte [rsp + 0x28], r12b
mov qword [rsp + 0x20], rbx
mov r9, qword [rbp - 0x58]
mov r8, qword [rbp - 0x10]
mov rdx, r13
mov rcx, rax
call fcn.1400244c0
mov r8, r14
lea rdx, str.create_window:
lea rcx, [0x140242bb8]
call fcn.14002c680
call fcn.14000ddb0
movzx edx, r12b
mov rcx, rax
call fcn.140018f10
test al, al
je 0x140010226
call fcn.14000c520
mov r8, r14
lea rdx, str.Updater
lea rcx, str.Quit_with_IsDiskFull
call fcn.14002c680
xor r15d, r15d
jmp 0x14001028d
test r15d, r15d
setne dl
mov r8b, 1
mov rcx, rbx
call fcn.14003a290
lea rax, [rbx + 0x40]
mov qword [rsp + 0x28], rax
xor r15d, r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x14000ddf0]
xor edx, edx
xor ecx, ecx
call fcn.1400eaac8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140035d80
call qword [sym.imp.ole32.dll_CoUninitialize]
mov r8, r14
lea rdx, str.Updater_end_
lea rcx, str.___________6___________
call fcn.14002c680
call fcn.14000c520
mov edi, r15d
mov rbx, qword [rbp - 8]
test rbx, rbx
je 0x140010318
mov r14, qword [rbp]
cmp rbx, r14
je 0x1400102b8
mov rcx, rbx
call fcn.140009560
add rbx, 0x20
cmp rbx, r14
jne 0x1400102a3
mov rbx, qword [rbp - 8]
mov r8, qword [rbp + 8]
sub r8, rbx
sar r8, 5
mov rdx, rbx
lea rcx, [rbp - 8]
call fcn.14000dd20
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r15
jmp 0x140010318
call qword [sym.imp.ole32.dll_CoUninitialize]
mov r8, r14
lea rdx, str.create_window_failed
lea rcx, str.error
call fcn.14002c680
mov r8, r14
lea rdx, str.Updater_end_
lea rcx, str.___________5___________
call fcn.14002c680
call fcn.14000c520
xor eax, eax
mov edi, eax
mov rdx, qword [rbp - 0x28]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140010335
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
sub esi, 1
jg 0x140010350
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r12, qword [rbp + 0x128]
mov r15, qword [rbp + 0x140]
cmp r15, 8
jb 0x140010377
lea r8, [r15 + 1]
mov rdx, r12
lea rcx, [rbp + 0x128]
call fcn.14000dd70
mov eax, edi
mov rcx, qword [rbp + 0x3a0]
xor rcx, rsp
call fcn.1400d7670
mov rbx, qword [rsp + 0x4f8]
add rsp, 0x4b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.1400049a0
nop
call fcn.1400de97c
int3
mov ecx, 0x80004005
call fcn.1400049a0
nop
mov ecx, 0x80004005
call fcn.1400049a0
nop
mov ecx, 0x80004005
call fcn.1400049a0
int3
call fcn.1400de97c
int3
call fcn.1400de97c
int3
call fcn.1400de97c
int3
call fcn.1400de97c
int3
mov ecx, 0x80070057
call fcn.1400049a0
nop
mov ecx, 0x80004005
call fcn.1400049a0
nop
mov ecx, 0x80004005
call fcn.1400049a0
nop
mov ecx, 0x80070057
call fcn.1400049a0
nop
mov ecx, 0x80004005
call fcn.1400049a0
nop
mov ecx, 0x80004005
call fcn.1400049a0
nop
mov ecx, 0x80004005
call fcn.1400049a0
nop
mov ecx, 0x80004005
call fcn.1400049a0
nop
call fcn.1400de97c
int3