Function at 0x1400259c0
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x10d0]
mov eax, 0x11d0
call fcn.14017fcc0
sub rsp, rax
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x1208], rbx
mov rax, qword [0x140232230]
xor rax, rsp
mov qword [rbp + 0x10c0], rax
mov r14, rcx
cmp edx, 0x404
jg 0x1400261ca
je 0x14002615f
dec edx
je 0x140025b38
dec edx
je 0x140025b2b
cmp edx, 0x3fb
jne 0x140026287
xor edi, edi
mov word [rbp + 0xeb0], di
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0xeb2]
call fcn.140171ae0
xor edx, edx
mov r8d, 0x90
lea rcx, [rsp + 0x48]
call fcn.140171ae0
mov dword [rsp + 0x40], ILFree
mov qword [rsp + 0x48], r14
lea rax, str.PeerBlock_Lists__.p2p__.p2b__.txt_
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0xeb0]
mov qword [rsp + 0x70], rax
mov ebx, 0x104
mov dword [rsp + 0x78], ebx
mov dword [rbp - 0x60], 0x1800
lea rcx, [rsp + 0x40]
call qword [sym.imp.COMDLG32.dll_GetOpenFileNameW]
test eax, eax
je 0x140026287
lea rcx, [rbp + 0x250]
lea rdx, [rbp + 0xeb0]
lea rax, [rbp + 0x250]
sub rdx, rax
nop
lea rax, [rbx + 0x7ffffefa]
test rax, rax
je 0x140025ae3
movzx eax, word [rcx + rdx]
test ax, ax
je 0x140025ae3
mov word [rcx], ax
add rcx, 2
dec rbx
jne 0x140025ac0
jmp 0x140025ae8
test rbx, rbx
jne 0x140025aec
sub rcx, 2
mov word [rcx], di
lea rcx, [rbp + 0xa90]
call fcn.140007df0
mov rdx, rax
lea r8, [rbp + 0x250]
lea rcx, [rbp + 0x880]
call fcn.140008260
lea r8, [rbp + 0x880]
mov edx, 0x405
mov rcx, r14
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x140026287
xor edx, edx
call qword [sym.imp.USER32.dll_EndDialog]
jmp 0x140026287
mov edx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetWindowLongPtrW]
mov r15, rax
mov edx, 0x404
mov rcx, r14
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov rdx, r14
cmp eax, 1
jne 0x140025e94
mov r8d, 0x405
lea rcx, [rbp + 0x230]
call fcn.140007ab0
nop
cmp qword [rax + 0x18], 8
jb 0x140025b7d
mov rax, qword [rax]
mov r8, rax
mov edx, 0x208
lea rcx, [rbp + 0xeb0]
call fcn.140007f00
nop
cmp qword [rbp + 0x248], 8
jb 0x140025ba8
mov rcx, qword [rbp + 0x230]
call fcn.1401669a0
mov qword [rbp + 0x248], 7
xor edi, edi
mov qword [rbp + 0x240], rdi
mov word [rbp + 0x230], di
lea rcx, [rbp + 0xeb0]
call qword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
lea esi, [rdi + 4]
cmp eax, 1
je 0x140025c83
lea r9, [rbp + 0x460]
lea r10, [rbp + 0xeb0]
lea rcx, [rbp + 0x460]
lea rdx, [rbp + 0xeb0]
mov rax, rdx
or rax, rcx
and eax, 0xf
jne 0x140025c69
mov eax, esi
nop word [rax + rax]
movaps xmm0, xmmword [rdx]
movaps xmmword [rcx], xmm0
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rcx + 0x10], xmm1
movaps xmm0, xmmword [rdx + 0x20]
movaps xmmword [rcx + 0x20], xmm0
movaps xmm1, xmmword [rdx + 0x30]
movaps xmmword [rcx + 0x30], xmm1
movaps xmm0, xmmword [rdx + 0x40]
movaps xmmword [rcx + 0x40], xmm0
movaps xmm1, xmmword [rdx + 0x50]
movaps xmmword [rcx + 0x50], xmm1
movaps xmm0, xmmword [rdx + 0x60]
movaps xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movaps xmm1, xmmword [rdx + 0x70]
movaps xmmword [rcx - 0x10], xmm1
lea rdx, [rdx + 0x80]
dec rax
jne 0x140025c10
mov rax, qword [rdx]
mov qword [rcx], rax
jmp 0x140025c7a
mov r8d, 0x208
mov rdx, r10
mov rcx, r9
call fcn.1401669c0
lea rax, [rbp + 0x460]
jmp 0x140025ca2
lea rcx, [rbp - 0x20]
call fcn.140007df0
mov rcx, rax
lea r8, [rbp + 0xeb0]
lea rdx, [rbp + 0xca0]
call fcn.140007bf0
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
je 0x140025ccc
mov edx, 0xe4
mov r9d, reloc.WS2_32.dll_recv
lea r8d, [rdx + 1]
mov rcx, r14
call fcn.1400681f0
jmp 0x140026287
mov dword [rsp + 0x20], edi
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, qword [r15]
call fcn.140169244
test rax, rax
je 0x1400260cc
lea rbx, [rax + 0x30]
lea rdx, [rbp + 0xeb0]
mov rcx, rbx
call fcn.1401676e0
test eax, eax
je 0x140025da7
lea rdx, [rbp + 0xeb0]
lea rcx, [rbp + 0xeb0]
mov rax, rcx
or rax, rbx
and eax, 0xf
jne 0x140025d8c
nop word [rax + rax]
movaps xmm0, xmmword [rcx]
movaps xmmword [rbx], xmm0
movaps xmm1, xmmword [rcx + 0x10]
movaps xmmword [rbx + 0x10], xmm1
movaps xmm0, xmmword [rcx + 0x20]
movaps xmmword [rbx + 0x20], xmm0
movaps xmm1, xmmword [rcx + 0x30]
movaps xmmword [rbx + 0x30], xmm1
movaps xmm0, xmmword [rcx + 0x40]
movaps xmmword [rbx + 0x40], xmm0
movaps xmm1, xmmword [rcx + 0x50]
movaps xmmword [rbx + 0x50], xmm1
movaps xmm0, xmmword [rcx + 0x60]
movaps xmmword [rbx + 0x60], xmm0
lea rbx, [rbx + 0x80]
movaps xmm1, xmmword [rcx + 0x70]
movaps xmmword [rbx - 0x10], xmm1
lea rcx, [rcx + 0x80]
dec rsi
jne 0x140025d30
mov rax, qword [rcx]
mov qword [rbx], rax
jmp 0x140025e87
mov r8d, 0x208
mov rcx, rbx
call fcn.1401669c0
or qword [0x14023a170], 1
jmp 0x1400260cc
mov rcx, qword [r15]
test rcx, rcx
je 0x140025db9
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov ecx, 0x238
call fcn.140166ea4
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140025dfb
lea rcx, vtable.List.0
mov qword [rax], rcx
mov qword [rax + 0x20], 7
mov qword [rax + 0x18], rdi
mov word [rax + 8], di
mov byte [rax + 0x2c], 1
lea rcx, vtable.StaticList.0
mov qword [rax], rcx
mov word [rax + 0x30], di
jmp 0x140025dfe
mov rax, rdi
mov qword [r15], rax
lea rcx, [rax + 0x30]
lea r9, [rbp + 0xeb0]
lea rdx, [rbp + 0xeb0]
mov rax, rdx
or rax, rcx
and eax, 0xf
jne 0x140025e79
nop
movaps xmm0, xmmword [rdx]
movaps xmmword [rcx], xmm0
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rcx + 0x10], xmm1
movaps xmm0, xmmword [rdx + 0x20]
movaps xmmword [rcx + 0x20], xmm0
movaps xmm1, xmmword [rdx + 0x30]
movaps xmmword [rcx + 0x30], xmm1
movaps xmm0, xmmword [rdx + 0x40]
movaps xmmword [rcx + 0x40], xmm0
movaps xmm1, xmmword [rdx + 0x50]
movaps xmmword [rcx + 0x50], xmm1
movaps xmm0, xmmword [rdx + 0x60]
movaps xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movaps xmm1, xmmword [rdx + 0x70]
movaps xmmword [rcx - 0x10], xmm1
lea rdx, [rdx + 0x80]
dec rsi
jne 0x140025e20
mov rax, qword [rdx]
mov qword [rcx], rax
jmp 0x140025e87
mov r8d, 0x208
mov rdx, r9
call fcn.1401669c0
or qword [0x14023a170], 1
jmp 0x1400260cc
mov r8d, 0x408
lea rcx, [rbp + 0x1f0]
call fcn.140007ab0
nop
lea r8, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 8
cmovae r8, qword [rbp + 0x1f0]
mov edx, 0x208
lea rcx, [rbp + 0x670]
call fcn.140007f00
lea rcx, [rbp + 0x670]
call qword [sym.imp.SHLWAPI.dll_PathIsURLW]
cmp eax, 1
je 0x140025f2f
mov edx, 0xab
mov r9d, reloc.WS2_32.dll_recv
lea r8d, [rdx - 1]
mov rcx, r14
call fcn.1400681f0
nop
cmp qword [rbp + 0x208], 8
jb 0x140025f0f
mov rcx, qword [rbp + 0x1f0]
call fcn.1401669a0
mov qword [rbp + 0x208], 7
xor edi, edi
mov qword [rbp + 0x200], rdi
mov word [rbp + 0x1f0], di
jmp 0x140026287
xor edi, edi
mov dword [rsp + 0x20], edi
lea r9, vtable.type_info.0
lea r8, vtable.type_info.0
xor edx, edx
mov rcx, qword [r15]
call fcn.140169244
test rax, rax
je 0x140026000
lea r10, [rax + 0x30]
lea rcx, [rbp + 0x1f0]
cmp qword [rbp + 0x208], 8
cmovae rcx, qword [rbp + 0x1f0]
mov r11, qword [r10 + 0x10]
cmp qword [r10 + 0x18], 8
jb 0x140025f81
mov rdx, qword [r10]
jmp 0x140025f84
mov rdx, r10
mov rsi, qword [rbp + 0x200]
mov r8, rsi
cmp r11, rsi
cmovb r8, r11
or r9, 0xffffffffffffffff
test r8, r8
jmp 0x140025fc3
movzx eax, word [rcx]
cmp word [rdx], ax
jne 0x140025fb5
add rdx, 2
add rcx, 2
dec r8
jmp 0x140025fc3
mov ebx, 1
cmp word [rdx], ax
cmovb ebx, r9d
jmp 0x140025fc7
jne 0x140025fa0
mov ebx, edi
movsxd rax, ebx
test ebx, ebx
jne 0x140025fe0
cmp r11, rsi
jae 0x140025fd8
mov eax, r9d
jmp 0x140025fe0
mov eax, edi
cmp r11, rsi
setne al
test eax, eax
je 0x14002609d
lea rax, [rbp + 0x1f0]
cmp r10, rax
je 0x140026095
mov rcx, r10
jmp 0x140026086
mov rcx, qword [r15]
test rcx, rcx
je 0x140026012
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov ecx, 0x68
call fcn.140166ea4
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14002606c
lea rcx, vtable.List.0
mov qword [rax], rcx
mov qword [rax + 0x20], 7
mov qword [rax + 0x18], rdi
mov word [rax + 8], di
mov byte [rax + 0x2c], 1
lea rcx, vtable.DynamicList.0
mov qword [rax], rcx
mov qword [rax + 0x48], 7
mov qword [rax + 0x40], rdi
mov word [rax + 0x30], di
mov qword [rax + 0x50], rdi
mov qword [rax + 0x58], rdi
mov byte [rax + 0x60], 0
jmp 0x14002606f
mov rax, rdi
mov qword [r15], rax
lea rcx, [rax + 0x30]
lea rax, [rbp + 0x1f0]
cmp rcx, rax
je 0x140026095
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x1f0]
call fcn.14000e0c0
or qword [0x14023a170], 1
cmp qword [rbp + 0x208], 8
jb 0x1400260b3
mov rcx, qword [rbp + 0x1f0]
call fcn.1401669a0
mov qword [rbp + 0x208], 7
mov qword [rbp + 0x200], rdi
mov word [rbp + 0x1f0], di
mov edx, 0x40a
mov rcx, r14
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
mov ecx, edi
cmp eax, 1
setne cl
mov rax, qword [r15]
cmp dword [rax + 0x28], ecx
je 0x1400260f5
mov dword [rax + 0x28], ecx
or qword [0x14023a170], 1
mov r8d, 0x40c
mov rdx, r14
lea rcx, [rbp + 0x210]
call fcn.140007ab0
nop
mov rcx, qword [r15]
add rcx, 8
mov rdx, rax
call fcn.140003e40
nop
cmp qword [rbp + 0x228], 8
jb 0x140026131
mov rcx, qword [rbp + 0x210]
call fcn.1401669a0
mov qword [rbp + 0x228], 7
mov qword [rbp + 0x220], rdi
mov word [rbp + 0x210], di
mov rdx, qword [0x14023a170]
mov rcx, r14
call qword [sym.imp.USER32.dll_EndDialog]
jmp 0x140026287
mov edx, 0x408
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x405
mov rcx, r14
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov ebx, 1
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x3fd
mov rcx, r14
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x405
mov rcx, r14
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov edx, ebx
jmp 0x14002626b
sub edx, 0x405
je 0x140026248
sub edx, 2
je 0x1400261e0
dec edx
je 0x140026248
jmp 0x140026287
mov edx, 0x405
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x3fd
mov rcx, r14
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x408
mov rcx, r14
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
mov ebx, 1
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0x408
mov rcx, r14
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov edx, ebx
jmp 0x14002626b
cmp r9d, 0x400
je 0x14002625d
cmp r9d, 6
je 0x14002625d
cmp r9d, 1
jne 0x140026287
mov rcx, r8
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov edx, 1
xor edi, edi
test eax, eax
setg dil
mov rcx, r14
call qword [sym.imp.USER32.dll_GetDlgItem]
mov edx, edi
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableWindow]
mov rcx, qword [rbp + 0x10c0]
xor rcx, rsp
call fcn.140166980
mov rbx, qword [rsp + 0x1208]
add rsp, 0x11d0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret