Function at 0x180006ed0
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 0x1800071f6
cmp word [rdx], ax
je 0x1800071f6
test r8, r8
je 0x1800071f6
cmp word [r8], ax
je 0x1800071f6
lea rcx, [rsp + 0x88]
call fcn.180003460
nop
mov r8d, 7
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x88]
call fcn.180007ba0
nop
mov esi, 1
mov dword [rsp + 0x78], esi
lea rdx, str.http:__
mov rcx, qword [rax]
call fcn.18000af00
test eax, eax
je 0x180006f9c
lea r8d, [rsi + 5]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x88]
call fcn.180007ba0
nop
mov esi, 3
mov dword [rsp + 0x78], esi
lea rdx, str.ftp:__
mov rcx, qword [rax]
call fcn.18000af00
test eax, eax
je 0x180006f9c
mov r12b, 1
jmp 0x180006f9f
xor r12b, r12b
or ebx, 0xffffffff
test sil, 2
je 0x180006fd8
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 0x180006fd4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov esi, dword [rsp + 0x78]
jmp 0x180006fd8
mov esi, dword [rsp + 0x78]
test sil, 1
je 0x180006ffd
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x180006ffd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r12b, r12b
je 0x180007039
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x180007039
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18000702f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800071fb
movzx eax, word [rdi]
cmp ax, 0x5c
jne 0x1800070c8
cmp word [rdi + 2], ax
jne 0x1800070c8
cmp word [rdi + 4], ax
je 0x1800070c8
mov rdx, rdi
mov rcx, rbp
call fcn.18000ad84
test rax, rax
je 0x180007099
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x180007099
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180007092
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800071fb
mov dword [r13], 1
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x1800070c1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800071fb
cmp ax, 0x41
jb 0x1800071cf
mov ecx, 0x5a
cmp cx, ax
jae 0x1800070e6
cmp ax, 0x61
jb 0x1800071cf
mov ecx, 0x7a
cmp cx, ax
jb 0x1800071cf
cmp word [rdi + 2], 0x3a
je 0x180007125
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18000711b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800071fb
movzx eax, word [rdi + 4]
cmp ax, 0x5c
je 0x18000715f
cmp ax, 0x2f
je 0x18000715f
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x180007155
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800071fb
mov rdx, rdi
mov rcx, rbp
call fcn.18000ad84
test rax, rax
je 0x1800071a3
mov rdx, rdi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1800071a3
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x18000719f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800071fb
mov dword [r13], 1
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x1800071cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor eax, eax
jmp 0x1800071fb
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x1800071ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, 0x80070057
jmp 0x1800071fb
mov eax, 0x80070057
mov rbx, qword [rsp + 0x70]
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret