Function at 0x10009a74
Capabilities:
Copy file
Delete file
Move file
Set file attributes

Disassembly:
push ebp
lea ebp, [esp - 0x3a0]
sub esp, 0x420
mov eax, dword [0x10274398]
xor eax, ebp
mov dword [ebp + 0x39c], eax
mov eax, dword [ebp + 0x3ac]
push ebx
push esi
mov esi, dword [ebp + 0x3a8]
push edi
push eax
mov ebx, 0x104
lea eax, [ebp + 0x194]
push ebx
push eax
mov dword [ebp - 0x80], esi
xor edi, edi
call fcn.100075c8
lea eax, [ebp + 0x194]
push eax
call fcn.100167d3
add esp, 0x10
test byte [0x10275d38], 1
mov dword [ebp - 0x7c], eax
je 0x10009ae4
push esi
call fcn.10007633
pop ecx
test eax, eax
jne 0x10009ae4
xor eax, eax
inc eax
jmp 0x10009e56
test byte [0x10275d38], 0x80
je 0x10009afa
lea eax, [ebp + 0x194]
push eax
call fcn.100096c2
pop ecx
test byte [0x10275d38], 2
je 0x10009bdb
push ebx
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp + 0x194]
push 1
push eax
call fcn.1000c998
add esp, 0x10
test eax, eax
je 0x10009b96
lea eax, [ebp - 0x74]
push eax
push str.AIL:FindFromPendingFileList___s
push 3
call fcn.101d1209
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x74]
push eax
push esi
call fcn.100085af
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x10009b9f
cmp dword [ebp - 0x78], eax
jg 0x10009b87
push str.AIL:Dest_file_is_equal_or_higher
push 3
call fcn.101d0efc
pop ecx
pop ecx
test byte [0x10275d38], 8
je 0x10009adc
lea eax, [ebp + 0x194]
push 1
push eax
call fcn.1000792d
pop ecx
pop ecx
test eax, eax
jge 0x10009adc
xor eax, eax
jmp 0x10009e56
lea eax, [ebp + 0x194]
push eax
call fcn.1000c987
pop ecx
jmp 0x10009b9b
mov edi, 0x103
test edi, edi
je 0x10009bdb
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x194]
push eax
push esi
call fcn.100085af
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x10009bdb
cmp dword [ebp - 0x78], eax
jg 0x10009bdb
push str.AIL:Dest_file_is_equal_or_higher
push 3
call fcn.101d0efc
lea eax, [ebp + 0x194]
push eax
call fcn.1000c987
add esp, 0xc
jmp 0x10009b5b
cmp dword [ebp + 0x3b0], 0
je 0x10009bf6
push 0
push dword [ebp - 0x7c]
push 0x27d9
call fcn.10018d5b
add esp, 0xc
lea eax, [ebp + 0x194]
test edi, edi
je 0x10009c24
push edi
push eax
push esi
push str.AIL:Copy:CompareFile__s___s__err_d
push 1
call fcn.101d1209
push 0
push edi
push 0x32810143
call fcn.10019470
add esp, 0x20
jmp 0x10009b80
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0
lea eax, [ebp + 0x194]
push eax
push esi
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x10009dd6
call esi
mov dword [ebp - 0x7c], eax
cmp eax, 0x20
je 0x10009c66
cmp eax, 5
jne 0x10009f5b
test byte [0x10275d38], 0x44
je 0x10009f5b
lea eax, [ebp + 0x194]
push eax
lea eax, [ebp - 0x74]
push ebx
push eax
call fcn.10016ac1
lea eax, [ebp - 0x74]
push 0x2e
push eax
call fcn.101d1bcf
add esp, 0x14
test eax, eax
je 0x10009c9b
xor ecx, ecx
mov word [eax], cx
mov al, byte [0x10275d38]
test al, 0x40
je 0x10009e6e
push ebx
lea eax, [ebp - 0x74]
push str..t1_
push eax
call fcn.10016bb3
lea eax, [ebp - 0x74]
push eax
push str.AIL:Copy:Tmp_s
push 3
call fcn.101d1209
add esp, 0x18
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ebx, dword [sym.imp.KERNEL32.dll_MoveFileW]
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp + 0x194]
push eax
call ebx
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x10009d1f
call esi
mov esi, eax
push esi
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp + 0x194]
push eax
push str.AIL:Copy:Rename__s___s__err_d
push 1
call fcn.101d1209
push 0
push esi
push 0x32810144
call fcn.10019470
add esp, 0x20
jmp 0x10009e53
push dword [ebp - 0x7c]
lea eax, [ebp + 0x194]
push eax
push str.AIL:Copy__s__d____Rename
push 3
call fcn.101d1209
add esp, 0x10
push 0
lea eax, [ebp + 0x194]
push eax
push dword [ebp - 0x80]
call edi
mov dword [ebp - 0x78], eax
test eax, eax
jne 0x10009daf
call esi
mov edi, eax
push edi
lea eax, [ebp + 0x194]
push eax
push dword [ebp - 0x80]
push str.AIL:Copy__s___s__err_d
push 1
call fcn.101d1209
push 0
push edi
push 0x32810142
call fcn.10019470
add esp, 0x20
lea eax, [ebp + 0x194]
push eax
lea eax, [ebp - 0x74]
push eax
call ebx
test eax, eax
jne 0x10009e53
call esi
push eax
lea eax, [ebp + 0x194]
push eax
lea eax, [ebp - 0x74]
push eax
push str.AIL:Copy:Rename__s___s__err_d
push 2
call fcn.101d1209
add esp, 0x14
jmp 0x10009e53
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.1000c929
pop ecx
pop ecx
test eax, eax
jne 0x10009dd6
call esi
push eax
lea eax, [ebp - 0x74]
push eax
push str.AIL:Copy:DeleteOnReboot__s__err_d
push 2
call fcn.101d1209
add esp, 0x10
test byte [0x10275d38], 0x20
je 0x10009e0e
push 0x80
lea eax, [ebp + 0x194]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x10009e0e
call esi
push eax
lea eax, [ebp + 0x194]
push eax
push str.AIL:Copy:SetAttr__s__d
push 3
call fcn.101d1209
add esp, 0x10
lea eax, [ebp + 0x194]
push eax
push str.AIL:Copy__s_ok
push 4
call fcn.101d1209
lea eax, [ebp + 0x194]
push eax
call fcn.1000c987
add esp, 0x10
test byte [0x10275d38], 8
je 0x10009e53
lea eax, [ebp + 0x194]
push 1
push eax
call fcn.1000792d
pop ecx
pop ecx
xor ecx, ecx
test eax, eax
setge cl
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp + 0x39c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101d14d7
add ebp, 0x3a0
leave
ret
test al, 4
je 0x10009e53
push ebx
lea eax, [ebp - 0x74]
push str..t0_
push eax
call fcn.10016bb3
lea eax, [ebp - 0x74]
push eax
push str.AIL:Copy:Tmp_s
push 3
call fcn.101d1209
add esp, 0x18
xor ebx, ebx
push ebx
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x80]
call edi
mov dword [ebp - 0x78], eax
cmp eax, ebx
jne 0x10009ec5
call esi
mov esi, eax
push esi
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x80]
push str.AIL:Copy:CopyToTemp__s___s__err_d
push 1
call fcn.101d1209
push ebx
jmp 0x10009d0c
test byte [0x10275d38], 0x20
je 0x10009ef7
push 0x80
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x10009ef7
call esi
push eax
lea eax, [ebp - 0x74]
push eax
push str.AIL:Copy:SetAttr__s__d
push 3
call fcn.101d1209
add esp, 0x10
lea eax, [ebp + 0x194]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.1000c929
pop ecx
pop ecx
test eax, eax
jne 0x10009f38
mov dword [ebp - 0x78], ebx
call esi
mov esi, eax
push esi
lea eax, [ebp + 0x194]
push eax
lea eax, [ebp - 0x74]
push eax
push str.AIL:Copy:ReplaceOnReboot__s___s__err_d
push 1
call fcn.101d1209
push ebx
push esi
push 0x32810145
jmp 0x10009d12
push dword [ebp - 0x7c]
lea eax, [ebp + 0x194]
push eax
push str.AIL:Copy__s__d____CopyOnReboot
push 3
call fcn.101d1209
add esp, 0x10
call sym.AhnIEx.dll_AhnIEx_SetReboot
jmp 0x10009e30
push eax
lea eax, [ebp + 0x194]
push eax
push dword [ebp - 0x80]
push str.AIL:Copy__s___s__err_d
push 1
call fcn.101d1209
push 0
push dword [ebp - 0x7c]
push 0x32810142
jmp 0x10009d12