Function at 0x14001f7d0
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x28
lea rcx, [rbp + 0x50]
call fcn.140031f00
nop
lea rdx, str.main_
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp word [rdx + rax*2], 0
jne 0x14001f803
mov r8d, eax
lea rcx, [rbp + 0x50]
call fcn.14000cce0
lea rcx, [rbp + 0x58]
call fcn.140034020
nop
mov rsi, qword [rax]
movsxd rcx, dword [rsi - 0x10]
mov r15, rsi
mov rax, qword [rbp + 0x50]
sub r15, rax
sar r15, 1
mov r12d, dword [rax - 0x10]
test ecx, ecx
js 0x14001fac5
xor edx, edx
test rsi, rsi
jne 0x14001f84f
mov r14d, edx
jmp 0x14001f861
mov rdx, rcx
mov rcx, rsi
call fcn.140253bac
mov r14, rax
mov rax, qword [rbp + 0x50]
mov r13d, 0x7fffffff
mov ecx, r13d
sub ecx, r14d
cmp ecx, r12d
jl 0x14001fac5
lea edi, [r12 + r14]
test edi, edi
js 0x14001fac5
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or ecx, edx
jge 0x14001f8a2
mov edx, edi
lea rcx, [rbp + 0x50]
call fcn.140005960
mov rax, qword [rbp + 0x50]
cmp r15, r12
ja 0x14001f8ab
lea rsi, [rax + r15*2]
lea rcx, [rax + r12*2]
movsxd r8, r14d
add r8, r8
je 0x14001f8e6
test rcx, rcx
je 0x14001f8d2
test rsi, rsi
je 0x14001f8cb
mov rdx, rsi
call fcn.1402430d0
jmp 0x14001f8e2
xor edx, edx
call fcn.140243780
call fcn.14025224c
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.14024809c
mov rax, qword [rbp + 0x50]
cmp edi, dword [rax - 0xc]
jg 0x14001fac5
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rbp + 0x50]
xor edi, edi
mov word [rax + rcx*2], di
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001f91c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
lea rdx, [0x140285d80]
mov rax, rbx
inc rax
cmp word [rdx + rax*2], 0
jne 0x14001f926
mov r8d, eax
lea rcx, [rbp + 0x50]
call fcn.14000cce0
lea rcx, [rbp + 0x60]
call fcn.1400318e0
nop
mov rsi, qword [rax]
movsxd rcx, dword [rsi - 0x10]
mov r12, rsi
mov rax, qword [rbp + 0x50]
sub r12, rax
sar r12, 1
mov r15d, dword [rax - 0x10]
test ecx, ecx
js 0x14001faba
test rsi, rsi
jne 0x14001f970
mov r14d, edi
jmp 0x14001f982
mov rdx, rcx
mov rcx, rsi
call fcn.140253bac
mov r14, rax
mov rax, qword [rbp + 0x50]
sub r13d, r14d
cmp r13d, r15d
jl 0x14001faba
lea edi, [r15 + r14]
test edi, edi
js 0x14001faba
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, edi
or ecx, edx
jge 0x14001f9ba
mov edx, edi
lea rcx, [rbp + 0x50]
call fcn.140005960
mov rax, qword [rbp + 0x50]
cmp r12, r15
ja 0x14001f9c3
lea rsi, [rax + r12*2]
lea rcx, [rax + r15*2]
movsxd r8, r14d
add r8, r8
je 0x14001f9fe
test rcx, rcx
je 0x14001f9ea
test rsi, rsi
je 0x14001f9e3
mov rdx, rsi
call fcn.1402430d0
jmp 0x14001f9fa
xor edx, edx
call fcn.140243780
call fcn.14025224c
mov dword [rax], reloc.WS2_32.dll_shutdown
call fcn.14024809c
mov rax, qword [rbp + 0x50]
cmp edi, dword [rax - 0xc]
jg 0x14001faba
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rbp + 0x50]
xor edx, edx
mov word [rax + rcx*2], dx
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14001fa34
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea r8, [0x140281a50]
lea rdx, str.Updater:
test eax, eax
je 0x14001fa6e
lea rcx, str.RunNewMainReportIncUpdateResult_...
call fcn.140036e10
lea rdx, str.__typereport_update_result
mov rcx, qword [rbp + 0x50]
call fcn.140025d00
jmp 0x14001fa8e
lea rcx, str.new_main_not_exist_...
call fcn.140036e10
call fcn.140034f60
mov edx, 0x20
mov rcx, qword [rbp + 0x48]
call fcn.140020de0
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x14001faa9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80070057
call fcn.140004b00
nop
mov ecx, 0x80070057
call fcn.140004b00
int3