Function at 0x180006dc0
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 0x1800070e6
cmp word [rdx], ax
je 0x1800070e6
test r8, r8
je 0x1800070e6
cmp word [r8], ax
je 0x1800070e6
lea rcx, [rsp + 0x88]
call fcn.180003460
nop
mov r8d, 7
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x88]
call fcn.180007a90
nop
mov esi, 1
mov dword [rsp + 0x78], esi
lea rdx, str.http:__
mov rcx, qword [rax]
call fcn.18000ab3c
test eax, eax
je 0x180006e8c
lea r8d, [rsi + 5]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x88]
call fcn.180007a90
nop
mov esi, 3
mov dword [rsp + 0x78], esi
lea rdx, str.ftp:__
mov rcx, qword [rax]
call fcn.18000ab3c
test eax, eax
je 0x180006e8c
mov r12b, 1
jmp 0x180006e8f
xor r12b, r12b
or ebx, 0xffffffff
test sil, 2
je 0x180006ec8
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 0x180006ec4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov esi, dword [rsp + 0x78]
jmp 0x180006ec8
mov esi, dword [rsp + 0x78]
test sil, 1
je 0x180006eed
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006eed
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r12b, r12b
je 0x180006f29
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x180006f29
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180006f1f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800070eb
movzx eax, word [rdi]
cmp ax, 0x5c
jne 0x180006fb8
cmp word [rdi + 2], ax
jne 0x180006fb8
cmp word [rdi + 4], ax
je 0x180006fb8
mov rdx, rdi
mov rcx, rbp
call fcn.18000a9c0
test rax, rax
je 0x180006f89
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x180006f89
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180006f82
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800070eb
mov dword [r13], 1
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180006fb1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800070eb
cmp ax, 0x41
jb 0x1800070bf
mov ecx, 0x5a
cmp cx, ax
jae 0x180006fd6
cmp ax, 0x61
jb 0x1800070bf
mov ecx, 0x7a
cmp cx, ax
jb 0x1800070bf
cmp word [rdi + 2], 0x3a
je 0x180007015
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18000700b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800070eb
movzx eax, word [rdi + 4]
cmp ax, 0x5c
je 0x18000704f
cmp ax, 0x2f
je 0x18000704f
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180007045
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800070eb
mov rdx, rdi
mov rcx, rbp
call fcn.18000a9c0
test rax, rax
je 0x180007093
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x180007093
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18000708f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800070eb
mov dword [r13], 1
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x1800070bb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800070eb
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x1800070df
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800070eb
mov eax, 0x80070057
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret