Function at 0x1005e05e
Capabilities:
Copy file

Disassembly:
push 0x8c
mov eax, 0x10079d63
call fcn.1007568d
mov esi, edx
mov ebx, ecx
test ebx, ebx
jne 0x1005e080
push 0x80070057
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::Throw_long_int_]
push 0x58
pop edi
push edi
lea eax, [ebp - 0x98]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x98], edi
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x94], esi
push 0x1b69
call fcn.1000fd4d
and dword [ebp - 4], 0
mov eax, dword [ebp - 0x28]
and dword [ebp - 0x24], 0
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 1
lea eax, [ebp - 0x24]
mov esi, dword [ebx]
push 1
push eax
push ebx
mov ecx, dword [esi + 0x34]
call dword [0x10089918]
call dword [esi + 0x34]
cmp eax, 0x80030002
jne 0x1005e0e5
mov byte [ebp - 4], 0
jmp 0x1005e2e5
test eax, eax
jns 0x1005e0ec
push eax
jmp 0x1005e07a
xor eax, eax
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
and dword [ebp - 0x34], 0
and dword [ebp - 0x30], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
push dword [ebp - 0x24]
call fcn.100739e9
test eax, eax
js 0x1005e0e9
lea ecx, [ebp - 0x40]
call fcn.10073a90
push eax
lea ecx, [ebp - 0x20]
call fcn.1002c207
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.1002c357
add eax, 0x10
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.1002c2fe
mov ecx, eax
call fcn.1002c32b
mov esi, 0x105
lea ecx, [ebp - 0x1c]
push esi
call fcn.1000fbd2
mov dword [ebp - 0x7c], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1c]
call fcn.1000dd7d
push eax
lea ecx, [ebp - 0x1c]
call fcn.1000fc33
mov byte [ebp - 4], 4
push dword [ebp - 0x20]
mov dword [ebp - 0x78], esi
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
push eax
lea ecx, [ebp - 0x14]
call fcn.1002c207
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.1005e9f6
lea ecx, [ebp - 0x14]
call fcn.1002c32b
mov ecx, dword [ebp - 0x14]
cmp dword [ecx - 4], 1
jle 0x1005e1b2
push dword [ecx - 0xc]
lea ecx, [ebp - 0x14]
call fcn.1000fa63
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + 2]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 7
call fcn.1000dd7d
push eax
lea ecx, [ebp - 0x14]
call fcn.1000fc33
mov byte [ebp - 4], 6
call dword [sym.imp.PhotoBase.dll_public:_static_class_ATL::CAtlStringMgr____stdcall_Base::String::GetBaseStringManager_void_]
push eax
lea ecx, [ebp - 0x18]
call fcn.1000fe1b
lea edx, [ebp - 0x18]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x20]
call fcn.1005e30d
push 0x104
lea ecx, [ebp - 0x18]
call fcn.1000fbd2
mov dword [ebp - 0x6c], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x18]
call fcn.1000dd7d
push eax
lea ecx, [ebp - 0x18]
call fcn.1000fc33
mov byte [ebp - 4], 8
mov eax, dword [ebx]
push ebx
mov dword [ebp - 0x64], 0x802
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x10089918]
call esi
test eax, eax
js 0x1005e0e9
xor ebx, ebx
mov dword [ebp - 0x80], ebx
call dword [sym.imp.PhotoBase.dll_public:_static_class_ATL::CAtlStringMgr____stdcall_Base::String::GetBaseStringManager_void_]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1000fe1b
lea edx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x20]
call fcn.1005e38d
mov esi, dword [ebp - 0x2c]
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x8c], esi
call fcn.10010858
test eax, eax
je 0x1005e2a6
push ebx
push 0x80
push 2
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x40]
call fcn.10073a90
push eax
call dword [sym.imp.ADVAPI32.dll_DuplicateEncryptionInfoFile]
lea ecx, [ebp - 0x40]
call fcn.10073a90
push ebx
push dword [ebp - 0x7c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x1005e2a6
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::ThrowLastError_void_]
lea ecx, [esi - 0x10]
call fcn.1000fe6d
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.1000fe6d
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx - 0x10]
call fcn.1000fe6d
mov ecx, dword [ebp - 0x1c]
lea ecx, [ecx - 0x10]
call fcn.1000fe6d
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx - 0x10]
call fcn.1000fe6d
lea ecx, [ebp - 0x40]
call fcn.100739ba
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x1005e2fc
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x10089918]
call esi
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.1000fe6d
call fcn.1007563c
ret