Function at 0x140018fe0
Capabilities:
Copy file

Disassembly:
test rcx, rcx
je 0x140019790
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.1400fc834
mov r13, rax
test rax, rax
je 0x140019780
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rdi
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdi + rax], r12b
jne 0x140019040
movzx ecx, byte [rax]
mov qword [rsp + 0x38], rdi
test cl, cl
je 0x140019068
cmp cl, 0x2f
jne 0x14001905d
mov byte [rax], 0x5c
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
jne 0x140019055
cmp dword [0x1401e89e0], 3
mov qword [rsp + 0x60], rbx
jne 0x140019290
cmp word [0x1401e8f76], r12w
jne 0x14001909a
cmp byte [0x1401e8f64], r12b
jne 0x14001909a
cmp byte [0x1401e8f63], r12b
je 0x140019290
cmp byte [0x1401e8f5c], r12b
jne 0x140019290
cmp byte [0x1401e8f5d], r12b
jne 0x140019290
cmp byte [0x1401e8f6b], r12b
jne 0x140019290
movzx ecx, word [0x1401e8f52]
movzx eax, cl
and al, 7
cmp al, 7
je 0x140019290
movzx eax, cl
and al, 0x23
cmp al, 0x23
je 0x140019290
mov eax, 0x1c0
and cx, ax
cmp cx, ax
je 0x140019290
cmp byte [0x1401e8c00], r12b
jne 0x140019290
cmp byte [0x1401e8f67], r12b
jne 0x140019290
cmp qword [0x14019f118], r12
je 0x140019290
movzx eax, byte [rbp + 3]
test al, al
jne 0x140019132
cmp byte [rbp + 4], r12b
jne 0x140019132
cmp byte [rbp + 2], r12b
je 0x140019290
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.140027fd0
test rax, rax
je 0x1400191c6
lea rcx, str.__Added_persistent_kernel_option
call fcn.14004f2f0
mov esi, 1
mov dword [rsp + 0x30], esi
cmp byte [rbp + 3], r12b
je 0x140019293
lea r9, [0x1401564ce]
mov dword [rsp + 0x20], esi
lea r8, str.maybe_ubiquity
mov rcx, r13
lea rdx, str.linux
call fcn.140027fd0
test rax, rax
je 0x140019293
lea rcx, str.__Removed_maybe_ubiquity_kernel_option
call fcn.14004f2f0
jmp 0x140019293
lea r9, str._casper_vmlinuz_persistent
mov dword [rsp + 0x20], 1
lea r8, str._casper_vmlinuz
mov rdx, rsi
mov rcx, r13
call fcn.140027fd0
test rax, rax
je 0x140019206
lea rcx, str.__Added_persistent_kernel_option
call fcn.14004f2f0
mov esi, 1
mov dword [rsp + 0x30], esi
jmp 0x140019293
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.140027fd0
test rax, rax
je 0x14001924b
lea rcx, str.__Added_persistent_kernel_option
call fcn.14004f2f0
mov esi, 1
mov dword [rsp + 0x30], esi
jmp 0x140019293
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.140027fd0
test rax, rax
je 0x140019290
lea rcx, str.__Added_persistence_kernel_option
call fcn.14004f2f0
mov esi, 1
mov dword [rsp + 0x30], esi
jmp 0x140019293
mov esi, r12d
lea r8, [0x1401e8a00]
cmp byte [rbp], r12b
jne 0x1400192aa
cmp byte [rbp + 1], r12b
je 0x140019542
mov rdx, r12
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r8 + rbx], dl
jne 0x1400192b4
mov rcx, r12
test rbx, rbx
je 0x1400192e8
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 0x1400192d0
lea rcx, [rdx*4 + 1]
add rcx, rbx
call fcn.1400e8c84
lea r9, str.x20
mov r15, rax
lea r10, [0x1401e8a00]
test rax, rax
jne 0x140019313
mov r15, r12
jmp 0x14001935a
mov rdx, r12
mov r8, r12
test rbx, rbx
je 0x140019356
nop
movzx eax, byte [r8 + r10]
cmp al, 0x20
jne 0x140019347
mov rcx, r12
nop dword [rax]
movzx eax, byte [rcx + r9]
inc rcx
mov byte [r15 + rdx], al
inc rdx
cmp rcx, 4
jb 0x140019330
jmp 0x14001934e
mov byte [rdx + r15], al
inc rdx
inc r8
cmp r8, rbx
jb 0x140019320
mov byte [rdx + r15], r12b
mov rdx, r12
lea rax, [0x1401e8ac0]
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], dl
jne 0x140019370
mov rcx, r12
test rdi, rdi
je 0x14001939c
cmp byte [rcx + r10 + 0xc0], 0x20
lea rax, [rdx + 1]
cmovne rax, rdx
inc rcx
mov rdx, rax
cmp rcx, rdi
jb 0x140019380
lea rcx, [rdx*4 + 1]
add rcx, rdi
call fcn.1400e8c84
mov rbx, rax
test rax, rax
jne 0x1400193b9
mov rbx, r12
jmp 0x140019412
mov rdx, r12
mov r8, r12
test rdi, rdi
je 0x14001940e
lea r9, str.x20
lea r14, [0x1401e8a00]
movzx eax, byte [r8 + r14 + 0xc0]
cmp al, 0x20
jne 0x1400193f8
mov rcx, r12
movzx eax, byte [rcx + r9]
inc rcx
mov byte [rbx + rdx], al
inc rdx
cmp rcx, 4
jb 0x1400193e2
jmp 0x1400193fe
mov byte [rdx + rbx], al
inc rdx
inc r8
cmp r8, rdi
jb 0x1400193d2
mov r14, qword [rsp + 0x98]
mov byte [rdx + rbx], r12b
test r15, r15
je 0x140019525
test rbx, rbx
je 0x140019525
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.140027fd0
test rax, rax
je 0x14001945f
mov dword [rsp + 0x30], 1
mov ebp, 1
inc edi
add rsi, 8
cmp edi, 7
jb 0x140019434
test ebp, ebp
je 0x140019483
mov r9, rbx
lea rcx, str.__Patched__s:__s___s
mov r8, r15
mov rdx, r13
call fcn.14004f2f0
cmp byte [0x1401e8f51], r12b
je 0x140019511
mov rcx, qword [0x14019f588]
lea rdx, str.netinst
call fcn.1400b4230
test rax, rax
jne 0x140019511
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.140027fd0
test rax, rax
je 0x1400194e4
mov dword [rsp + 0x30], 1
mov r12d, 1
inc edi
add r14, 8
cmp edi, 7
jb 0x1400194b0
test r12d, r12d
je 0x140019511
lea r9, str.inst.repo
mov rdx, r13
lea r8, str.inst.stage2
lea rcx, str.__Patched__s:__s___s
call fcn.14004f2f0
mov r14, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x30]
mov rcx, r15
call fcn.1400e8c70
mov rcx, rbx
call fcn.1400e8c70
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x90]
cmp byte [rbp + 2], 0
je 0x1400195e9
test r14, r14
lea rbx, str._NULL_
lea rdx, str._efi_boot
cmove r14, rbx
mov rcx, r14
call fcn.140107d64
test eax, eax
jne 0x1400195e9
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.140107d64
test eax, eax
jne 0x1400195e9
cmp byte [0x1401e8f62], al
jne 0x1400195e9
mov rcx, r13
call fcn.1400fc834
mov rbx, rax
test rax, rax
je 0x1400195e9
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.14004f2f0
mov rcx, rbx
call fcn.1400e8c70
cmp byte [rbp + 3], 0
je 0x1400196c7
mov ecx, 0x104
call fcn.1400e8c84
mov ecx, 0x104
mov rdi, rax
call fcn.1400e8c84
mov rbx, rax
test rdi, rdi
je 0x1400196b7
test rax, rax
je 0x1400196b7
lea rax, [0x1401e8a00]
mov edx, 0x104
lea r9, str.cd9660:_dev_iso9660__s
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
mov rcx, rdi
call fcn.140004fd0
lea rax, [0x1401e8ac0]
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.140004fd0
mov r9, rbx
mov byte [rbx + 0x103], 0
mov r8, rdi
mov dword [rsp + 0x20], 1
lea rdx, [0x14015b920]
mov rcx, r13
call fcn.140027fd0
test rax, rax
je 0x1400196b7
mov r9, rbx
lea rcx, str.__Patched__s:__s___s
mov r8, rdi
mov rdx, r13
call fcn.14004f2f0
mov esi, 1
mov rcx, rdi
call fcn.1400e8c70
mov rcx, rbx
call fcn.1400e8c70
mov rdi, qword [rsp + 0x50]
test esi, esi
mov rsi, qword [rsp + 0x58]
je 0x140019773
mov rbx, qword [0x1401a0468]
test rbx, rbx
je 0x140019773
mov eax, dword [0x1401a0474]
cmp dword [0x1401a0470], eax
jne 0x14001972f
add eax, eax
mov rcx, rbx
mov edx, eax
shl rdx, 3
mov dword [0x1401a0474], eax
call fcn.1400c5b50
mov qword [0x1401a0468], rax
test rax, rax
jne 0x14001972f
mov rcx, rbx
call fcn.1400e8c70
lea rcx, str.Could_not_reallocate_string_array
call fcn.14004f2f0
jmp 0x140019773
mov rcx, r15
call fcn.1400fc834
mov rcx, qword [0x1401a0468]
mov edx, dword [0x1401a0470]
mov qword [rcx + rdx*8], rax
mov ecx, dword [0x1401a0470]
mov rax, qword [0x1401a0468]
cmp qword [rax + rcx*8], 0
jne 0x14001976a
lea rcx, str.Could_not_store_string_in_array
call fcn.14004f2f0
jmp 0x140019773
lea eax, [rcx + 1]
mov dword [0x1401a0470], eax
mov rcx, r13
call fcn.1400e8c70
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x48]
add rsp, 0x68
pop r15
pop r14
pop r12
pop rbp
ret