Function at 0x140001410
Capabilities:
Check if file exists
Delete file

Disassembly:
jmp 0x14000f7b0
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x358
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov rax, qword [0x1400573f0]
xor rax, rsp
mov qword [rsp + 0x340], rax
mov r12, r9
mov rbp, r8
mov qword [rsp + 0x68], r8
mov r13, rdx
mov r14, rcx
xor bl, bl
mov qword [rsp + 0xf8], 0xf
xor edi, edi
mov qword [rsp + 0xf0], rdi
mov byte [rsp + 0xe0], bl
mov qword [rsp + 0xd0], 0xf
mov qword [rsp + 0xc8], rdi
mov byte [rsp + 0xb8], dil
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0xd8]
call fcn.140001136
test al, al
je 0x1400100ef
lea rdx, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 0x10
cmovae rdx, qword [rsp + 0xb8]
lea rcx, str.Installing_from_section__s._n
call fcn.140011420
lea rcx, [rsp + 0x100]
call fcn.140001541
nop
lea rdx, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 0x10
cmovae rdx, qword [rsp + 0xb8]
lea r8, [rsp + 0x100]
mov rcx, r14
call fcn.1400012ee
test al, al
je 0x1400100cb
mov rcx, r13
call fcn.1400010dc
movzx r15d, al
test al, al
je 0x14000f8da
mov rdx, r13
lea rcx, str.WARNING:_PrinterDriver__s_is_already_installed._n
call fcn.140011420
jmp 0x14000ff52
mov rcx, r14
call fcn.1400014c9
lea rdx, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 0x10
cmovae rdx, qword [rsp + 0xb8]
mov rcx, r14
call fcn.14000157d
test al, al
je 0x1400100e0
lea rdx, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 0x10
cmovae rdx, qword [rsp + 0xb8]
mov rcx, r14
call fcn.140001311
lea r8, [rsp + 0x1d0]
cmp qword [rsp + 0x1e8], 0x10
cmovae r8, qword [rsp + 0x1d0]
lea rdx, [rsp + 0x1a8]
cmp qword [rsp + 0x1c0], 0x10
cmovae rdx, qword [rsp + 0x1a8]
mov rcx, r14
call fcn.140001118
lea r8, [rsp + 0x220]
cmp qword [rsp + 0x238], 0x10
cmovae r8, qword [rsp + 0x220]
lea rdx, [rsp + 0x1f8]
cmp qword [rsp + 0x210], 0x10
cmovae rdx, qword [rsp + 0x1f8]
mov rcx, r14
call fcn.14000135c
cmp qword [0x140057218], 0
je 0x14000fb8d
call fcn.140001244
cmp dword [rax + 4], 5
jb 0x14000fb8d
mov rax, qword [rsp + 0x2e0]
mov rbx, qword [rax]
mov rax, qword [rsp + 0x2b8]
mov rdi, rax
nop dword [rax]
mov rsi, qword [rsp + 0x2e0]
test rdi, rdi
je 0x14000f9f2
cmp rdi, rax
je 0x14000f9f7
call fcn.140012dc8
cmp rbx, rsi
je 0x14000fb86
lea r8, [0x1400498b0]
lea rdx, [0x140057200]
lea rcx, [rsp + 0x40]
call fcn.1400014f6
mov rbp, rax
test rdi, rdi
jne 0x14000fa2a
call fcn.140012dc8
xor r11d, r11d
jmp 0x14000fa2d
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14000fa38
call fcn.140012dc8
lea r8, [rbx + 0x10]
mov rdx, rbp
lea rcx, [rsp + 0x88]
call fcn.140001479
cmp qword [rax + 0x20], 0x10
jb 0x14000fa59
mov rcx, qword [rax + 8]
jmp 0x14000fa5d
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
sete bpl
cmp qword [rsp + 0xa8], 0x10
jb 0x14000fa82
mov rcx, qword [rsp + 0x90]
call fcn.140012144
mov qword [rsp + 0xa8], 0xf
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0x90], 0
cmp qword [rsp + 0x60], 0x10
jb 0x14000fab4
mov rcx, qword [rsp + 0x48]
call fcn.140012144
test bpl, bpl
je 0x14000fb59
test rdi, rdi
jne 0x14000facc
call fcn.140012dc8
xor r11d, r11d
jmp 0x14000facf
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14000fada
call fcn.140012dc8
mov rdi, qword [rbx]
cmp rbx, qword [rsp + 0x2e0]
je 0x14000fb2d
mov rax, qword [rbx + 8]
mov qword [rax], rdi
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
cmp qword [rbx + 0x30], 0x10
jb 0x14000fb09
mov rcx, qword [rbx + 0x18]
call fcn.140012144
mov qword [rbx + 0x30], 0xf
mov qword [rbx + 0x28], 0
mov byte [rbx + 0x18], 0
mov rcx, rbx
call fcn.140012144
dec qword [rsp + 0x2e8]
mov qword [rsp + 0x78], rdi
mov rax, qword [rsp + 0x2b8]
mov qword [rsp + 0x70], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x30], xmm0
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x30]
jmp 0x14000f9e0
test rdi, rdi
jne 0x14000fb68
call fcn.140012dc8
xor r11d, r11d
jmp 0x14000fb6b
mov r11, qword [rdi]
cmp rbx, qword [r11 + 0x28]
jne 0x14000fb76
call fcn.140012dc8
mov rbx, qword [rbx]
mov rax, qword [rsp + 0x2b8]
jmp 0x14000f9e0
mov rbp, qword [rsp + 0x68]
xor edi, edi
lea rdx, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 0x10
cmovae rdx, qword [rsp + 0xe0]
lea r9, [rsp + 0x100]
mov r8, r13
mov rcx, r14
call fcn.140001465
test al, al
je 0x14000fbd1
lea rdx, [rsp + 0x2f0]
mov rcx, r14
call fcn.140001203
mov r15b, 1
cmp qword [0x140057218], 0
je 0x14000ff52
call fcn.140001244
cmp dword [rax + 4], 5
jb 0x14000ff52
lea r8, [0x1400498b0]
lea rdx, [0x140057200]
lea rcx, [rsp + 0x40]
call fcn.1400014f6
nop
lea r8, [rsp + 0x100]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140001479
cmp qword [rax + 0x20], 0x10
jb 0x14000fc2c
mov rcx, qword [rax + 8]
jmp 0x14000fc30
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp qword [rsp + 0xa8], 0x10
jb 0x14000fc4e
mov rcx, qword [rsp + 0x90]
call fcn.140012144
mov qword [rsp + 0xa8], 0xf
mov qword [rsp + 0xa0], rdi
mov byte [rsp + 0x90], 0
cmp qword [rsp + 0x60], 0x10
jb 0x14000fc7c
mov rcx, qword [rsp + 0x48]
call fcn.140012144
lea r8, [0x1400498b0]
lea rdx, [0x140057200]
lea rcx, [rsp + 0x40]
call fcn.1400014f6
nop
lea r8, [rsp + 0x128]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140001479
cmp qword [rax + 0x20], 0x10
jb 0x14000fcba
mov rcx, qword [rax + 8]
jmp 0x14000fcbe
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp qword [rsp + 0xa8], 0x10
jb 0x14000fcdc
mov rcx, qword [rsp + 0x90]
call fcn.140012144
mov qword [rsp + 0xa8], 0xf
mov qword [rsp + 0xa0], rdi
mov byte [rsp + 0x90], 0
cmp qword [rsp + 0x60], 0x10
jb 0x14000fd0a
mov rcx, qword [rsp + 0x48]
call fcn.140012144
lea r8, [0x1400498b0]
lea rdx, [0x140057200]
lea rcx, [rsp + 0x40]
call fcn.1400014f6
nop
lea r8, [rsp + 0x150]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140001479
cmp qword [rax + 0x20], 0x10
jb 0x14000fd48
mov rcx, qword [rax + 8]
jmp 0x14000fd4c
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp qword [rsp + 0xa8], 0x10
jb 0x14000fd6a
mov rcx, qword [rsp + 0x90]
call fcn.140012144
mov qword [rsp + 0xa8], 0xf
mov qword [rsp + 0xa0], rdi
mov byte [rsp + 0x90], 0
cmp qword [rsp + 0x60], 0x10
jb 0x14000fd98
mov rcx, qword [rsp + 0x48]
call fcn.140012144
lea r8, [0x1400498b0]
lea rdx, [0x140057200]
lea rcx, [rsp + 0x40]
call fcn.1400014f6
nop
lea r8, [rsp + 0x178]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.140001479
cmp qword [rax + 0x20], 0x10
jb 0x14000fdd6
mov rcx, qword [rax + 8]
jmp 0x14000fdda
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp qword [rsp + 0xa8], 0x10
jb 0x14000fdf8
mov rcx, qword [rsp + 0x90]
call fcn.140012144
mov qword [rsp + 0xa8], 0xf
mov qword [rsp + 0xa0], rdi
mov byte [rsp + 0x90], 0
cmp qword [rsp + 0x60], 0x10
jb 0x14000fe26
mov rcx, qword [rsp + 0x48]
call fcn.140012144
mov rsi, qword [rsp + 0x2e0]
mov rax, qword [rsi]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x2b8]
mov qword [rsp + 0x30], rax
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
test rbx, rbx
je 0x14000fe62
cmp rbx, rax
je 0x14000fe67
call fcn.140012dc8
cmp rdi, rsi
je 0x14000ff52
lea r8, [0x1400498b0]
lea rdx, [0x140057200]
lea rcx, [rsp + 0x40]
call fcn.1400014f6
mov rsi, rax
test rbx, rbx
jne 0x14000fe9a
call fcn.140012dc8
xor r11d, r11d
jmp 0x14000fe9d
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x28]
jne 0x14000fea8
call fcn.140012dc8
lea r8, [rdi + 0x10]
mov rdx, rsi
lea rcx, [rsp + 0x88]
call fcn.140001479
cmp qword [rax + 0x20], 0x10
jb 0x14000fec9
mov rcx, qword [rax + 8]
jmp 0x14000fecd
lea rcx, [rax + 8]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp qword [rsp + 0xa8], 0x10
jb 0x14000feeb
mov rcx, qword [rsp + 0x90]
call fcn.140012144
mov qword [rsp + 0xa8], 0xf
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0x90], 0
cmp qword [rsp + 0x60], 0x10
jb 0x14000ff1d
mov rcx, qword [rsp + 0x48]
call fcn.140012144
test rbx, rbx
jne 0x14000ff2c
call fcn.140012dc8
xor r11d, r11d
jmp 0x14000ff2f
mov r11, qword [rbx]
cmp rdi, qword [r11 + 0x28]
jne 0x14000ff3a
call fcn.140012dc8
mov rdi, qword [rdi]
mov rsi, qword [rsp + 0x2e0]
mov rax, qword [rsp + 0x2b8]
jmp 0x14000fe58
test r15b, r15b
je 0x1400100dc
mov qword [rsp + 0xa8], 0xf
xor edi, edi
mov qword [rsp + 0xa0], rdi
mov byte [rsp + 0x90], dil
lea rdx, [rsp + 0x88]
mov rcx, r13
call fcn.14000122b
test al, al
je 0x14001009f
lea rcx, [rsp + 0x90]
mov rdx, qword [rsp + 0x90]
mov r9, qword [rsp + 0xa8]
cmp r9, 0x10
cmovae rcx, rdx
movzx eax, byte [rcx]
mov byte [r12], al
inc rcx
inc r12
test al, al
jne 0x14000ffb1
cmp qword [rsp + 0x208], 0
jne 0x14000ffd6
lea rax, str.WINPRINT
jmp 0x14000fff0
lea rax, [rsp + 0x1f8]
cmp qword [rsp + 0x210], 0x10
cmovae rax, qword [rsp + 0x1f8]
lea r8, [rsp + 0x90]
cmp r9, 0x10
cmovae r8, rdx
mov qword [rsp + 0x20], rax
mov r9, rbp
mov rdx, r13
mov rcx, r14
call fcn.1400012cb
test al, al
je 0x1400100af
lea rdx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 0x10
cmovae rdx, qword [rsp + 0x90]
lea r8, [rsp + 0x2f0]
mov rcx, r14
call fcn.14000103c
lea r9, [rsp + 0x90]
cmp qword [rsp + 0xa8], 0x10
cmovae r9, qword [rsp + 0x90]
lea r8, [rsp + 0x270]
cmp qword [rsp + 0x288], 0x10
cmovae r8, qword [rsp + 0x270]
lea rdx, [rsp + 0x248]
cmp qword [rsp + 0x260], 0x10
cmovae rdx, qword [rsp + 0x248]
mov rcx, r14
call fcn.140001055
mov bl, 1
jmp 0x1400100b1
lea rcx, str.ERROR:_Failed_to_generate_new_printer_name._n
call fcn.140011420
xor bl, bl
jmp 0x1400100b1
xor bl, bl
cmp qword [rsp + 0xa8], 0x10
jb 0x1400100e0
mov rcx, qword [rsp + 0x90]
call fcn.140012144
jmp 0x1400100e0
mov rdx, r13
lea rcx, str.ERROR:_Failed_to_get_driver_information_for_model__s._n
call fcn.140011420
jmp 0x1400100e0
xor bl, bl
xor edi, edi
lea rcx, [rsp + 0x100]
call fcn.14000102d
jmp 0x1400100ff
mov rdx, r13
lea rcx, str.ERROR:_Failed_to_get_install_section_for_model__s._n
call fcn.140011420
nop
cmp qword [rsp + 0xd0], 0x10
jb 0x140010117
mov rcx, qword [rsp + 0xb8]
call fcn.140012144
mov qword [rsp + 0xd0], 0xf
mov qword [rsp + 0xc8], rdi
mov byte [rsp + 0xb8], 0
cmp qword [rsp + 0xf8], 0x10
jb 0x14001014f
mov rcx, qword [rsp + 0xe0]
call fcn.140012144
mov al, bl
jmp 0x140010151
mov al, bl
mov rcx, qword [rsp + 0x340]
xor rcx, rsp
call fcn.140013030
add rsp, 0x358
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret