Function at 0x180006da0
Capabilities:
Check if file exists

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x70], rbx
mov r13, r9
mov rdi, r8
mov rbp, rdx
xor eax, eax
mov dword [rsp + 0x78], eax
mov dword [r9], eax
test rdx, rdx
je 0x1800070c6
cmp word [rdx], ax
je 0x1800070c6
test r8, r8
je 0x1800070c6
cmp word [r8], ax
je 0x1800070c6
lea rcx, [rsp + 0x88]
call fcn.180003440
nop
mov r8d, 7
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x88]
call fcn.180007a70
nop
mov esi, 1
mov dword [rsp + 0x78], esi
lea rdx, str.http:__
mov rcx, qword [rax]
call fcn.18000ab1c
test eax, eax
je 0x180006e6c
lea r8d, [rsi + 5]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x88]
call fcn.180007a70
nop
mov esi, 3
mov dword [rsp + 0x78], esi
lea rdx, str.ftp:__
mov rcx, qword [rax]
call fcn.18000ab1c
test eax, eax
je 0x180006e6c
mov r12b, 1
jmp 0x180006e6f
xor r12b, r12b
or ebx, 0xffffffff
test sil, 2
je 0x180006ea8
and esi, 0xfffffffd
mov dword [rsp + 0x78], esi
mov rdx, qword [rsp + 0x20]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006ea4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov esi, dword [rsp + 0x78]
jmp 0x180006ea8
mov esi, dword [rsp + 0x78]
test sil, 1
je 0x180006ecd
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006ecd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r12b, r12b
je 0x180006f09
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x180006f09
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180006eff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800070cb
movzx eax, word [rdi]
cmp ax, 0x5c
jne 0x180006f98
cmp word [rdi + 2], ax
jne 0x180006f98
cmp word [rdi + 4], ax
je 0x180006f98
mov rdx, rdi
mov rcx, rbp
call fcn.18000a9a0
test rax, rax
je 0x180006f69
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x180006f69
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180006f62
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800070cb
mov dword [r13], 1
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180006f91
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800070cb
cmp ax, 0x41
jb 0x18000709f
mov ecx, 0x5a
cmp cx, ax
jae 0x180006fb6
cmp ax, 0x61
jb 0x18000709f
mov ecx, 0x7a
cmp cx, ax
jb 0x18000709f
cmp word [rdi + 2], 0x3a
je 0x180006ff5
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180006feb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800070cb
movzx eax, word [rdi + 4]
cmp ax, 0x5c
je 0x18000702f
cmp ax, 0x2f
je 0x18000702f
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180007025
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800070cb
mov rdx, rdi
mov rcx, rbp
call fcn.18000a9a0
test rax, rax
je 0x180007073
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x180007073
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18000706f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800070cb
mov dword [r13], 1
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18000709b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800070cb
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x1800070bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800070cb
mov eax, 0x80070057
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret