Function at 0x1400152f0
Capabilities:
Accept command line arguments
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 - 0x6d0]
sub rsp, 0x7d0
mov rax, qword [0x14036e3c8]
xor rax, rsp
mov qword [rbp + 0x6c0], rax
mov rdi, r8
mov qword [rbp - 0x78], r8
mov qword [rbp - 0x18], rcx
xor esi, esi
mov dword [rbp - 0x70], esi
mov dword [rsp + 0x54], esi
lea rdx, [rsp + 0x54]
mov rcx, r8
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov r12, rax
mov qword [rsp + 0x60], rax
mov byte [rsp + 0x51], sil
mov byte [rsp + 0x53], sil
mov byte [rsp + 0x52], sil
lea r13, [rsi - 1]
test rax, rax
je 0x14001574b
mov r14d, esi
cmp dword [rsp + 0x54], esi
jle 0x14001574b
mov r12d, dword [0x1403771f8]
mov r15, rax
mov edi, 4
lea r11, str.__enable_extend_screen
lea r10, str.__enable_upgrade_improve
lea r9, str.__enable_improve_user_agent
lea r8, str.__enable_xcdn
mov rdx, qword gs:[0x58]
mov rbx, qword [r15]
test rbx, rbx
je 0x140015730
mov rcx, rsi
nop word [rax + rax]
movzx eax, word [rbx + rcx*2]
cmp ax, word [r8 + rcx*2]
jne 0x1400153ec
movzx eax, word [rbx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x1400153ec
add rcx, 2
cmp rcx, 0xe
jne 0x1400153c0
mov byte [rsp + 0x51], 1
jmp 0x140015730
mov rcx, rsi
nop
movzx eax, word [rbx + rcx*2]
cmp ax, word [r9 + rcx*2]
jne 0x14001541c
movzx eax, word [rbx + rcx*2 + 2]
cmp ax, word [r9 + rcx*2 + 2]
jne 0x14001541c
add rcx, 2
cmp rcx, 0x1c
jne 0x1400153f0
mov byte [rsp + 0x53], 1
jmp 0x140015730
mov rcx, r13
nop
movzx eax, word [rbx + rcx*2 + 2]
cmp ax, word [r10 + rcx*2 + 2]
jne 0x140015446
add rcx, 2
cmp rcx, 0x19
je 0x1400155b6
movzx eax, word [rbx + rcx*2]
cmp ax, word [r10 + rcx*2]
je 0x140015420
mov rcx, r13
lea r8, str.__enable_new_upgrade
movzx eax, word [rbx + rcx*2 + 2]
cmp ax, word [r8 + rcx*2 + 2]
jne 0x140015476
add rcx, 2
cmp rcx, 0x15
je 0x1400155c0
movzx eax, word [rbx + rcx*2]
cmp ax, word [r8 + rcx*2]
je 0x140015450
mov rcx, r13
nop dword [rax]
movzx eax, word [rbx + rcx*2 + 2]
cmp ax, word [r11 + rcx*2 + 2]
jne 0x1400154a6
add rcx, 2
cmp rcx, 0x17
je 0x14001560e
movzx eax, word [rbx + rcx*2]
cmp ax, word [r11 + rcx*2]
je 0x140015480
mov rsi, qword [rdx + r12*8]
mov eax, dword [rdi + rsi]
cmp dword [0x140372918], eax
jg 0x14001834b
mov eax, dword [rdi + rsi]
cmp dword [0x14037291c], eax
jg 0x14001839a
mov rdi, r13
nop dword [rax + rax]
inc rdi
cmp word [rbx + rdi*2], 0
jne 0x1400154d0
lea r9, [0x1403682a0]
cmp qword [reloc.WS2_32.dll_getsockopt], 8
cmovae r9, qword [0x1403682a0]
mov rsi, qword [0x1403682b0]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.1400115e0
test rax, rax
jne 0x140015654
lea rdx, [rbx + rsi*2]
xor esi, esi
mov qword [rbp + 0x3e8], rsi
mov qword [rbp + 0x3f8], rsi
mov qword [rbp + 0x400], 7
mov r8, r13
inc r8
cmp word [rdx + r8*2], si
jne 0x140015536
lea rcx, [rbp + 0x3e8]
call fcn.14000a430
lea rdx, [rbp + 0x3e8]
lea rcx, [rbp + 0x268]
call fcn.140039a10
mov rcx, rax
call fcn.1400389b0
mov rdx, qword [rbp + 0x400]
cmp rdx, 8
jb 0x14001572b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400155ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400183e9
call fcn.1402434a4
jmp 0x14001572b
mov byte [rsp + 0x52], 1
jmp 0x140015730
mov rax, qword [0x140372930]
test rax, rax
jne 0x140015601
mov ecx, 0xb0
call fcn.140242f80
test rax, rax
je 0x1400155f7
mov rcx, rax
call fcn.14001bce0
mov qword [0x140372930], rax
mov rcx, rax
call fcn.14001fd30
jmp 0x140015730
mov rax, rsi
mov qword [0x140372930], rax
mov rcx, rax
call fcn.14001fd30
jmp 0x140015730
mov rax, qword [0x140372930]
test rax, rax
jne 0x14001564b
mov ecx, 0xb0
call fcn.140242f80
test rax, rax
je 0x140015641
mov rcx, rax
call fcn.14001bce0
mov qword [0x140372930], rax
mov byte [rax + 0x6c], 1
jmp 0x140015730
mov rax, rsi
mov qword [0x140372930], rax
mov byte [rax + 0x6c], 1
jmp 0x140015730
lea r9, [0x1403682c0]
cmp qword [reloc.WS2_32.dll_getsockopt], 8
cmovae r9, qword [0x1403682c0]
mov rsi, qword [0x1403682d0]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call fcn.1400115e0
test rax, rax
jne 0x140015729
lea rdx, [rbx + rsi*2]
xor esi, esi
mov qword [rbp + 0x408], rsi
mov qword [rbp + 0x418], rsi
mov qword [rbp + 0x420], 7
mov r8, r13
inc r8
cmp word [rdx + r8*2], si
jne 0x1400156b0
lea rcx, [rbp + 0x408]
call fcn.14000a430
lea rdx, [rbp + 0x408]
lea rcx, [rbp + 0x288]
call fcn.140039a10
mov rcx, rax
call fcn.140038ff0
mov rdx, qword [rbp + 0x420]
cmp rdx, 8
jb 0x14001572b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x408]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015722
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400183ef
call fcn.1402434a4
jmp 0x14001572b
xor esi, esi
mov edi, 4
inc r14d
add r15, 8
cmp r14d, dword [rsp + 0x54]
jl 0x140015382
mov rdi, qword [rbp - 0x78]
mov r12, qword [rsp + 0x60]
xor ecx, ecx
call fcn.14006d330
mov qword [rbp + 0x2a8], rsi
mov qword [rbp + 0x2b8], rsi
mov qword [rbp + 0x2c0], 7
mov r8, r13
nop
inc r8
cmp word [rdi + r8*2], 0
jne 0x140015770
mov rdx, rdi
lea rcx, [rbp + 0x2a8]
call fcn.14000a430
lea r11, [rbp + 0x2a8]
mov r15, qword [rbp + 0x2a8]
mov r14, qword [rbp + 0x2c0]
cmp r14, 8
cmovae r11, r15
mov rsi, qword [rbp + 0x2b8]
cmp rsi, 0x11
jb 0x1400159b7
lea rbx, [rsi - 0x10]
lea rbx, [r11 + rbx*2]
mov rax, r11
lea rdi, str.clean_update_data
nop word [rax + rax]
mov rcx, rbx
sub rcx, rax
sar rcx, 1
mov edx, 0
je 0x1400157fc
cmp word [rax], 0x63
je 0x1400157f9
cmp rcx, 1
je 0x1400157fc
dec rcx
add rax, 2
cmp word [rax], 0x63
jne 0x1400157e6
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x1400159b3
mov r9d, reloc.COMCTL32.dll_InitCommonControls
mov rcx, rdi
movzx edx, word [rdx]
mov r8d, 0x63
cmp dx, r8w
jb 0x140015848
mov r10, rax
sub r10, rdi
cmp dx, r8w
ja 0x140015848
cmp r9, 1
je 0x14001584e
dec r9
add rcx, 2
movzx edx, word [r10 + rcx]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x14001582a
add rax, 2
jmp 0x1400157d0
sub rax, r11
sar rax, 1
cmp rax, r13
je 0x1400159b3
lea r11, [rbp + 0x2a8]
cmp r14, 8
cmovae r11, r15
cmp rsi, 0x15
jb 0x14001595b
add rsi, 0xffffffffffffffec
lea rbx, [r11 + rsi*2]
mov rax, r11
lea rsi, str.enable_fix_clean_data
xor r12d, r12d
nop dword [rax + rax]
mov rcx, rbx
sub rcx, rax
sar rcx, 1
mov rdx, r12
je 0x1400158ba
cmp word [rax], 0x65
je 0x1400158b7
cmp rcx, 1
je 0x1400158ba
dec rcx
add rax, 2
cmp word [rax], 0x65
jne 0x1400158a4
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x14001595e
mov r8d, reloc.WS2_32.dll_setsockopt
mov rcx, rsi
movzx edx, word [rdx]
mov r9d, 0x65
cmp dx, r9w
jb 0x140015906
mov r10, rax
sub r10, rsi
cmp dx, r9w
ja 0x140015906
cmp r8, 1
je 0x14001590c
dec r8
add rcx, 2
movzx edx, word [r10 + rcx]
movzx r9d, word [rcx]
cmp dx, r9w
jae 0x1400158e8
add rax, 2
jmp 0x140015890
sub rax, r11
sar rax, 1
cmp rax, r13
je 0x14001595e
mov rax, qword [0x140372930]
test rax, rax
jne 0x140015946
mov ecx, 0xb0
call fcn.140242f80
test rax, rax
je 0x14001593c
mov rcx, rax
call fcn.14001bce0
jmp 0x14001593f
mov rax, r12
mov qword [0x140372930], rax
mov rcx, rax
call fcn.140022680
test eax, eax
je 0x14001595e
lea rdi, str.clean_update_data__other_instance_is_runing_exit
jmp 0x140015995
xor r12d, r12d
mov rax, qword [0x140372930]
test rax, rax
jne 0x14001598d
mov ecx, 0xb0
call fcn.140242f80
test rax, rax
je 0x140015983
mov rcx, rax
call fcn.14001bce0
jmp 0x140015986
mov rax, r12
mov qword [0x140372930], rax
mov rcx, rax
call fcn.14001e940
lea r8, [0x140284a60]
mov rdx, rdi
lea rcx, str._______quit_____
call fcn.140039ff0
mov edi, r12d
jmp 0x1400182f5
mov rdi, qword [rbp - 0x78]
call fcn.140004ca0
mov rcx, rax
test rax, rax
je 0x140018340
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp - 0x80], rax
lea rdx, [0x140285770]
cmp rdx, 0x10000
jae 0x1400159f4
movzx edx, dx
lea rcx, [rbp - 0x80]
call fcn.140005670
jmp 0x140015a16
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140015a00
mov r8d, eax
lea rcx, [rbp - 0x80]
call fcn.14000ae30
lea rcx, [rbp - 0x80]
call fcn.140018590
lea r11, [rbp + 0x2a8]
cmp r14, 8
cmovae r11, r15
mov r10d, Ordinal_46
cmp rsi, 0x18
jb 0x1400164b4
lea rbx, [rsi - 0x17]
lea rbx, [r11 + rbx*2]
mov rax, r11
lea r8, str._check_dingding_packages
mov qword [rbp - 0x38], r8
nop dword [rax]
nop dword [rax + rax]
mov rcx, rbx
sub rcx, rax
sar rcx, 1
mov edx, 0
je 0x140015a8c
cmp word [rax], 0x2d
je 0x140015a89
cmp rcx, 1
je 0x140015a8c
dec rcx
add rax, 2
cmp word [rax], 0x2d
jne 0x140015a76
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x1400164b4
mov r9d, Ordinal_27
mov rcx, r8
movzx edx, word [rdx]
mov r8d, r10d
cmp dx, 0x2d
jb 0x140015adc
mov r10, rax
sub r10, qword [rbp - 0x38]
cmp dx, r8w
ja 0x140015ad6
cmp r9, 1
je 0x140015aec
dec r9
add rcx, 2
movzx edx, word [r10 + rcx]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x140015ab8
mov r10d, Ordinal_46
add rax, 2
lea r8, str._check_dingding_packages
jmp 0x140015a60
sub rax, r11
sar rax, 1
jne 0x1400164ae
lea rcx, [rbp + 0xe8]
call fcn.140035410
mov r8, rdi
mov rdx, qword [rax]
lea rcx, [0x1402857b8]
call fcn.140039ff0
mov rdx, qword [rbp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015b37
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
cmp dword [rsp + 0x54], 2
jge 0x140015b65
lea rcx, str.Quit_with_args_2
lea rdx, str.check_dingding_packages
lea rsi, [0x140284a60]
mov r8, rsi
call fcn.140039ff0
mov edi, 2
jmp 0x1400182ca
mov rdi, qword [r12 + 0x10]
lea rcx, [rbp + 0x118]
call fcn.1400376e0
nop
test rdi, rdi
je 0x1400183f5
mov rax, qword [rax]
sub rdi, rax
nop word [rax + rax]
movzx ebx, word [rax]
movzx ecx, word [rax + rdi]
sub ebx, ecx
jne 0x140015ba3
add rax, 2
test ecx, ecx
jne 0x140015b90
mov rdx, qword [rbp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015bc4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
test ebx, ebx
jne 0x140015bed
lea rcx, str.Quit_with_same_as_GetUsingDir
lea rdx, str.No_need_Check_again
lea rsi, str.finish
mov r8, rsi
call fcn.140039ff0
lea edi, [rbx + 2]
jmp 0x1400182ca
lea rcx, [rbp - 0x48]
call fcn.140035410
lea rdx, str.main_
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x140015c00
mov r8d, eax
lea rcx, [rbp - 0x48]
call fcn.1400127b0
mov rdx, qword [r12 + 0x10]
test rdx, rdx
jne 0x140015c26
xor edi, edi
mov eax, edi
jmp 0x140015c3c
mov rax, r13
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140015c30
xor edi, edi
mov r8d, eax
lea rcx, [rbp - 0x48]
call fcn.1400127b0
mov rbx, qword [r12 + 0x10]
call fcn.140004ca0
mov rcx, rax
test rax, rax
je 0x140018400
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp - 0x50], rax
test rbx, rbx
je 0x140015c9c
cmp rbx, 0x10000
jae 0x140015c88
movzx edx, bx
lea rcx, [rbp - 0x50]
call fcn.140005670
jmp 0x140015cad
mov rax, r13
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140015c90
jmp 0x140015c9e
mov eax, edi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp - 0x50]
call fcn.14000ae30
lea r10, [rbp + 0x2a8]
mov r15, qword [rbp + 0x2a8]
mov r12, qword [rbp + 0x2c0]
cmp r12, 8
cmovae r10, r15
mov r14, qword [rbp + 0x2b8]
cmp r14, 0x14
jb 0x140015d6b
lea r11, [r14 - 0x13]
lea r11, [r10 + r11*2]
mov rbx, r10
lea rsi, str.__enable_new_upgrade
nop dword [rax]
mov rax, r11
sub rax, rbx
sar rax, 1
mov rcx, rdi
je 0x140015d1a
cmp word [rbx], 0x2d
je 0x140015d17
cmp rax, 1
je 0x140015d1a
dec rax
add rbx, 2
cmp word [rbx], 0x2d
jne 0x140015d04
mov rcx, rbx
mov rbx, rcx
test rcx, rcx
je 0x140015d6b
mov r8d, reloc.WS2_32.dll_sendto
mov rax, rsi
movzx ecx, word [rcx]
mov edx, Ordinal_46
cmp cx, dx
jb 0x140015d5d
mov r9, rbx
sub r9, rsi
cmp cx, dx
ja 0x140015d5d
cmp r8, 1
je 0x140015d63
dec r8
add rax, 2
movzx ecx, word [rax + r9]
movzx edx, word [rax]
cmp cx, dx
jae 0x140015d41
add rbx, 2
jmp 0x140015cf0
sub rbx, r10
sar rbx, 1
jmp 0x140015d6e
mov rbx, r13
lea rsi, [0x140284a60]
mov r8, rsi
lea rdx, str.CheckFilesIsOk
lea rcx, str.Start_CheckFiles
call fcn.140039ff0
xor edx, edx
lea rcx, [rbp - 0x48]
call fcn.14001de50
test al, al
je 0x1400160f8
mov rax, qword [rsp + 0x60]
mov rdi, qword [rax + 0x10]
call fcn.140004ca0
mov rcx, rax
test rax, rax
je 0x14001840b
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp - 0x58], rax
test rdi, rdi
je 0x140015df1
cmp rdi, 0x10000
jae 0x140015de2
movzx edx, di
lea rcx, [rbp - 0x58]
call fcn.140005670
jmp 0x140015e02
mov rax, r13
inc rax
cmp word [rdi + rax*2], 0
jne 0x140015de5
jmp 0x140015df3
xor eax, eax
mov r8d, eax
mov rdx, rdi
lea rcx, [rbp - 0x58]
call fcn.14000ae30
lea rcx, [rbp - 0x58]
call fcn.140038ab0
mov rdx, qword [rbp - 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140015e29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
lea r8, [0x140285908]
lea rdx, str.CheckFilesIsOk
lea rcx, [0x1402857b8]
call fcn.140039ff0
lea rdi, [rbp + 0x2a8]
cmp qword [rbp + 0x2c0], 8
cmovae rdi, qword [rbp + 0x2a8]
mov rax, qword [rbp + 0x2b8]
cmp rax, 0xb
jb 0x1400160db
add rax, 0xfffffffffffffff6
lea r14, [rdi + rax*2]
mov rax, rdi
lea r11, str._isrollback
xor r15d, r15d
mov rcx, r14
sub rcx, rax
sar rcx, 1
mov rdx, r15
je 0x140015eaa
cmp word [rax], 0x2d
je 0x140015ea7
cmp rcx, 1
je 0x140015eaa
dec rcx
add rax, 2
cmp word [rax], 0x2d
jne 0x140015e94
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x1400160db
mov r9d, listen
mov rcx, r11
movzx edx, word [rdx]
mov r8d, Ordinal_46
cmp dx, r8w
jb 0x140015ef6
mov r10, rax
sub r10, r11
cmp dx, r8w
ja 0x140015ef6
cmp r9, 1
je 0x140015efc
dec r9
add rcx, 2
movzx edx, word [r10 + rcx]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x140015ed8
add rax, 2
jmp 0x140015e80
sub rax, rdi
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x1400160db
mov r8, rsi
lea rdx, str.CheckFilesIsOk
lea rcx, str.WriteCheckRes_true
call fcn.140039ff0
mov qword [rbp + 0x428], r15
mov qword [rbp + 0x438], r15
mov qword [rbp + 0x440], 7
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.rollfail_flag
lea rcx, [rbp + 0x428]
call fcn.14000a430
xor r8d, r8d
lea rdx, [rbp + 0x428]
lea rcx, [0x140368030]
call fcn.140009c00
mov rdx, qword [rbp + 0x440]
cmp rdx, 8
jb 0x140015fb0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x428]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015fab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018416
call fcn.1402434a4
mov qword [rbp + 0x448], r15
mov qword [rbp + 0x458], r15
mov qword [rbp + 0x460], 7
mov r8d, 1
lea rdx, [0x14028596c]
lea rcx, [rbp + 0x448]
call fcn.14000a430
mov qword [rbp + 0x2c8], r15
mov qword [rbp + 0x2d8], r15
mov qword [rbp + 0x2e0], 7
mov r8d, reloc.WS2_32.dll_listen
lea rdx, [0x140285970]
lea rcx, [rbp + 0x2c8]
call fcn.14000a430
lea r8, [rbp + 0x448]
lea rdx, [rbp + 0x2c8]
lea rcx, [0x140368030]
call fcn.140009ee0
mov rdx, qword [rbp + 0x2e0]
cmp rdx, 8
jb 0x140016074
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x2c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001606f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001841c
call fcn.1402434a4
mov qword [rbp + 0x2d8], r15
mov qword [rbp + 0x2e0], 7
mov word [rbp + 0x2c8], r15w
mov rdx, qword [rbp + 0x460]
cmp rdx, 8
jb 0x1400160f1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x448]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400160cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001841c
call fcn.1402434a4
mov cl, 1
jmp 0x140016444
mov r8, rsi
lea rdx, str.CheckFilesIsOk
lea rcx, str.No_WriteCheckRes_true
call fcn.140039ff0
mov cl, 1
jmp 0x140016444
lea r8, str.failed
lea rdx, str.CheckFilesIsOk
lea rcx, [0x1402857b8]
call fcn.140039ff0
lea rdi, [rbp + 0x2a8]
cmp r12, 8
cmovae rdi, r15
cmp r14, 0xb
jb 0x14001642c
add r14, 0xfffffffffffffff6
lea r14, [rdi + r14*2]
mov rax, rdi
lea r11, str._isrollback
mov r15d, Ordinal_46
xor r12d, r12d
nop word [rax + rax]
mov rcx, r14
sub rcx, rax
sar rcx, 1
mov rdx, r12
je 0x14001617a
cmp word [rax], r15w
je 0x140016177
cmp rcx, 1
je 0x14001617a
dec rcx
add rax, 2
cmp word [rax], r15w
jne 0x140016164
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x14001642c
mov r9d, listen
mov rcx, r11
movzx edx, word [rdx]
mov r8d, r15d
cmp dx, r8w
jb 0x1400161c3
mov r10, rax
sub r10, r11
cmp dx, r8w
ja 0x1400161c3
cmp r9, 1
je 0x1400161c9
dec r9
add rcx, 2
movzx edx, word [r10 + rcx]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x1400161a5
add rax, 2
jmp 0x140016150
sub rax, rdi
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x14001642c
mov r8, rsi
lea rdx, str.CheckFilesIsOk
lea rcx, str.WriteCheckRes_false
call fcn.140039ff0
xor ecx, ecx
call fcn.140258e90
mov r8, rax
lea r9, [rbp + 0x6ba]
movabs r10, 0xcccccccccccccccd
test rax, rax
jns 0x140016250
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 0x140016212
add r9, 0xfffffffffffffffe
mov word [r9], r15w
jmp 0x140016280
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 0x140016250
mov qword [rbp + 0x3c8], r12
mov qword [rbp + 0x3d8], r12
mov qword [rbp + 0x3e0], 7
lea rax, [rbp + 0x6ba]
cmp r9, rax
je 0x1400162c1
lea r8, [rbp + 0x6ba]
sub r8, r9
sar r8, 1
mov rdx, r9
lea rcx, [rbp + 0x3c8]
call fcn.14000a430
mov qword [rbp + 0x468], r12
mov qword [rbp + 0x478], r12
mov qword [rbp + 0x480], 7
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.rollfail_flag
lea rcx, [rbp + 0x468]
call fcn.14000a430
mov r8d, 1
lea rdx, [rbp + 0x468]
lea rcx, [0x140368030]
call fcn.140009c00
mov rdx, qword [rbp + 0x480]
cmp rdx, 8
jb 0x140016352
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x468]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001634d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018422
call fcn.1402434a4
mov qword [rbp + 0x488], r12
mov qword [rbp + 0x498], r12
mov qword [rbp + 0x4a0], 7
mov r8d, reloc.WS2_32.dll_listen
lea rdx, [0x140285970]
lea rcx, [rbp + 0x488]
call fcn.14000a430
lea r8, [rbp + 0x3c8]
lea rdx, [rbp + 0x488]
lea rcx, [0x140368030]
call fcn.140009ee0
mov rdx, qword [rbp + 0x4a0]
cmp rdx, 8
jb 0x1400163e4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x488]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400163df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018428
call fcn.1402434a4
mov rdx, qword [rbp + 0x3e0]
cmp rdx, 8
jb 0x140016442
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3c8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016425
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001842e
call fcn.1402434a4
jmp 0x140016442
mov r8, rsi
lea rdx, str.CheckFilesIsOk
lea rcx, str.No_WriteCheckRes_false
call fcn.140039ff0
xor cl, cl
cmp rbx, 0xffffffffffffffff
je 0x140016453
lea rdx, [rbp - 0x50]
call fcn.140013a70
mov r8, rsi
lea rdx, str.check_dingding_packages
lea rcx, str._______quit_____
call fcn.140039ff0
mov rdx, qword [rbp - 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016487
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400164a5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
xor eax, eax
mov edi, eax
jmp 0x1400182ca
mov r10d, Ordinal_46
lea r11, [rbp + 0x2a8]
cmp r14, 8
cmovae r11, r15
cmp rsi, 0x14
jb 0x140016777
add rsi, 0xffffffffffffffed
lea rbx, [r11 + rsi*2]
mov rax, r11
lea rsi, str._check_self_packages
xor r15d, r15d
mov rcx, rbx
sub rcx, rax
sar rcx, 1
mov rdx, r15
je 0x14001650c
cmp word [rax], 0x2d
je 0x140016509
cmp rcx, 1
je 0x14001650c
dec rcx
add rax, 2
cmp word [rax], 0x2d
jne 0x1400164f6
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x14001677a
mov r9d, reloc.WS2_32.dll_sendto
mov rcx, rsi
movzx edx, word [rdx]
mov r8d, r10d
cmp dx, 0x2d
jb 0x14001655b
mov r10, rax
sub r10, rsi
cmp dx, r8w
ja 0x140016555
cmp r9, 1
je 0x140016561
dec r9
add rcx, 2
movzx edx, word [r10 + rcx]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x140016537
mov r10d, Ordinal_46
add rax, 2
jmp 0x1400164e2
sub rax, r11
sar rax, 1
jne 0x14001677a
lea rcx, [rbp + 0x120]
call fcn.140035410
mov r8, rdi
mov rdx, qword [rax]
lea rcx, [0x140285a58]
call fcn.140039ff0
mov rdx, qword [rbp + 0x120]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400165ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
lea rcx, [rsp + 0x70]
call fcn.140035410
lea rdx, str.main_
mov rax, r13
inc rax
cmp word [rdx + rax*2], r15w
jne 0x1400165c0
mov r8d, eax
lea rcx, [rsp + 0x70]
call fcn.1400127b0
lea rcx, [rbp + 0x28]
call fcn.1400376e0
mov rbx, qword [rax]
movsxd rcx, dword [rbx - 0x10]
mov r14, rbx
mov rax, qword [rsp + 0x70]
sub r14, rax
sar r14, 1
mov r12d, dword [rax - 0x10]
test ecx, ecx
js 0x140018434
test rbx, rbx
je 0x140016619
mov rdx, rcx
mov rcx, rbx
call fcn.14025660c
mov r15, rax
mov rax, qword [rsp + 0x70]
mov ecx, 0x7fffffff
sub ecx, r15d
cmp ecx, r12d
jl 0x140018434
lea esi, [r12 + r15]
test esi, esi
js 0x140018434
mov edi, 1
sub edi, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, esi
or edi, ecx
jge 0x140016658
mov edx, esi
lea rcx, [rsp + 0x70]
call fcn.140005980
mov rax, qword [rsp + 0x70]
cmp r14, r12
ja 0x140016661
lea rbx, [rax + r14*2]
lea rcx, [rax + r12*2]
movsxd r8, r15d
add r8, r8
je 0x14001669d
test rcx, rcx
je 0x140016688
test rbx, rbx
je 0x140016681
mov rdx, rbx
call fcn.140245860
jmp 0x140016698
xor edx, edx
call fcn.140245f10
call fcn.1402549dc
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.14024a82c
mov rax, qword [rsp + 0x70]
cmp esi, dword [rax - 0xc]
jg 0x140018434
mov dword [rax - 0x10], esi
movsxd rcx, esi
mov rax, qword [rsp + 0x70]
xor ebx, ebx
mov word [rax + rcx*2], bx
mov rdx, qword [rbp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400166d5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
lea rsi, [0x140284a60]
mov r8, rsi
lea rdx, str.CheckFilesIsOk
lea rcx, str.check_self_packages_start
call fcn.140039ff0
mov dl, 1
lea rcx, [rsp + 0x70]
call fcn.14001de50
lea r8, [0x140285908]
lea rcx, str.failed
test al, al
cmove r8, rcx
lea rdx, str.CheckFilesIsOk
lea rcx, [0x140285a58]
call fcn.140039ff0
mov r8, rsi
lea rdx, str.CheckFilesIsOk
lea rcx, str.check_self_packages_end
call fcn.140039ff0
mov r8, rsi
lea rdx, str.check_self_packages
lea rcx, str._______quit_____
call fcn.140039ff0
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016770
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov edi, ebx
jmp 0x1400182ca
xor r15d, r15d
call fcn.140015260
mov rcx, rax
call fcn.140022680
test eax, eax
je 0x140016877
cmp dword [rsp + 0x54], 4
jle 0x140016841
mov rdi, qword [r12 + 0x20]
call fcn.140004ca0
mov rcx, rax
test rax, rax
je 0x140018340
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp - 0x28], rax
lea r9, str.true
cmp r9, 0x10000
jae 0x1400167dd
movzx edx, r9w
lea rcx, [rbp - 0x28]
call fcn.140005670
jmp 0x1400167fb
mov rax, r13
inc rax
cmp word [r9 + rax*2], 0
jne 0x1400167e0
mov r8d, eax
mov rdx, r9
lea rcx, [rbp - 0x28]
call fcn.14000ae30
nop
test rdi, rdi
je 0x14001843f
mov rax, qword [rbp - 0x28]
mov rcx, rax
sub rdi, rax
nop
movzx ebx, word [rcx]
movzx edx, word [rcx + rdi]
sub ebx, edx
jne 0x140016823
add rcx, 2
test edx, edx
jne 0x140016810
lea rdx, [rax - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001683d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
test ebx, ebx
je 0x14001684e
call fcn.140015260
mov rcx, rax
call fcn.1400244b0
call fcn.1400128d0
lea r8, [0x140284a60]
lea rdx, str.IsAnotherInstanceRunning
lea rcx, str._______quit_____
call fcn.140039ff0
mov edi, 1
jmp 0x1400182ca
lea rcx, [rbp + 0x30]
call fcn.140035410
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400168a7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
lea rcx, [rbp + 0x38]
call fcn.140035410
mov r8, rdi
mov rdx, qword [rax]
lea rcx, [0x140285b60]
call fcn.140039ff0
mov rdx, qword [rbp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400168e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
lea rsi, [0x140284a60]
mov rdx, rsi
mov rcx, rdi
call fcn.140256824
test eax, eax
jne 0x14001718a
lea rcx, [rsp + 0x58]
call fcn.140035410
lea rcx, [rbp + 0x10]
call fcn.140034fe0
mov r8, rsi
lea rdx, [0x140284f78]
mov rcx, qword [rbp + 0x10]
call fcn.140039ff0
mov r8, rsi
lea rdx, [0x140285b90]
mov rcx, qword [rsp + 0x58]
call fcn.140039ff0
mov r8, rsi
lea rdx, str.Updater_Start:
lea rcx, str.Empty_cmdline
call fcn.140039ff0
mov r8d, 9
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x58]
call fcn.14000d8f0
mov edi, 1
lea rdx, str.updater_
mov rcx, qword [rax]
call fcn.140256824
test eax, eax
jne 0x1400169c0
lea rcx, [rbp + 0x50]
call fcn.140034df0
mov rbx, rax
lea r8, [0x140285bf8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x48]
call fcn.14000c810
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x40]
call fcn.14000c760
mov r14d, reloc.WS2_32.dll_ntohs
mov edi, r14d
mov rcx, qword [rax]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1400169c0
mov bl, 1
jmp 0x1400169cb
xor bl, bl
mov r14d, edi
test dil, 8
je 0x1400169ed
and r14d, 0xfffffff7
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400169ed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
test r14b, 4
je 0x140016a15
and r14d, 0xfffffffb
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016a15
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
test r14b, 2
je 0x140016a39
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016a39
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016a57
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
test bl, bl
je 0x140017119
mov rax, qword [rsp + 0x58]
mov r8d, dword [rax - 0x10]
sub r8d, 9
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x58]
call fcn.14000d7c0
mov edx, 0x5c
mov rbx, qword [rbp - 0x68]
mov rcx, rbx
call fcn.1402460a0
mov r14, rax
test rax, rax
jne 0x140016a98
mov r14d, r13d
jmp 0x140016b0c
sub r14, rbx
sar r14, 1
test r14d, r14d
js 0x140016b0c
mov r8d, dword [rbx - 0x10]
sub r8d, r14d
dec r8d
lea rdx, [rbp + 0x160]
lea rcx, [rbp - 0x68]
call fcn.14000d8f0
mov rcx, rax
call fcn.140034430
mov r8d, dword [rbx - 0x10]
sub r8d, r14d
dec r8d
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x68]
call fcn.14000d8f0
mov r8, rsi
lea rdx, str.CorrectDir
mov rcx, qword [rax]
call fcn.140039ff0
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016b0c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov r8, rsi
lea rdx, str.Updater:
lea rcx, str.Start_Copyfiles
call fcn.140039ff0
mov r8, rsi
lea rdx, str.Updater:
lea rcx, str.Before_killProcessByNameExceptMe
call fcn.140039ff0
lea rcx, str.DingTalkUpdater.exe
call fcn.14002e990
mov r8, rsi
lea rdx, str.Updater:
lea rcx, str.After_killProcessByNameExceptMe
call fcn.140039ff0
call fcn.140015260
mov rdi, rax
lea r8, str.......
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x70]
call fcn.14000c810
mov rbx, qword [rax]
mov rcx, qword [rsp + 0x58]
mov r8d, dword [rcx - 0x10]
dec r8d
lea rdx, [rbp + 0x68]
lea rcx, [rsp + 0x58]
call fcn.14000d7c0
xor r9d, r9d
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rdi
call fcn.14002a470
test eax, eax
sete bl
mov rdx, qword [rbp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016bc8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016be6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
test bl, bl
je 0x140016d9a
mov r8, rsi
lea rdx, str.Updater:
lea rcx, str.Start_Copyfiles_second
call fcn.140039ff0
mov rax, qword [rsp + 0x58]
mov r8d, dword [rax - 0x10]
dec r8d
lea rdx, [rbp + 0x90]
lea rcx, [rsp + 0x58]
call fcn.14000d7c0
mov rdx, rax
lea r8, [0x140285d70]
lea rcx, [rbp + 0x88]
call fcn.14000c810
mov rdx, rax
lea r8, [rsp + 0x58]
lea rcx, [rbp + 0x80]
call fcn.14000c760
mov rdx, rax
lea r8, str.......
lea rcx, [rbp + 0x78]
call fcn.14000c810
mov r8, rsi
lea rdx, str.copyFiles_again.
mov rcx, qword [rax]
call fcn.140039ff0
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016c8e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016caf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016cd0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016cf1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
call fcn.140015260
mov rdi, rax
lea r8, str.......
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0xa0]
call fcn.14000c810
mov rbx, qword [rax]
mov rcx, qword [rsp + 0x58]
mov r8d, dword [rcx - 0x10]
dec r8d
lea rdx, [rbp + 0x98]
lea rcx, [rsp + 0x58]
call fcn.14000d7c0
xor r9d, r9d
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rdi
call fcn.14002a470
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016d63
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016d84
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov r8, rsi
lea rdx, str.Updater:
lea rcx, str.End_Copyfiles_second
call fcn.140039ff0
mov rax, qword [rsp + 0x58]
mov r8d, dword [rax - 0x10]
dec r8d
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x58]
call fcn.14000d7c0
mov rdx, rax
lea r8, [0x140285d70]
lea rcx, [rbp + 0xb8]
call fcn.14000c810
mov rdx, rax
lea r8, [rsp + 0x58]
lea rcx, [rbp + 0xb0]
call fcn.14000c760
mov rdx, rax
lea r8, str.......
lea rcx, [rbp + 0xa8]
call fcn.14000c810
mov r8, rsi
lea rdx, str.copyFiles
mov rcx, qword [rax]
call fcn.140039ff0
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016e2a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016e4b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp + 0xb8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016e6c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp + 0xc0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016e8d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov r8, rsi
lea rdx, str.Updater:
lea rcx, str.End_Copyfiles
call fcn.140039ff0
mov r8d, r14d
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x68]
call fcn.14000d7c0
mov edx, 0x5c
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.1402460a0
test rax, rax
jne 0x140016ed0
mov eax, r13d
jmp 0x140016ed6
sub rax, rbx
sar rax, 1
lea r8d, [rax + 1]
lea rdx, [rbp + 0xc8]
lea rcx, [rsp + 0x60]
call fcn.14000d7c0
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x140016f44
cmp dword [rbx + 0x10], 0
jl 0x140016f36
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x140016f36
call fcn.14000d080
mov rdi, rax
mov ecx, r13d
lock xadd dword [rbx + 0x10], ecx
sub ecx, 1
jg 0x140016f2b
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rioctlsocket + 8]
lea rax, [rdi + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x140016f44
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x60]
call fcn.14000ae30
mov rdx, qword [rbp + 0xc8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140016f65
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
lea r8, str.DingtalkScheme.exe
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x150]
call fcn.14000c810
mov rcx, rax
call fcn.1400380e0
lea r8, str.DingtalkScheme.exe
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x158]
call fcn.14000c810
mov rcx, rax
call fcn.140037d50
mov r8, rsi
lea rdx, str.Updater:
lea rcx, str.Start_CopyAndRegisterShellExtension
call fcn.140039ff0
call fcn.14001eb20
mov r8, rsi
lea rdx, str.Updater:
lea rcx, str.End_CopyAndRegisterShellExtension
call fcn.140039ff0
lea r8, str.DingtalkScheme.exe
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0xd0]
call fcn.14000c810
mov r8, rsi
lea rdx, str.RegisterWebStartScheme
mov rcx, qword [rax]
call fcn.140039ff0
mov rdx, qword [rbp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140017021
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov r8, rsi
lea rdx, str.Updater_end_
lea rcx, str.___________11___________
call fcn.140039ff0
call fcn.140015260
mov rbx, rax
lea r8, str.......DingTalkUpdater.exe
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0xd8]
call fcn.14000c810
lea r8, str.66FC3B8D_4FEE_4914_85D4_837DC44F26FF
mov rdx, qword [rax]
mov rcx, rbx
call fcn.140024bf0
mov rdx, qword [rbp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001708a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
call fcn.1400128d0
lea r8, str.......DingTalkUpdater.exe
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0xe0]
call fcn.14000c810
mov r8, rsi
lea rdx, str.RunMainUpdater_REMOVE_LOCALUPDATER_PARAM
mov rcx, qword [rax]
call fcn.140039ff0
mov rdx, qword [rbp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400170da
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400170f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp - 0x68]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140017141
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
jmp 0x140017141
mov r8, rsi
lea rdx, str.Updater_end_
lea rcx, str.___________1___________
call fcn.140039ff0
call fcn.140015260
mov rcx, rax
call fcn.140025770
call fcn.1400128d0
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001715f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400174c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov edi, r15d
jmp 0x1400182ca
cmp dword [rsp + 0x54], 4
jge 0x1400174c8
mov qword [rbp + 0x388], r15
mov qword [rbp + 0x398], r15
mov qword [rbp + 0x3a0], 7
mov r8, r13
inc r8
cmp word [rdi + r8*2], 0
jne 0x1400171b1
mov rdx, rdi
lea rcx, [rbp + 0x388]
call fcn.14000a430
lea r9, [rbp + 0x388]
mov r10, qword [rbp + 0x388]
mov r11, qword [rbp + 0x3a0]
cmp r11, 8
cmovae r9, r10
cmp qword [rbp + 0x398], 0x26
jne 0x140017237
mov edx, Ordinal_41
lea rcx, str.66FC3B8D_4FEE_4914_85D4_837DC44F26FF
movzx eax, word [r9]
mov r8d, Ordinal_127
cmp ax, r8w
jb 0x140017237
sub r9, rcx
cmp ax, r8w
ja 0x140017237
cmp rdx, 1
je 0x140017494
dec rdx
add rcx, 2
movzx eax, word [rcx + r9]
movzx r8d, word [rcx]
cmp ax, r8w
jae 0x140017215
xor bl, bl
cmp r11, 8
jb 0x140017274
lea rdx, [r11*2 + 2]
mov rax, r10
cmp rdx, 0x1000
jb 0x14001726c
add rdx, 0x27
mov r10, qword [r10 - 8]
sub rax, r10
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001833a
mov rcx, r10
call fcn.1402434a4
mov r8, rsi
test bl, bl
je 0x14001749b
lea rdx, str.REMOVE_LOCALUPDATER_PARAM
mov rcx, rsi
call fcn.140039ff0
lea rcx, str.DingTalkUpdater.exe
call fcn.14002e990
lea rcx, [rsp + 0x78]
call fcn.140035410
mov r8, rsi
lea rdx, str.localUpdaterPath
mov rcx, qword [rsp + 0x78]
call fcn.140039ff0
lea rdx, str.main_
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400172c2
mov r8d, eax
lea rcx, [rsp + 0x78]
call fcn.1400127b0
lea rcx, [rbp - 0x18]
call fcn.1400376e0
mov rdx, qword [rax]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x78]
call fcn.1400127b0
mov rdx, qword [rbp - 0x18]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140017311
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
lea rdx, str.updater
mov rax, r13
nop dword [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140017320
mov r8d, eax
lea rcx, [rsp + 0x78]
call fcn.1400127b0
mov rcx, qword [rsp + 0x78]
call fcn.14001fb50
mov r8, rsi
lea rdx, str.EmptyDirectory_localUpdaterPath_
mov rcx, qword [rsp + 0x78]
call fcn.140039ff0
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov r8, rsi
lea rdx, str.RemoveDirectory_localUpdaterPath_
mov rcx, qword [rsp + 0x78]
call fcn.140039ff0
lea rcx, [rbp - 0x78]
call fcn.140035410
lea rdx, str.DingDingUpdater.exe
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140017390
mov r8d, eax
lea rcx, [rbp - 0x78]
call fcn.1400127b0
mov rcx, qword [rbp - 0x78]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r8, rsi
lea rdx, str.DeleteFile_oldUpdaterExe_
mov rcx, qword [rbp - 0x78]
call fcn.140039ff0
lea rcx, [rbp - 0x40]
call fcn.140035410
lea rdx, str.elevate.exe
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400173d6
mov r8d, eax
lea rcx, [rbp - 0x40]
call fcn.1400127b0
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r8, rsi
lea rdx, str.DeleteFile_oldElevateExe_
mov rcx, qword [rbp - 0x40]
call fcn.140039ff0
mov r8, rsi
lea rdx, str.Updater_end_
lea rcx, str.___________21___________
call fcn.140039ff0
call fcn.140015260
mov rcx, rax
call fcn.140024a50
call fcn.1400128d0
mov rdx, qword [rbp - 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001744f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp - 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001746d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400174c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov edi, r15d
jmp 0x1400182ca
mov bl, 1
jmp 0x140017239
lea rdx, str.Updater_end_
lea rcx, str.___________2___________
call fcn.140039ff0
call fcn.140015260
mov rcx, rax
call fcn.140025770
call fcn.1400128d0
mov edi, r15d
jmp 0x1400182ca
mov r15, qword [r12]
mov qword [rbp - 0x10], r15
mov r8, qword [r12 + 8]
mov qword [rbp - 0x38], r8
mov rax, qword [r12 + 0x10]
mov qword [rbp + 0x110], rax
mov r14, qword [r12 + 0x18]
call fcn.140004ca0
mov rcx, rax
test rax, rax
je 0x14001844a
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp - 0x20], rax
mov r8d, dword [rsp + 0x54]
cmp r8d, 4
jle 0x140017544
mov rdx, qword [r12 + 0x20]
test rdx, rdx
jne 0x140017522
xor eax, eax
jmp 0x14001752f
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x140017525
mov r8d, eax
lea rcx, [rbp - 0x20]
call fcn.14000ae30
mov r8d, dword [rsp + 0x54]
mov rax, qword [rbp - 0x20]
xor ebx, ebx
mov edx, ebx
lea r9, str.true
nop
movzx r12d, word [rax + rdx*2]
inc rdx
movzx ecx, word [r9 + rdx*2 - 2]
sub r12d, ecx
jne 0x140017569
cmp rdx, 5
jne 0x140017550
test r12d, r12d
sete byte [rsp + 0x68]
mov byte [rsp + 0x50], 0
xor r13b, r13b
mov edi, 1
test r12d, r12d
jne 0x140017894
cmp r8d, 5
jle 0x140017894
call fcn.140004ca0
mov rcx, rax
test rax, rax
je 0x140018455
mov rax, qword [rax]
call qword [rax + Ordinal_26]
add rax, 0x18
mov qword [rbp - 0x60], rax
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax + 0x28]
test rdx, rdx
jne 0x1400175c2
mov eax, ebx
jmp 0x1400175da
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400175d0
mov r8d, eax
lea rcx, [rbp - 0x60]
call fcn.14000ae30
lea rcx, [rbp + 0xf0]
call fcn.140037530
nop
mov rdx, qword [rax]
test rdx, rdx
je 0x140018460
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 0x140017623
add rax, 2
test ecx, ecx
jne 0x140017610
mov rdx, qword [rbp + 0xf0]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140017646
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
test ebx, ebx
jne 0x1400176f3
call fcn.140004ca0
mov rcx, rax
test rax, rax
je 0x14001846b
mov rax, qword [rax]
call qword [rax + Ordinal_26]
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.140012910
mov r8, rsi
lea rdx, str.Auto_abort_update_process
mov rbx, qword [rbp + 0x18]
mov rcx, rbx
call fcn.140039ff0
mov r8, rsi
lea rdx, str.Updater_end_
lea rcx, str.___________3___________
call fcn.140039ff0
lea rdx, [rbx - 0x18]
mov rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400176cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400182a1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
jmp 0x1400182a1
cmp dword [rsp + 0x54], 7
jle 0x1400177c1
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax + 0x38]
lea rcx, [rbp + 0xf8]
call fcn.140011f50
nop
mov rax, qword [rbp + 0xf8]
lea r10, str.check_last
mov r9, 0xffffffffffffffff
mov rdx, r9
nop dword [rax]
movzx r8d, word [rax + rdx*2 + 2]
movzx ecx, word [r10 + rdx*2 + 2]
sub r8d, ecx
jne 0x14001775a
add rdx, 2
cmp rdx, 0xb
je 0x14001775a
movzx r8d, word [rax + rdx*2]
movzx ecx, word [r10 + rdx*2]
sub r8d, ecx
je 0x140017730
test r8d, r8d
sete bl
mov byte [rsp + 0x50], bl
mov rdx, r9
lea r10, str.incre_update
nop
movzx r8d, word [rax + rdx*2 + 2]
movzx ecx, word [r10 + rdx*2 + 2]
sub r8d, ecx
jne 0x14001779a
add rdx, 2
cmp rdx, 0xd
je 0x14001779a
movzx r8d, word [rax + rdx*2]
movzx ecx, word [r10 + rdx*2]
sub r8d, ecx
je 0x140017770
test r8d, r8d
sete r13b
lea rdx, [rax - 0x18]
mov eax, r9d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400177c3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov byte [rsp + 0x50], bl
jmp 0x1400177c3
xor bl, bl
cmp dword [rsp + 0x54], 8
jle 0x14001784f
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax + 0x40]
lea rcx, [rbp + 0x100]
call fcn.140011f50
nop
mov rax, qword [rbp + 0x100]
mov r9, 0xffffffffffffffff
mov rdx, r9
lea r10, str.incre_update
nop dword [rax]
movzx r8d, word [rax + rdx*2 + 2]
movzx ecx, word [r10 + rdx*2 + 2]
sub r8d, ecx
jne 0x14001782a
add rdx, 2
cmp rdx, 0xd
je 0x14001782a
movzx r8d, word [rax + rdx*2]
movzx ecx, word [r10 + rdx*2]
sub r8d, ecx
je 0x140017800
movzx r13d, r13b
test r8d, r8d
cmove r13d, edi
lea rdx, [rax - 0x18]
mov eax, r9d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001784f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
lea rdx, str.Updater_going:
lea rcx, str.___________3___________
test bl, bl
lea r8, str.need_block
jne 0x14001786f
lea r8, str.disalbe_block
call fcn.140039ff0
mov rdx, qword [rbp - 0x60]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140017894
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
xor eax, eax
mov qword [rbp + 0x368], rax
mov qword [rbp + 0x378], rax
mov qword [rbp + 0x380], 7
mov r8, 0xffffffffffffffff
inc r8
cmp word [r14 + r8*2], ax
jne 0x1400178b6
mov rdx, r14
lea rcx, [rbp + 0x368]
call fcn.14000a430
lea r9, [rbp + 0x368]
mov r11, qword [rbp + 0x368]
mov r10, qword [rbp + 0x380]
cmp r10, 8
cmovae r9, r11
cmp qword [rbp + 0x378], 1
jne 0x140017934
mov r8, rdi
lea rax, [0x14028536c]
movzx ecx, word [r9]
mov edx, 0x31
cmp cx, dx
jb 0x140017934
sub r9, rax
cmp cx, dx
ja 0x140017934
cmp r8, 1
je 0x1400179cd
dec r8
add rax, 2
movzx ecx, word [r9 + rax]
movzx edx, word [rax]
cmp cx, dx
jae 0x140017914
xor bl, bl
cmp r10, 8
jb 0x14001794f
lea r8, [r10 + 1]
mov rdx, r11
lea rcx, [rbp + 0x368]
call fcn.140015220
test bl, bl
je 0x140017962
call fcn.140015260
mov dl, 1
mov rcx, rax
call fcn.140025ec0
mov rdx, r15
lea rcx, [rbp + 0x20]
call fcn.140011f50
lea rcx, [rbp + 0x20]
call fcn.140037c40
test al, al
sete bl
mov rdx, qword [rbp + 0x20]
add rdx, 0xffffffffffffffe8
mov r14, 0xffffffffffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400179a1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
test bl, bl
je 0x1400179d4
mov r8, rsi
lea rdx, str.Updater_end_
lea rcx, str.___________4___________
call fcn.140039ff0
call fcn.140015260
mov rcx, rax
call fcn.140025770
jmp 0x14001829c
mov bl, 1
jmp 0x140017936
mov rcx, qword [rbp - 0x18]
call fcn.140075cc0
lea rcx, [rbp + 0x600]
call fcn.1400706d0
lea r8, str.updaterres
lea rdx, [rbp + 0x570]
mov rcx, rax
call fcn.14006b7c0
mov rcx, rax
call fcn.14006b7b0
mov rcx, rax
call fcn.140075f00
lea rcx, [rbp + 0x570]
call fcn.140003ea0
lea rcx, [rbp + 0x600]
call fcn.140003ea0
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
js 0x1400182a1
cmp dword [rsp + 0x54], 6
jle 0x140017b0b
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax + 0x30]
test rdx, rdx
jne 0x140017a54
xor eax, eax
jmp 0x140017a6a
mov rax, r14
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140017a60
mov r8d, eax
lea rcx, [rbp - 0x80]
call fcn.14000ae30
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax - 0x18]
test rcx, rcx
je 0x140017a8e
mov rax, qword [rcx]
call qword [rax + 0x20]
test rax, rax
jne 0x140017a9c
call fcn.140004ca0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov r8, rax
lea rdx, [0x140286420]
lea rcx, [rbp + 0x108]
call fcn.140011de0
nop
mov rax, qword [rbp + 0x108]
test rax, rax
je 0x140018476
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 0x140017ae4
add rcx, 2
test edx, edx
jne 0x140017ad0
lea rdx, [rax - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140017afe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
test ebx, ebx
je 0x140017b0b
lea rcx, [rbp - 0x80]
call fcn.140018590
mov ecx, 0x5e0
call fcn.140242f80
mov r15, rax
test rax, rax
je 0x14001826a
mov rcx, rax
call fcn.140077190
lea rax, vtable.CFrameWindowWnd.0
mov qword [r15], rax
lea rax, vtable.CFrameWindowWnd.1.0
mov qword [r15 + 0x28], rax
mov rcx, qword [rbp - 0x80]
add rcx, 0xffffffffffffffe8
call fcn.14000d080
add rax, 0x18
mov qword [r15 + 0x38], rax
lea rcx, [r15 + 0x40]
xor r14d, r14d
mov qword [rcx], r14
mov qword [rcx + 0x10], r14
mov qword [rcx + 0x18], 7
lea r8d, [r14 + 0x2a]
lea rdx, str.http:__www.dingtalk.com__gotoDownloadtrue
call fcn.14000a430
lea rcx, [r15 + 0x68]
call fcn.14006dc40
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r14
lea r8, [rbp - 8]
mov edx, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x60]
call fcn.140012ad0
mov r8d, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x60]
lea rcx, [rbp + 0x550]
call fcn.140012eb0
cmp byte [rsp + 0x52], r14b
je 0x140017bca
call fcn.140015260
mov rcx, rax
call fcn.14001fd20
call fcn.140066c20
mov rcx, rax
call fcn.140066d00
cmp byte [rsp + 0x51], r14b
je 0x140017beb
call fcn.1400699d0
mov rcx, rax
call fcn.140069a60
mov r8, rsi
lea rdx, str.create_window:
lea rcx, str.start
call fcn.140039ff0
mov qword [rbp + 0x3a8], r14
mov qword [rbp + 0x3b8], r14
mov r14d, reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x3c0], r14
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x140017c4f
mov rdx, rax
lea rcx, [rbp + 0x530]
call fcn.140039a30
mov rdx, rax
lea rcx, [rbp + 0x3a8]
call fcn.140012320
lea rcx, [rbp + 0x530]
call fcn.140004000
call fcn.140066c20
mov rbx, rax
mov dword [rbp - 0x30], 0
lea r8, [rsp + 0x52]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x1a8]
call fcn.140011fe0
xor eax, eax
mov qword [rbp + 0x4f0], rax
movdqa xmm0, xmmword [0x1402865c0]
movdqa xmmword [rbp + 0x500], xmm0
lea r8d, [rax + 3]
lea rdx, [0x1402864c4]
lea rcx, [rbp + 0x4f0]
call fcn.1400079c0
lea rdx, [rbp + 0x3a8]
lea rcx, [rbp + 0x510]
call fcn.140003520
lea rax, [rbp + 0x4f0]
mov qword [rbp + 0x130], rax
lea rax, [rbp + 0x530]
mov qword [rbp + 0x138], rax
lea rdx, [rbp + 0x130]
lea rcx, [rbp + 0x168]
call fcn.140012060
xor eax, eax
mov qword [rbp + 0x308], rax
mov qword [rbp + 0x318], rax
mov qword [rbp + 0x320], r14
lea r8d, [rax + 5]
lea rdx, str.enter
lea rcx, [rbp + 0x308]
call fcn.1400079c0
xor eax, eax
mov qword [rbp + 0x2e8], rax
mov qword [rbp + 0x2f8], rax
mov qword [rbp + 0x300], r14
mov r8, r14
lea rdx, str.windows_updater
lea rcx, [rbp + 0x2e8]
call fcn.1400079c0
lea rax, [rbp + 0x1a8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x168]
lea r8, [rbp + 0x308]
lea rdx, [rbp + 0x2e8]
mov rcx, rbx
call fcn.140067c20
mov rdx, qword [rbp + 0x300]
cmp rdx, 0x10
jb 0x140017daa
inc rdx
mov rcx, qword [rbp + 0x2e8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017da5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018481
call fcn.1402434a4
xor ebx, ebx
mov qword [rbp + 0x2f8], rbx
mov qword [rbp + 0x300], r14
mov byte [rbp + 0x2e8], bl
mov rdx, qword [rbp + 0x320]
cmp rdx, 0x10
jb 0x140017e01
inc rdx
mov rcx, qword [rbp + 0x308]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017dfc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018481
call fcn.1402434a4
mov qword [rbp + 0x318], rbx
mov qword [rbp + 0x320], r14
mov byte [rbp + 0x308], bl
lea rcx, [rbp + 0x168]
call fcn.1400120e0
lea r9, [fcn.140012250]
mov r8, rdi
mov edx, 0x40
lea rcx, [rbp + 0x4f0]
call fcn.140243680
lea rcx, [rbp + 0x1a8]
call fcn.1400120e0
lea r8, [0x140368388]
cmp qword [reloc.WS2_32.dll_getsockopt], 8
cmovae r8, qword [0x140368388]
mov qword [rsp + 0x48], rbx
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, r15
call fcn.140077400
mov rax, qword [r15]
mov rcx, r15
call qword [rax]
mov r8b, 1
xor edx, edx
mov rcx, r15
call fcn.140077730
cmp byte [rsp + 0x53], bl
je 0x140017ec4
call fcn.140015260
mov rcx, rax
call fcn.140021220
call fcn.140015260
lea rcx, [rbp - 8]
mov qword [rsp + 0x40], rcx
mov byte [rsp + 0x38], r13b
movzx ecx, byte [rsp + 0x50]
mov byte [rsp + 0x30], cl
movzx ebx, byte [rsp + 0x68]
mov byte [rsp + 0x28], bl
mov qword [rsp + 0x20], r15
mov r9, qword [rbp + 0x110]
mov r8, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x10]
mov rcx, rax
call fcn.14002e2d0
mov r8, rsi
lea rdx, str.create_window:
lea rcx, [0x1402864e0]
call fcn.140039ff0
call fcn.140015260
movzx edx, bl
mov rcx, rax
call fcn.140022690
test al, al
je 0x140017f52
call fcn.1400128d0
mov r8, rsi
lea rdx, str.Updater
lea rcx, str.Quit_with_IsDiskFull
call fcn.140039ff0
xor r15d, r15d
jmp 0x1400181ca
test r12d, r12d
setne dl
mov r8b, 1
mov rcx, r15
call fcn.140077730
lea rax, [r15 + 0x60]
mov qword [rsp + 0x28], rax
xor r15d, r15d
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x1400152a0]
xor edx, edx
xor ecx, ecx
call fcn.140258db0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.140073f30
call qword [sym.imp.ole32.dll_CoUninitialize]
call fcn.140066c20
mov rbx, rax
mov dword [rbp - 0x70], r15d
lea r8, [rsp + 0x53]
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x228]
call fcn.140011fe0
mov qword [rbp + 0x4b0], r15
movdqa xmm0, xmmword [0x1402865c0]
movdqa xmmword [rbp + 0x4c0], xmm0
lea r8d, [r15 + 3]
lea rdx, [0x1402864c4]
lea rcx, [rbp + 0x4b0]
call fcn.1400079c0
lea rdx, [rbp + 0x3a8]
lea rcx, [rbp + 0x4d0]
call fcn.140003520
lea rax, [rbp + 0x4b0]
mov qword [rbp + 0x140], rax
lea rax, [rbp + 0x4f0]
mov qword [rbp + 0x148], rax
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x1e8]
call fcn.140012060
mov qword [rbp + 0x348], r15
mov qword [rbp + 0x358], r15
mov qword [rbp + 0x360], r14
lea r8d, [r15 + 4]
lea rdx, str.exit
lea rcx, [rbp + 0x348]
call fcn.1400079c0
mov qword [rbp + 0x328], r15
mov qword [rbp + 0x338], r15
mov qword [rbp + 0x340], r14
mov r8, r14
lea rdx, str.windows_updater
lea rcx, [rbp + 0x328]
call fcn.1400079c0
lea rax, [rbp + 0x228]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x1e8]
lea r8, [rbp + 0x348]
lea rdx, [rbp + 0x328]
mov rcx, rbx
call fcn.140067c20
mov rdx, qword [rbp + 0x340]
cmp rdx, 0x10
jb 0x1400180ed
inc rdx
mov rcx, qword [rbp + 0x328]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400180e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018487
call fcn.1402434a4
mov qword [rbp + 0x338], r15
mov qword [rbp + 0x340], r14
mov byte [rbp + 0x328], r15b
mov rdx, qword [rbp + 0x360]
cmp rdx, 0x10
jb 0x140018143
inc rdx
mov rcx, qword [rbp + 0x348]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001813e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018487
call fcn.1402434a4
mov qword [rbp + 0x358], r15
mov qword [rbp + 0x360], r14
mov byte [rbp + 0x348], r15b
lea rcx, [rbp + 0x1e8]
call fcn.1400120e0
lea r9, [fcn.140012250]
mov r8, rdi
mov edx, 0x40
lea rcx, [rbp + 0x4b0]
call fcn.140243680
lea rcx, [rbp + 0x228]
call fcn.1400120e0
call fcn.140066c20
mov rcx, rax
call fcn.140066b10
mov r8, rsi
lea rdx, str.Updater_end_
lea rcx, str.___________6___________
call fcn.140039ff0
call fcn.1400128d0
cmp byte [rsp + 0x51], r15b
je 0x1400181c7
call fcn.1400699d0
mov rcx, rax
call fcn.14006a970
mov edi, r15d
mov rdx, qword [rbp + 0x3c0]
cmp rdx, 0x10
jb 0x14001820b
inc rdx
mov rcx, qword [rbp + 0x3a8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018206
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001833a
call fcn.1402434a4
lea rcx, [rbp + 0x550]
call fcn.140009770
mov rbx, qword [rbp - 8]
test rbx, rbx
je 0x1400182a5
mov rsi, qword [rbp]
cmp rbx, rsi
je 0x140018245
nop dword [rax]
mov rcx, rbx
call fcn.140009770
add rbx, 0x20
cmp rbx, rsi
jne 0x140018230
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.1400151d0
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov qword [rbp + 8], r15
jmp 0x1400182a5
call qword [sym.imp.ole32.dll_CoUninitialize]
mov r8, rsi
lea rdx, str.create_window_failed
lea rcx, str.error
call fcn.140039ff0
mov r8, rsi
lea rdx, str.Updater_end_
lea rcx, str.___________5___________
call fcn.140039ff0
call fcn.1400128d0
xor eax, eax
mov edi, eax
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
mov r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400182ca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rdx, qword [rbp - 0x80]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r13d
sub r13d, 1
jg 0x1400182e7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov r15, qword [rbp + 0x2a8]
mov r14, qword [rbp + 0x2c0]
cmp r14, 8
jb 0x14001830e
lea r8, [r14 + 1]
mov rdx, r15
lea rcx, [rbp + 0x2a8]
call fcn.140015220
mov eax, edi
mov rcx, qword [rbp + 0x6c0]
xor rcx, rsp
call fcn.1402435c0
mov rbx, qword [rsp + 0x818]
add rsp, 0x7d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14024a84c
int3
mov ecx, 0x80004005
call fcn.140004b20
int3
lea rcx, [0x140372918]
call fcn.140243394
cmp dword [0x140372918], r13d
jne 0x1400154b9
mov r8d, reloc.COMCTL32.dll_InitCommonControls
lea rdx, str.__client_version
lea rcx, [0x1403682a0]
call fcn.14000a430
lea rcx, [0x1402806b0]
call fcn.1402431f4
lea rcx, [0x140372918]
call fcn.140243334
jmp 0x1400154b9
lea rcx, [0x14037291c]
call fcn.140243394
cmp dword [0x14037291c], r13d
jne 0x1400154c8
mov r8d, 6
lea rdx, str.__uid
lea rcx, [0x1403682c0]
call fcn.14000a430
lea rcx, [0x140280730]
call fcn.1402431f4
lea rcx, [0x14037291c]
call fcn.140243334
jmp 0x1400154c8
call fcn.14024a84c
int3
call fcn.14024a84c
nop
mov ecx, 0x80004005
call fcn.140004b20
nop
mov ecx, 0x80004005
call fcn.140004b20
int3
mov ecx, 0x80004005
call fcn.140004b20
int3
call fcn.14024a84c
int3
call fcn.14024a84c
int3
call fcn.14024a84c
int3
call fcn.14024a84c
int3
call fcn.14024a84c
int3
mov ecx, 0x80070057
call fcn.140004b20
nop
mov ecx, 0x80004005
call fcn.140004b20
nop
mov ecx, 0x80004005
call fcn.140004b20
nop
mov ecx, 0x80004005
call fcn.140004b20
nop
mov ecx, 0x80004005
call fcn.140004b20
nop
mov ecx, 0x80004005
call fcn.140004b20
nop
mov ecx, 0x80004005
call fcn.140004b20
nop
call fcn.14024a84c
int3
call fcn.14024a84c
int3