Function at 0x140013cf0
Capabilities:
Copy file

Disassembly:
test rcx, rcx
je 0x1400144a0
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.1400a1b50
mov r13, rax
test rax, rax
je 0x140014490
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], rdi
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdi + rax], r12b
jne 0x140013d50
movzx ecx, byte [rax]
mov qword [rsp + 0x38], rdi
test cl, cl
je 0x140013d78
cmp cl, 0x2f
jne 0x140013d6d
mov byte [rax], 0x5c
movzx ecx, byte [rax + 1]
inc rax
test cl, cl
jne 0x140013d65
cmp dword [0x14015a560], 3
mov qword [rsp + 0x60], rbx
jne 0x140013fa0
cmp word [0x14015b436], r12w
jne 0x140013daa
cmp byte [0x14015b424], r12b
jne 0x140013daa
cmp byte [0x14015b423], r12b
je 0x140013fa0
cmp byte [0x14015b41c], r12b
jne 0x140013fa0
cmp byte [0x14015b41d], r12b
jne 0x140013fa0
cmp byte [0x14015b42b], r12b
jne 0x140013fa0
movzx ecx, word [0x14015b412]
movzx eax, cl
and al, 7
cmp al, 7
je 0x140013fa0
movzx eax, cl
and al, 0x23
cmp al, 0x23
je 0x140013fa0
mov eax, 0x1c0
and cx, ax
cmp cx, ax
je 0x140013fa0
cmp byte [0x14015b0c0], r12b
jne 0x140013fa0
cmp byte [0x14015b427], r12b
jne 0x140013fa0
cmp qword [0x140111618], r12
je 0x140013fa0
movzx eax, byte [rbp + 3]
test al, al
jne 0x140013e42
cmp byte [rbp + 4], r12b
jne 0x140013e42
cmp byte [rbp + 2], r12b
je 0x140013fa0
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.140021f30
test rax, rax
je 0x140013ed6
lea rcx, str.__Added_persistent_kernel_option
call fcn.140041aa0
mov esi, 1
mov dword [rsp + 0x30], esi
cmp byte [rbp + 3], r12b
je 0x140013fa3
lea r9, [0x1400d756a]
mov dword [rsp + 0x20], esi
lea r8, str.maybe_ubiquity
mov rcx, r13
lea rdx, str.linux
call fcn.140021f30
test rax, rax
je 0x140013fa3
lea rcx, str.__Removed_maybe_ubiquity_kernel_option
call fcn.140041aa0
jmp 0x140013fa3
lea r9, str._casper_vmlinuz_persistent
mov dword [rsp + 0x20], 1
lea r8, str._casper_vmlinuz
mov rdx, rsi
mov rcx, r13
call fcn.140021f30
test rax, rax
je 0x140013f16
lea rcx, str.__Added_persistent_kernel_option
call fcn.140041aa0
mov esi, 1
mov dword [rsp + 0x30], esi
jmp 0x140013fa3
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.140021f30
test rax, rax
je 0x140013f5b
lea rcx, str.__Added_persistent_kernel_option
call fcn.140041aa0
mov esi, 1
mov dword [rsp + 0x30], esi
jmp 0x140013fa3
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.140021f30
test rax, rax
je 0x140013fa0
lea rcx, str.__Added_persistence_kernel_option
call fcn.140041aa0
mov esi, 1
mov dword [rsp + 0x30], esi
jmp 0x140013fa3
mov esi, r12d
lea r8, [0x14015aec0]
cmp byte [rbp], r12b
jne 0x140013fba
cmp byte [rbp + 1], r12b
je 0x140014252
mov rdx, r12
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r8 + rbx], dl
jne 0x140013fc4
mov rcx, r12
test rbx, rbx
je 0x140013ff8
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 0x140013fe0
lea rcx, [rdx*4 + 1]
add rcx, rbx
call fcn.14009b5b4
lea r9, str.x20
mov r15, rax
lea r10, [0x14015aec0]
test rax, rax
jne 0x140014023
mov r15, r12
jmp 0x14001406a
mov rdx, r12
mov r8, r12
test rbx, rbx
je 0x140014066
nop
movzx eax, byte [r8 + r10]
cmp al, 0x20
jne 0x140014057
mov rcx, r12
nop dword [rax]
movzx eax, byte [rcx + r9]
inc rcx
mov byte [rdx + r15], al
inc rdx
cmp rcx, 4
jb 0x140014040
jmp 0x14001405e
mov byte [rdx + r15], al
inc rdx
inc r8
cmp r8, rbx
jb 0x140014030
mov byte [rdx + r15], r12b
mov rdx, r12
lea rax, [0x14015af80]
mov rdi, 0xffffffffffffffff
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], dl
jne 0x140014080
mov rcx, r12
test rdi, rdi
je 0x1400140ac
cmp byte [rcx + r10 + 0xc0], 0x20
lea rax, [rdx + 1]
cmovne rax, rdx
inc rcx
mov rdx, rax
cmp rcx, rdi
jb 0x140014090
lea rcx, [rdx*4 + 1]
add rcx, rdi
call fcn.14009b5b4
mov rbx, rax
test rax, rax
jne 0x1400140c9
mov rbx, r12
jmp 0x140014122
mov rdx, r12
mov r8, r12
test rdi, rdi
je 0x14001411e
lea r9, str.x20
lea r14, [0x14015aec0]
movzx eax, byte [r8 + r14 + 0xc0]
cmp al, 0x20
jne 0x140014108
mov rcx, r12
movzx eax, byte [rcx + r9]
inc rcx
mov byte [rdx + rbx], al
inc rdx
cmp rcx, 4
jb 0x1400140f2
jmp 0x14001410e
mov byte [rdx + rbx], al
inc rdx
inc r8
cmp r8, rdi
jb 0x1400140e2
mov r14, qword [rsp + 0x98]
mov byte [rdx + rbx], r12b
test r15, r15
je 0x140014235
test rbx, rbx
je 0x140014235
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.140021f30
test rax, rax
je 0x14001416f
mov dword [rsp + 0x30], 1
mov ebp, 1
inc edi
add rsi, 8
cmp edi, 7
jb 0x140014144
test ebp, ebp
je 0x140014193
mov r9, rbx
lea rcx, str.__Patched__s:__s___s
mov r8, r15
mov rdx, r13
call fcn.140041aa0
cmp byte [0x14015b411], r12b
je 0x140014221
mov rcx, qword [0x1401128d8]
lea rdx, str.netinst
call fcn.1400930e8
test rax, rax
jne 0x140014221
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.140021f30
test rax, rax
je 0x1400141f4
mov dword [rsp + 0x30], 1
mov r12d, 1
inc edi
add r14, 8
cmp edi, 7
jb 0x1400141c0
test r12d, r12d
je 0x140014221
lea r9, str.inst.repo
mov rdx, r13
lea r8, str.inst.stage2
lea rcx, str.__Patched__s:__s___s
call fcn.140041aa0
mov r14, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa8]
mov esi, dword [rsp + 0x30]
mov rcx, r15
call fcn.14009b5a0
mov rcx, rbx
call fcn.14009b5a0
mov rdi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x90]
cmp byte [rbp + 2], 0
je 0x1400142f9
test r14, r14
lea rbx, str._NULL_
lea rdx, str._efi_boot
cmove r14, rbx
mov rcx, r14
call fcn.1400a5b5c
test eax, eax
jne 0x1400142f9
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.1400a5b5c
test eax, eax
jne 0x1400142f9
cmp byte [0x14015b422], al
jne 0x1400142f9
mov rcx, r13
call fcn.1400a1b50
mov rbx, rax
test rax, rax
je 0x1400142f9
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.140041aa0
mov rcx, rbx
call fcn.14009b5a0
cmp byte [rbp + 3], 0
je 0x1400143d7
mov ecx, 0x104
call fcn.14009b5b4
mov ecx, 0x104
mov rdi, rax
call fcn.14009b5b4
mov rbx, rax
test rdi, rdi
je 0x1400143c7
test rax, rax
je 0x1400143c7
lea rax, [0x14015aec0]
mov edx, 0x104
lea r9, str.cd9660:_dev_iso9660__s
mov qword [rsp + 0x20], rax
mov r8, 0xffffffffffffffff
mov rcx, rdi
call fcn.1400034e0
lea rax, [0x14015af80]
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.1400034e0
mov r9, rbx
mov byte [rbx + 0x103], 0
mov r8, rdi
mov dword [rsp + 0x20], 1
lea rdx, [0x1400dc6d0]
mov rcx, r13
call fcn.140021f30
test rax, rax
je 0x1400143c7
mov r9, rbx
lea rcx, str.__Patched__s:__s___s
mov r8, rdi
mov rdx, r13
call fcn.140041aa0
mov esi, 1
mov rcx, rdi
call fcn.14009b5a0
mov rcx, rbx
call fcn.14009b5a0
mov rdi, qword [rsp + 0x50]
test esi, esi
mov rsi, qword [rsp + 0x58]
je 0x140014483
mov rbx, qword [0x1401429c8]
test rbx, rbx
je 0x140014483
mov eax, dword [0x1401429d4]
cmp dword [0x1401429d0], eax
jne 0x14001443f
add eax, eax
mov rcx, rbx
mov edx, eax
shl rdx, 3
mov dword [0x1401429d4], eax
call fcn.140096c28
mov qword [0x1401429c8], rax
test rax, rax
jne 0x14001443f
mov rcx, rbx
call fcn.14009b5a0
lea rcx, str.Could_not_reallocate_string_array
call fcn.140041aa0
jmp 0x140014483
mov rcx, r15
call fcn.1400a1b50
mov rcx, qword [0x1401429c8]
mov edx, dword [0x1401429d0]
mov qword [rcx + rdx*8], rax
mov ecx, dword [0x1401429d0]
mov rax, qword [0x1401429c8]
cmp qword [rax + rcx*8], 0
jne 0x14001447a
lea rcx, str.Could_not_store_string_in_array
call fcn.140041aa0
jmp 0x140014483
lea eax, [rcx + 1]
mov dword [0x1401429d0], eax
mov rcx, r13
call fcn.14009b5a0
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x48]
add rsp, 0x68
pop r15
pop r14
pop r12
pop rbp
ret