Function at 0x410a23
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
and dword [ebp - 8], 0
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], esi
push edi
test esi, esi
jne 0x410a46
xor edi, edi
mov dword [ebp - 0xc], edi
jmp 0x410a52
push esi
call fcn.004816f0
pop ecx
mov edi, eax
mov dword [ebp - 0xc], eax
push esi
call fcn.00487101
mov esi, eax
pop ecx
test esi, esi
je 0x410dca
xor eax, eax
test edi, edi
je 0x410a78
cmp byte [esi + eax], 0x2f
jne 0x410a73
mov byte [esi + eax], 0x5c
inc eax
cmp eax, edi
jb 0x410a69
xor edi, edi
inc edi
cmp dword [0x522460], 3
jne 0x410bdb
cmp word [0x5228c2], 0
jne 0x410aa8
cmp byte [0x5228bd], 0
jne 0x410aa8
cmp byte [0x5228bc], 0
je 0x410bdb
cmp byte [0x5228b4], 0
jne 0x410bdb
cmp byte [0x5228b5], 0
jne 0x410bdb
cmp byte [0x5228c0], 0
jne 0x410bdb
mov ecx, dword [0x5228aa]
mov al, cl
and al, 7
cmp al, 7
je 0x410bdb
mov al, cl
and al, 0x23
cmp al, 0x23
je 0x410bdb
mov eax, 0x1c0
and ecx, eax
cmp cx, ax
je 0x410bdb
cmp byte [0x522680], 0
jne 0x410bdb
cmp byte [0x5228be], 0
jne 0x410bdb
mov eax, dword [0x4dc5c8]
or eax, dword [0x4dc5cc]
je 0x410bdb
mov al, byte [ebx + 3]
test al, al
jne 0x410b3d
cmp byte [ebx + 4], al
jne 0x410b3d
cmp byte [ebx + 2], al
je 0x410bdb
push ecx
test al, al
mov edx, str.linux
mov eax, str.append
mov ecx, esi
push str.persistent_file_cdrom_preseed
push str.file_cdrom_preseed
cmove edx, eax
call fcn.0041a077
add esp, 0xc
test eax, eax
je 0x410ba3
push str.__Added_persistent_kernel_option
call fcn.0042ed57
cmp byte [ebx + 3], 0
pop ecx
mov dword [ebp - 8], edi
je 0x410bdb
push ecx
push 0x4b4dda
push str.maybe_ubiquity
mov edx, str.linux
mov ecx, esi
call fcn.0041a077
add esp, 0xc
test eax, eax
je 0x410bdb
push str.__Removed_maybe_ubiquity_kernel_option
call fcn.0042ed57
jmp 0x410bda
cmp byte [ebx + 3], 0
mov eax, str.append
push ecx
push str.bootlive_persistence
mov edx, str.linux
mov ecx, esi
push str.bootlive
cmove edx, eax
call fcn.0041a077
add esp, 0xc
test eax, eax
je 0x410bdb
push str.__Added_persistence_kernel_option
call fcn.0042ed57
mov dword [ebp - 8], edi
pop ecx
cmp byte [ebx], 0
jne 0x410bea
cmp byte [ebx + 1], 0
je 0x410c81
push ecx
mov ecx, 0x522480
call fcn.0041a5ba
mov ecx, 0x522540
mov dword [ebp - 4], eax
call fcn.0041a5ba
mov edi, eax
mov eax, dword [ebp - 4]
pop ecx
test eax, eax
je 0x410c73
test edi, edi
je 0x410c73
cmp byte [ebx + 3], 0
push ecx
push edi
mov ecx, esi
push eax
je 0x410c3a
mov edx, str.linux
call fcn.0041a077
add esp, 0xc
test eax, eax
jne 0x410c57
push ecx
push edi
push dword [ebp - 4]
mov edx, str.linuxefi
mov ecx, esi
jmp 0x410c4b
cmp byte [ebx + 1], 0
mov edx, str.options
mov eax, str.append
cmove edx, eax
call fcn.0041a077
add esp, 0xc
test eax, eax
je 0x410c70
push edi
push dword [ebp - 4]
push esi
push str.__Patched__s:__s___s_n
call fcn.0042ed57
mov dword [ebp - 8], 1
add esp, 0x10
mov eax, dword [ebp - 4]
push eax
call fcn.004812c6
push edi
call fcn.004812c6
pop ecx
pop ecx
cmp byte [ebx + 2], 0
je 0x410d0f
mov ecx, dword [ebp - 0x10]
mov edi, str._NULL_
test ecx, ecx
mov eax, edi
push str._efi_boot
cmovne eax, ecx
push eax
call fcn.0048ad35
pop ecx
pop ecx
test eax, eax
jne 0x410d0f
mov eax, dword [str.isolinux.cfg]
mov ecx, edi
test eax, eax
cmovne ecx, eax
cmp dword [ebp + 8], 0
push ecx
cmovne edi, dword [ebp + 8]
push edi
call fcn.0048ad35
pop ecx
pop ecx
test eax, eax
jne 0x410d0f
cmp byte [0x5228ba], al
jne 0x410d0f
push esi
call fcn.00487101
mov edi, eax
pop ecx
test edi, edi
je 0x410d0f
mov eax, dword [ebp - 0xc]
push 1
push edi
push esi
mov word [edi + eax - 0xc], 0x7973
mov byte [edi + eax - 0xa], 0x73
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push edi
push esi
push str.Duplicated__s_to__s_n
call fcn.0042ed57
push edi
call fcn.004812c6
add esp, 0x10
cmp byte [ebx + 3], 0
je 0x410dad
mov edi, 0x104
push edi
call fcn.004812e1
push edi
mov ebx, eax
call fcn.004812e1
mov edi, eax
pop ecx
pop ecx
test ebx, ebx
je 0x410d9f
test edi, edi
je 0x410d9f
push 0x522480
push str.cd9660:_dev_iso9660__s
push 0x104
push ebx
call fcn.00403163
push 0x522540
push str.msdosfs:_dev_msdosfs__s
push 0x104
push edi
mov byte [ebx + 0x103], 0
call fcn.00403163
add esp, 0x1c
mov byte [edi + 0x103], 0
mov edx, 0x4b9df0
mov ecx, esi
push edi
push ebx
call fcn.0041a077
add esp, 0xc
test eax, eax
je 0x410d9f
push edi
push ebx
push esi
push str.__Patched__s:__s___s_n
call fcn.0042ed57
add esp, 0x10
mov dword [ebp - 8], 1
push ebx
call fcn.004812c6
push edi
call fcn.004812c6
pop ecx
pop ecx
cmp dword [ebp - 8], 0
je 0x410dc3
mov edx, dword [ebp - 0x14]
mov ecx, 0x50d18c
push 1
call fcn.0042dc87
pop ecx
push esi
call fcn.004812c6
pop ecx
pop edi
pop esi
pop ebx
leave
ret