Function at 0x180023c90
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x120]
sub rsp, 0x220
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x270], rbx
mov rax, qword [0x1800e92b0]
xor rax, rsp
mov qword [rbp + 0x110], rax
mov rdi, rdx
mov qword [rsp + 0x28], rdx
mov rbx, rcx
mov qword [rsp + 0x30], rcx
lea r8, [0x1800b2ff0]
lea rdx, [rbp + 0xf0]
mov rcx, rdi
call fcn.180015ed0
nop
lea rdx, [rbp + 0xf0]
mov rcx, rbx
call fcn.1800246c0
cmp byte [0x1800ec95c], 0
je 0x18002443a
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
xor r12d, r12d
mov esi, r12d
mov qword [rbp - 8], r12
movdqu xmmword [rbp + 0x28], xmm0
mov r13d, r12d
mov qword [rbp + 0x38], r12
mov rax, qword [rdi]
mov qword [rbp], rax
xor r8d, r8d
lea rdx, str.url_list
lea rcx, [rbp]
call fcn.180015dd0
test al, al
je 0x1800243c1
mov r15d, r12d
mov rax, qword [rbp]
mov qword [rbp - 0x20], rax
xor r8d, r8d
lea rdx, [0x1800d01ec]
lea rcx, [rbp - 0x20]
call fcn.180015dd0
mov rbx, qword [rbp - 0x10]
mov r14, qword [rbp - 0x18]
test al, al
je 0x180023fb8
movabs r13, 0x7ffffffffffffff
nop dword [rax + rax]
lea rdx, [rbp + 0x90]
lea rcx, [rbp - 0x20]
call fcn.180015e60
mov rdi, rax
cmp rax, rbx
jae 0x180023e25
cmp r14, rax
ja 0x180023e25
sub rdi, r14
cmp rbx, rsi
jne 0x180023e1c
mov rax, rsi
sub rax, rbx
sar rax, 5
cmp rax, 1
jae 0x180023e1c
sub rbx, r14
sar rbx, 5
mov rax, r13
sub rax, rbx
cmp rax, 1
jb 0x180023f7d
lea rdx, [rbx + 1]
sub rsi, r14
sar rsi, 5
mov rax, rsi
shr rax, 1
mov rcx, r13
sub rcx, rax
add rax, rsi
mov r8, r12
cmp rcx, rsi
cmovae r8, rax
cmp r8, rdx
cmovae rdx, r8
lea rcx, [rbp - 0x18]
call fcn.18000b870
mov rsi, qword [rbp - 8]
mov rbx, qword [rbp - 0x10]
mov r14, qword [rbp - 0x18]
and rdi, 0xffffffffffffffe0
add rdi, r14
jmp 0x180023e91
cmp rbx, rsi
jne 0x180023e91
mov rax, rsi
sub rax, rbx
sar rax, 5
cmp rax, 1
jae 0x180023e91
sub rbx, r14
sar rbx, 5
mov rax, r13
sub rax, rbx
cmp rax, 1
jb 0x180023f8a
lea rdx, [rbx + 1]
sub rsi, r14
sar rsi, 5
mov rax, rsi
shr rax, 1
mov rcx, r13
sub rcx, rax
add rax, rsi
mov r8, r12
cmp rcx, rsi
cmovae r8, rax
cmp r8, rdx
cmovae rdx, r8
lea rcx, [rbp - 0x18]
call fcn.18000b870
mov rsi, qword [rbp - 8]
mov rbx, qword [rbp - 0x10]
mov r14, qword [rbp - 0x18]
test rbx, rbx
je 0x180023ebf
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbx + 0x10], r12
cmp qword [rbx + 0x18], 0x10
jb 0x180023eae
mov rax, qword [rbx]
jmp 0x180023eb1
mov rax, rbx
mov byte [rax], 0
mov rdx, rdi
mov rcx, rbx
call fcn.180006200
add rbx, 0x20
mov qword [rbp - 0x10], rbx
mov rax, qword [rbp + 0xa8]
cmp rax, 0x10
jb 0x180023f1b
inc rax
mov rcx, qword [rbp + 0x90]
cmp rax, 0x1000
jb 0x180023f16
test cl, 0x1f
jne 0x180023fa9
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x180023fa3
sub rcx, rax
cmp rcx, 8
jb 0x180023f9d
cmp rcx, 0x27
ja 0x180023f97
mov rcx, rax
call fcn.180060d7c
lea r8, [0x1800d01fc]
lea rdx, [rbp + 0x90]
lea rcx, [rbp - 0x20]
call fcn.180015ed0
nop
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.18000afa0
nop
lea rcx, [rbp + 0x90]
call fcn.180006510
nop
lea rcx, [rbp - 0x20]
call fcn.180002860
inc r15d
mov rax, qword [rbp]
mov qword [rbp - 0x20], rax
mov r8d, r15d
lea rdx, [0x1800d01ec]
lea rcx, [rbp - 0x20]
call fcn.180015dd0
test al, al
je 0x180023faf
jmp 0x180023d90
lea rcx, str.vector_T__too_long
call fcn.180025308
int3
lea rcx, str.vector_T__too_long
call fcn.180025308
nop
call fcn.180083e00
int3
call fcn.180083e00
int3
call fcn.180083e00
int3
call fcn.180083e00
int3
mov r13, qword [rbp + 0x38]
mov rdi, qword [rsp + 0x28]
lea rcx, [rbp - 0x20]
call fcn.180002860
mov r12, rbx
sub r12, r14
sar r12, 5
test r12d, r12d
je 0x1800243c9
mov qword [rbp + 0xa8], reloc.WS2_32.dll_ntohs
xor r15d, r15d
mov qword [rbp + 0xa0], r15
mov byte [rbp + 0x90], r15b
mov qword [rbp + 0xe8], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xe0], r15
mov byte [rbp + 0xd0], r15b
mov qword [rbp + 0xc8], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0xc0], r15
mov byte [rbp + 0xb0], r15b
mov rax, qword [rdi]
mov qword [rbp + 0x48], rax
xor r8d, r8d
lea rdx, str.local_filename
lea rcx, [rbp + 0x48]
call fcn.180015dd0
test al, al
je 0x180024088
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x48]
call fcn.180015e60
nop
cmp qword [rax + 0x18], 0x10
jb 0x180024058
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.180001b60
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.180002740
lea rcx, [rsp + 0x38]
call fcn.180006510
nop
lea rcx, [rbp + 8]
call fcn.180006510
cmp qword [rbp + 0xc0], 0
jne 0x1800240b8
mov rdx, r14
lea rcx, [rsp + 0x38]
call fcn.1800015d0
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.180002740
lea rcx, [rsp + 0x38]
call fcn.180006510
mov rax, qword [rdi]
mov qword [rbp + 0x40], rax
xor r8d, r8d
lea rdx, str.local_path
lea rcx, [rbp + 0x40]
call fcn.180015dd0
test al, al
je 0x1800241e6
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x40]
call fcn.180015e60
nop
cmp qword [rax + 0x18], 0x10
jb 0x1800240f2
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.180001b60
nop
cmp qword [rax + 0x18], 0x10
jb 0x180024109
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.180002030
nop
lea rcx, [rbp - 0x80]
call fcn.180006510
nop
lea rcx, [rbp - 0x60]
call fcn.180006510
mov qword [rbp + 0x68], 7
mov qword [rbp + 0x60], r15
mov word [rbp + 0x50], r15w
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 8]
lea rcx, [rbp + 0x50]
call fcn.180005ae0
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x38]
call fcn.180013e50
nop
cmp qword [rax + 0x18], 8
jb 0x180024167
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.180001e70
nop
lea r8, [0x1800ce634]
mov rdx, rax
lea rcx, [rbp - 0x40]
call fcn.180003730
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.180002740
lea rcx, [rbp - 0x40]
call fcn.180006510
nop
lea rcx, [rsp + 0x60]
call fcn.180006510
nop
mov r8, qword [rsp + 0x50]
cmp r8, 8
jb 0x1800241ca
inc r8
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x38]
call fcn.1800060c0
nop
mov r8, qword [rbp + 0x20]
cmp r8, 8
jb 0x180024209
inc r8
mov rdx, qword [rbp + 8]
lea rcx, [rbp + 8]
call fcn.1800060c0
jmp 0x180024209
lea rcx, [rsp + 0x60]
call fcn.180024ac0
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.180002740
lea rcx, [rsp + 0x60]
call fcn.180006510
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x70]
call fcn.180022910
nop
mov byte [rsp + 0x20], 0
lea rcx, [rbp + 0x70]
cmp qword [rbp + 0x88], 0x10
cmovae rcx, qword [rbp + 0x70]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
mov r15, qword [rbp + 0x28]
test eax, eax
je 0x1800242b0
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 8]
call fcn.18000d9a0
nop
xor edi, edi
test r12d, r12d
jle 0x180024292
nop word [rax + rax]
lea rdx, [rbp + 8]
cmp qword [rbp + 0x20], 0x10
cmovae rdx, qword [rbp + 8]
movsxd rcx, edi
shl rcx, 5
add rcx, r15
call fcn.1800021c0
test rax, rax
jne 0x18002428b
inc edi
cmp edi, r12d
jl 0x180024260
jmp 0x180024292
mov byte [rsp + 0x20], 1
jmp 0x18002429c
lea rcx, [rbp + 0x70]
call fcn.180001700
nop
lea rcx, [rbp + 8]
call fcn.180006510
cmp byte [rsp + 0x20], 0
jne 0x180024358
call qword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
div r12d
movsxd rdi, edx
shl rdi, 5
lea rdx, [rdi + r14]
mov qword [rbp + 0x20], reloc.WS2_32.dll_ntohs
xor r12d, r12d
mov qword [rbp + 0x18], r12
mov byte [rbp + 8], r12b
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp + 8]
call fcn.180006670
nop
lea rdx, [rdi + r15]
mov qword [rbp + 0x68], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x60], r12
mov byte [rbp + 0x50], r12b
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rcx, [rbp + 0x50]
call fcn.180006670
nop
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 8]
call fcn.180015b00
cmp qword [rbp + 0x60], r12
je 0x180024334
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x70]
call fcn.18000dc10
movzx edi, al
jmp 0x180024337
mov dil, 1
lea rcx, [rbp + 0x50]
call fcn.180006510
nop
lea rcx, [rbp + 8]
call fcn.180006510
test dil, dil
jne 0x180024358
mov byte [0x1800ec95c], dil
jmp 0x18002437b
mov rcx, qword [rsp + 0x30]
add rcx, 0x60
lea rax, [rbp + 0x70]
cmp rcx, rax
je 0x18002437b
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp + 0x70]
call fcn.180006670
nop
lea rcx, [rbp + 0x70]
call fcn.180006510
nop
lea rcx, [rbp + 0x40]
call fcn.180002860
nop
lea rcx, [rbp + 0x48]
call fcn.180002860
nop
lea rcx, [rbp + 0xb0]
call fcn.180006510
nop
lea rcx, [rbp + 0xd0]
call fcn.180006510
nop
lea rcx, [rbp + 0x90]
call fcn.180006510
jmp 0x1800243cd
mov rbx, qword [rbp - 0x10]
mov r14, qword [rbp - 0x18]
mov r15, qword [rbp + 0x28]
lea rcx, [rbp]
call fcn.180002860
nop
test r15, r15
je 0x180024409
movzx r9d, byte [rsp + 0x20]
lea r8, [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
mov rcx, r15
call fcn.18000c910
sub r13, r15
sar r13, 5
mov r8, r13
mov rdx, r15
lea rcx, [rbp + 0x28]
call fcn.18000b5a0
nop
test r14, r14
je 0x18002443a
movzx r9d, byte [rsp + 0x20]
lea r8, [rbp - 0x18]
mov rdx, rbx
mov rcx, r14
call fcn.18000c910
sub rsi, r14
sar rsi, 5
mov r8, rsi
mov rdx, r14
lea rcx, [rbp - 0x18]
call fcn.18000b5a0
nop
lea rcx, [rbp + 0xf0]
call fcn.180006510
mov rcx, qword [rbp + 0x110]
xor rcx, rsp
call fcn.1800612f0
mov rbx, qword [rsp + 0x270]
add rsp, 0x220
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret