Function at 0x1400186b0
Capabilities:
Copy file

Disassembly:
test rcx, rcx
je 0x140018e60
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push r12
push r14
push r15
sub rsp, 0x68
xor r12d, r12d
mov qword [rsp + 0x48], r13
mov dword [rsp + 0x30], r12d
mov rbp, r9
mov r14, rdx
mov r15, rcx
call fcn.1400fcc44
mov r13, rax
test rax, rax
je 0x140018e50
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rdi
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdi + rax], r12b
jne 0x140018710
movzx ecx, byte [rax]
mov qword [rsp + 0x38], rdi
test cl, cl
je 0x140018738
cmp cl, 0x2f
jne 0x14001872d
mov byte [rax], 0x5c
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
jne 0x140018725
cmp dword [0x1401e8a60], 3
mov qword [rsp + 0x60], rbx
jne 0x140018960
cmp word [0x1401e8ff6], r12w
jne 0x14001876a
cmp byte [0x1401e8fe4], r12b
jne 0x14001876a
cmp byte [0x1401e8fe3], r12b
je 0x140018960
cmp byte [0x1401e8fdc], r12b
jne 0x140018960
cmp byte [0x1401e8fdd], r12b
jne 0x140018960
cmp byte [0x1401e8feb], r12b
jne 0x140018960
movzx ecx, word [0x1401e8fd2]
movzx eax, cl
and al, 7
cmp al, 7
je 0x140018960
movzx eax, cl
and al, 0x23
cmp al, 0x23
je 0x140018960
mov eax, 0x1c0
and cx, ax
cmp cx, ax
je 0x140018960
cmp byte [0x1401e8c80], r12b
jne 0x140018960
cmp byte [0x1401e8fe7], r12b
jne 0x140018960
cmp qword [0x14019f098], r12
je 0x140018960
movzx eax, byte [rbp + 3]
test al, al
jne 0x140018802
cmp byte [rbp + 4], r12b
jne 0x140018802
cmp byte [rbp + 2], r12b
je 0x140018960
test al, al
mov dword [rsp + 0x20], 1
lea rbx, str.append
mov rcx, r13
mov rdx, rbx
lea rsi, str.linux
cmovne rdx, rsi
lea r9, str.persistent_file_cdrom_preseed
lea r8, str.file_cdrom_preseed
call fcn.140027f10
test rax, rax
je 0x140018896
lea rcx, str.__Added_persistent_kernel_option
call fcn.14004f910
mov esi, 1
mov dword [rsp + 0x30], esi
cmp byte [rbp + 3], r12b
je 0x140018963
lea r9, [0x14015644e]
mov dword [rsp + 0x20], esi
lea r8, str.maybe_ubiquity
mov rcx, r13
lea rdx, str.linux
call fcn.140027f10
test rax, rax
je 0x140018963
lea rcx, str.__Removed_maybe_ubiquity_kernel_option
call fcn.14004f910
jmp 0x140018963
lea r9, str._casper_vmlinuz_persistent
mov dword [rsp + 0x20], 1
lea r8, str._casper_vmlinuz
mov rdx, rsi
mov rcx, r13
call fcn.140027f10
test rax, rax
je 0x1400188d6
lea rcx, str.__Added_persistent_kernel_option
call fcn.14004f910
mov esi, 1
mov dword [rsp + 0x30], esi
jmp 0x140018963
cmp byte [rbp + 3], r12b
lea r9, str.bootcasper_persistent
mov rdx, rbx
mov dword [rsp + 0x20], 1
cmovne rdx, rsi
lea r8, str.bootcasper
mov rcx, r13
call fcn.140027f10
test rax, rax
je 0x14001891b
lea rcx, str.__Added_persistent_kernel_option
call fcn.14004f910
mov esi, 1
mov dword [rsp + 0x30], esi
jmp 0x140018963
cmp byte [rbp + 3], r12b
lea r9, str.bootlive_persistence
lea r8, str.bootlive
mov dword [rsp + 0x20], 1
cmovne rbx, rsi
mov rcx, r13
mov rdx, rbx
call fcn.140027f10
test rax, rax
je 0x140018960
lea rcx, str.__Added_persistence_kernel_option
call fcn.14004f910
mov esi, 1
mov dword [rsp + 0x30], esi
jmp 0x140018963
mov esi, r12d
lea r8, [0x1401e8a80]
cmp byte [rbp], r12b
jne 0x14001897a
cmp byte [rbp + 1], r12b
je 0x140018c12
mov rdx, r12
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r8 + rbx], dl
jne 0x140018984
mov rcx, r12
test rbx, rbx
je 0x1400189b8
nop word [rax + rax]
cmp byte [rcx + r8], 0x20
lea rax, [rdx + 1]
cmovne rax, rdx
inc rcx
mov rdx, rax
cmp rcx, rbx
jb 0x1400189a0
lea rcx, [rdx*4 + 1]
add rcx, rbx
call fcn.1400e9094
lea r9, str.x20
mov r15, rax
lea r10, [0x1401e8a80]
test rax, rax
jne 0x1400189e3
mov r15, r12
jmp 0x140018a2a
mov rdx, r12
mov r8, r12
test rbx, rbx
je 0x140018a26
nop
movzx eax, byte [r8 + r10]
cmp al, 0x20
jne 0x140018a17
mov rcx, r12
nop dword [rax]
movzx eax, byte [rcx + r9]
inc rcx
mov byte [r15 + rdx], al
inc rdx
cmp rcx, 4
jb 0x140018a00
jmp 0x140018a1e
mov byte [rdx + r15], al
inc rdx
inc r8
cmp r8, rbx
jb 0x1400189f0
mov byte [rdx + r15], r12b
mov rdx, r12
lea rax, [0x1401e8b40]
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], dl
jne 0x140018a40
mov rcx, r12
test rdi, rdi
je 0x140018a6c
cmp byte [rcx + r10 + 0xc0], 0x20
lea rax, [rdx + 1]
cmovne rax, rdx
inc rcx
mov rdx, rax
cmp rcx, rdi
jb 0x140018a50
lea rcx, [rdx*4 + 1]
add rcx, rdi
call fcn.1400e9094
mov rbx, rax
test rax, rax
jne 0x140018a89
mov rbx, r12
jmp 0x140018ae2
mov rdx, r12
mov r8, r12
test rdi, rdi
je 0x140018ade
lea r9, str.x20
lea r14, [0x1401e8a80]
movzx eax, byte [r8 + r14 + 0xc0]
cmp al, 0x20
jne 0x140018ac8
mov rcx, r12
movzx eax, byte [rcx + r9]
inc rcx
mov byte [rbx + rdx], al
inc rdx
cmp rcx, 4
jb 0x140018ab2
jmp 0x140018ace
mov byte [rdx + rbx], al
inc rdx
inc r8
cmp r8, rdi
jb 0x140018aa2
mov r14, qword [rsp + 0x98]
mov byte [rdx + rbx], r12b
test r15, r15
je 0x140018bf5
test rbx, rbx
je 0x140018bf5
lea r14, str.options
mov ebp, r12d
mov rsi, r14
mov edi, r12d
mov rdx, qword [rsi]
mov r9, rbx
mov r8, r15
mov dword [rsp + 0x20], 1
mov rcx, r13
call fcn.140027f10
test rax, rax
je 0x140018b2f
mov dword [rsp + 0x30], 1
mov ebp, 1
inc edi
add rsi, 8
cmp edi, 7
jb 0x140018b04
test ebp, ebp
je 0x140018b53
mov r9, rbx
lea rcx, str.__Patched__s:__s___s
mov r8, r15
mov rdx, r13
call fcn.14004f910
cmp byte [0x1401e8fd1], r12b
je 0x140018be1
mov rcx, qword [0x14019f508]
lea rdx, str.netinst
call fcn.1400b3650
test rax, rax
jne 0x140018be1
mov edi, r12d
nop dword [rax + rax]
mov rdx, qword [r14]
lea r9, str.inst.repo
lea r8, str.inst.stage2
mov dword [rsp + 0x20], 1
mov rcx, r13
call fcn.140027f10
test rax, rax
je 0x140018bb4
mov dword [rsp + 0x30], 1
mov r12d, 1
inc edi
add r14, 8
cmp edi, 7
jb 0x140018b80
test r12d, r12d
je 0x140018be1
lea r9, str.inst.repo
mov rdx, r13
lea r8, str.inst.stage2
lea rcx, str.__Patched__s:__s___s
call fcn.14004f910
mov r14, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x30]
mov rcx, r15
call fcn.1400e9080
mov rcx, rbx
call fcn.1400e9080
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x90]
cmp byte [rbp + 2], 0
je 0x140018cb9
test r14, r14
lea rbx, str._NULL_
lea rdx, str._efi_boot
cmove r14, rbx
mov rcx, r14
call fcn.140108174
test eax, eax
jne 0x140018cb9
mov rax, qword [str.isolinux.cfg]
mov rdx, rbx
test rax, rax
cmovne rdx, rax
mov rax, qword [rsp + 0xa0]
test rax, rax
cmove rax, rbx
mov rcx, rax
call fcn.140108174
test eax, eax
jne 0x140018cb9
cmp byte [0x1401e8fe2], al
jne 0x140018cb9
mov rcx, r13
call fcn.1400fcc44
mov rbx, rax
test rax, rax
je 0x140018cb9
mov r8d, 1
mov word [rax + rdi - 0xc], 0x7973
mov rdx, rax
mov byte [rax + rdi - 0xa], 0x73
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CopyFileA]
mov r8, rbx
lea rcx, str.Duplicated__s_to__s
mov rdx, r13
call fcn.14004f910
mov rcx, rbx
call fcn.1400e9080
cmp byte [rbp + 3], 0
je 0x140018d97
mov ecx, 0x104
call fcn.1400e9094
mov ecx, 0x104
mov rdi, rax
call fcn.1400e9094
mov rbx, rax
test rdi, rdi
je 0x140018d87
test rax, rax
je 0x140018d87
lea rax, [0x1401e8a80]
mov edx, 0x104
lea r9, str.cd9660:_dev_iso9660__s
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
mov rcx, rdi
call fcn.140004960
lea rax, [0x1401e8b40]
mov byte [rdi + 0x103], 0
lea r9, str.msdosfs:_dev_msdosfs__s
mov qword [rsp + 0x20], rax
mov edx, 0x104
mov r8, 0xffffffffffffffff
mov rcx, rbx
call fcn.140004960
mov r9, rbx
mov byte [rbx + 0x103], 0
mov r8, rdi
mov dword [rsp + 0x20], 1
lea rdx, [0x14015b780]
mov rcx, r13
call fcn.140027f10
test rax, rax
je 0x140018d87
mov r9, rbx
lea rcx, str.__Patched__s:__s___s
mov r8, rdi
mov rdx, r13
call fcn.14004f910
mov esi, 1
mov rcx, rdi
call fcn.1400e9080
mov rcx, rbx
call fcn.1400e9080
mov rdi, qword [rsp + 0x50]
test esi, esi
mov rsi, qword [rsp + 0x58]
je 0x140018e43
mov rbx, qword [0x1401a03e8]
test rbx, rbx
je 0x140018e43
mov eax, dword [0x1401a03f4]
cmp dword [0x1401a03f0], eax
jne 0x140018dff
add eax, eax
mov rcx, rbx
mov edx, eax
shl rdx, 3
mov dword [0x1401a03f4], eax
call fcn.1400c5f60
mov qword [0x1401a03e8], rax
test rax, rax
jne 0x140018dff
mov rcx, rbx
call fcn.1400e9080
lea rcx, str.Could_not_reallocate_string_array
call fcn.14004f910
jmp 0x140018e43
mov rcx, r15
call fcn.1400fcc44
mov rcx, qword [0x1401a03e8]
mov edx, dword [0x1401a03f0]
mov qword [rcx + rdx*8], rax
mov ecx, dword [0x1401a03f0]
mov rax, qword [0x1401a03e8]
cmp qword [rax + rcx*8], 0
jne 0x140018e3a
lea rcx, str.Could_not_store_string_in_array
call fcn.14004f910
jmp 0x140018e43
lea eax, [rcx + 1]
mov dword [0x1401a03f0], eax
mov rcx, r13
call fcn.1400e9080
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x48]
add rsp, 0x68
pop r15
pop r14
pop r12
pop rbp
ret