Function at 0x140018370
Capabilities:
Delete file

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x8a8
mov rax, qword [0x140106438]
xor rax, rsp
mov qword [rsp + 0x890], rax
mov rsi, rcx
mov qword [rsp + 0x40], r8
xor ebp, ebp
mov qword [rsp + 0x58], rdx
xor r13d, r13d
mov qword [rsp + 0x80], rbp
mov rcx, r8
mov qword [rsp + 0x70], r13
mov ebx, r9d
xor r12d, r12d
xor edi, edi
xor r14d, r14d
call fcn.140003550
mov qword [rsp + 0x30], rdi
lea r8d, [rbp + 1]
mov dword [rsp + 0x28], ebx
xor r9d, r9d
mov edx, 0xc0000000
mov dword [rsp + 0x20], 2
mov rcx, rax
mov r15, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
test r15, r15
je 0x14001840b
mov rcx, r15
call fcn.14009b5a0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp qword [rsp + 0x60], 0xffffffffffffffff
jne 0x14001843c
call fcn.140041e50
mov rbx, qword [rsp + 0x40]
lea rcx, str.__Could_not_create_file__s:__s
mov rdx, rbx
mov r8, rax
call fcn.140041aa0
jmp 0x140018763
mov rcx, rsi
call fcn.14005f5d0
mov qword [rsp + 0x80], rax
test rax, rax
jne 0x1400185a1
cmp dword [0x14010713c], edi
mov edx, 0xff
mov ecx, 0xf7
mov eax, 0xf8
cmovne ecx, edx
cmp dword [0x140107138], edi
cmovne eax, edx
and cl, al
movzx edx, cl
mov rcx, rsi
call fcn.14005b380
mov r12, rax
test rax, rax
jne 0x14001849f
mov rdx, rsi
lea rcx, str.Unable_to_open_image__s
call fcn.140041aa0
jmp 0x140018746
mov rbx, qword [rsp + 0x58]
mov rcx, r12
mov rdx, rbx
call fcn.14005cdc0
mov r13, rax
test rax, rax
jne 0x1400184cb
mov rdx, rbx
lea rcx, str.Could_not_get_ISO_9660_file_information_for_file__s
call fcn.140041aa0
jmp 0x140018746
mov rbx, qword [rax + 0xe0]
xor esi, esi
test rbx, rbx
jle 0x140018746
mov r15d, 0x800
mov r8, r15
lea rcx, [rsp + 0x90]
xor edx, edx
call fcn.140093c00
mov edi, dword [r13 + 0xd8]
lea rdx, [rsp + 0x90]
add edi, esi
mov word [rsp + 0x20], r15w
mov r8d, edi
mov r9d, 1
mov rcx, r12
call fcn.14005bc90
cmp eax, r15d
jne 0x140018585
mov rcx, qword [rsp + 0x60]
lea r9, [rsp + 0x68]
cmp rbx, r15
lea rdx, [rsp + 0x90]
mov edi, r15d
cmovb edi, ebx
mov r8d, edi
call fcn.140042b10
test eax, eax
je 0x140018561
mov eax, edi
inc rsi
sub rbx, rax
add rbp, rax
test rbx, rbx
jg 0x1400184e3
mov rdi, r14
jmp 0x140018746
call fcn.140041e50
mov rbx, qword [rsp + 0x40]
lea rcx, str.__Error_writing_file__s:__s
mov rdx, rbx
mov r8, rax
call fcn.140041aa0
mov rdi, r14
jmp 0x14001874b
mov rdx, qword [rsp + 0x58]
lea rcx, str.__Error_reading_ISO9660_file__s_at_LSN__lu
mov r8d, edi
call fcn.140041aa0
mov rdi, r14
jmp 0x140018746
mov rcx, rax
call fcn.14005f7f0
mov qword [rsp + 0x48], rax
mov rdi, rax
test rax, rax
jne 0x1400185c7
lea rcx, str.Could_not_locate_UDF_root_directory
call fcn.140041aa0
jmp 0x140018746
mov rbx, qword [rsp + 0x58]
mov rcx, rax
mov rdx, rbx
call fcn.14005f280
mov r14, rax
test rax, rax
jne 0x1400185f3
mov rdx, rbx
lea rcx, str.Could_not_locate_file__s_in_ISO_image
call fcn.140041aa0
jmp 0x140018746
mov rdi, qword [rax + 0x78]
test rdi, rdi
jle 0x140018741
mov r15d, 0x800
nop word [rax + rax]
mov r8, r15
lea rcx, [rsp + 0x90]
xor edx, edx
call fcn.140093c00
mov rsi, qword [r14 + 0x10]
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x54]
mov dword [rsp + 0x50], 0
mov rcx, r14
mov ebx, 1
mov rdx, qword [rsi + 8]
call fcn.14005eef0
mov dword [rsp + 0x54], eax
cmp eax, 0xffff4f0b
je 0x140018728
mov r13d, dword [rsp + 0x50]
lea r8d, [r13 + 0x7ff]
shr r8d, 0xb
mov r12d, r8d
cmp r12, rbx
jae 0x140018693
mov edx, ebx
lea rcx, str.read_count__u_is_larger_than__u_extent_size.
call fcn.14005b320
mov edx, ebx
lea rcx, str.read_count_truncated_to__u
call fcn.14005b320
mov eax, dword [rsp + 0x54]
mov ebx, r12d
mov r9d, ebx
lea rdx, [rsp + 0x90]
mov r8d, eax
mov rcx, rsi
call fcn.14005f510
test eax, eax
jne 0x1400186be
shl rbx, 0xb
cmp r13, rbx
cmovb rbx, r13
add qword [rsi + 8], rbx
jmp 0x1400186c1
movsxd rbx, eax
test rbx, rbx
js 0x140018728
mov rcx, qword [rsp + 0x60]
lea r9, [rsp + 0x68]
cmp rdi, rbx
lea rdx, [rsp + 0x90]
cmovl ebx, edi
mov r8d, ebx
call fcn.140042b10
test eax, eax
je 0x1400186fd
mov eax, ebx
sub rdi, rax
add rbp, rax
test rdi, rdi
jg 0x140018610
jmp 0x140018739
call fcn.140041e50
mov rbx, qword [rsp + 0x40]
lea rcx, str.__Error_writing_file__s:__s
mov rdx, rbx
mov r8, rax
call fcn.140041aa0
mov r13, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x48]
mov r12, r13
jmp 0x14001874b
mov rdx, qword [rsp + 0x58]
lea rcx, str.Error_reading_UDF_file__s
call fcn.140041aa0
mov r13, qword [rsp + 0x70]
mov r12, r13
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14001875e
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rbp, rbp
jne 0x140018794
mov rcx, rbx
call fcn.140003550
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test rbx, rbx
je 0x14001878c
mov rcx, rbx
call fcn.14009b5a0
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_SetLastError]
test r13, r13
je 0x1400187b7
mov rcx, qword [r13 + 0x1d]
test rcx, rcx
je 0x1400187af
call fcn.14009b5a0
mov qword [r13 + 0x1d], 0
mov rcx, r13
call fcn.14009b5a0
xor esi, esi
test rdi, rdi
je 0x1400187ec
mov rcx, qword [rdi]
mov qword [rdi + 0x38], rsi
test rcx, rcx
je 0x1400187cf
call fcn.14009b5a0
mov rcx, qword [rdi + 0x30]
mov qword [rdi], rsi
test rcx, rcx
je 0x1400187e0
call fcn.14009b5a0
mov rcx, rdi
mov qword [rdi + 0x30], rsi
call fcn.14009b5a0
test r14, r14
je 0x14001881f
mov rcx, qword [r14]
mov qword [r14 + 0x38], rsi
test rcx, rcx
je 0x140018802
call fcn.14009b5a0
mov rcx, qword [r14 + 0x30]
mov qword [r14], rsi
test rcx, rcx
je 0x140018813
call fcn.14009b5a0
mov rcx, r14
mov qword [r14 + 0x30], rsi
call fcn.14009b5a0
test r12, r12
je 0x14001886b
mov rbx, qword [r12 + 8]
test rbx, rbx
je 0x14001885e
cmp dword [rbx + 0x38], 0
je 0x14001884d
lea rcx, str.closed_source...
call fcn.14005b2c0
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov dword [rbx + 0x38], esi
mov qword [rbx + 0x40], rsi
mov rcx, qword [rbx]
call qword [rbx + 0x30]
mov rcx, rbx
mov qword [rbx], rsi
call fcn.14009b5a0
mov rcx, r12
mov qword [r12 + 8], rsi
call fcn.14009b5a0
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x1400188be
cmp byte [rdi], 0
je 0x1400188b6
mov rbx, qword [rdi + 0x10]
test rbx, rbx
je 0x1400188b6
cmp dword [rbx + 0x38], 0
je 0x1400188a5
lea rcx, str.closed_source...
call fcn.14005b2c0
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov dword [rbx + 0x38], esi
mov qword [rbx + 0x40], rsi
mov rcx, qword [rbx]
call qword [rbx + 0x30]
mov rcx, rbx
mov qword [rbx], rsi
call fcn.14009b5a0
mov rcx, rdi
call fcn.14009b5a0
mov rax, rbp
mov rcx, qword [rsp + 0x890]
xor rcx, rsp
call fcn.140092060
add rsp, 0x8a8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret