Function at 0x1005b950
Capabilities:
Copy file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x101e7050
push eax
mov al, byte [0x10280b44]
mov dword fs:[0], esp
sub esp, 0x74
test al, 1
push ebx
push esi
push edi
jne 0x1005b996
mov dl, al
mov ecx, 0x10280b40
or dl, 1
mov byte [0x10280b44], dl
call fcn.10077860
push 0x1005bfc0
call fcn.1007122c
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x10280b58]
xor edi, edi
cmp ecx, edi
je 0x1005b9bc
mov edx, eax
sub edx, ecx
cmp edx, 0xea60
jae 0x1005b9bc
cmp eax, ecx
jae 0x1005bf66
lea ecx, [esp + 0x14]
mov dword [0x10280b58], eax
call fcn.10077860
push 1
push edi
push ecx
mov dword [esp + 0x94], edi
mov ecx, esp
mov dword [esp + 0x30], esp
push str.SDFile_Transform_Rename
call fcn.10077a80
lea ecx, [esp + 0x34]
call fcn.1004f100
lea eax, [esp + 0x14]
lea ecx, [esp + 0x28]
push eax
mov byte [esp + 0x8c], 1
call fcn.1004f720
mov ecx, dword [esp + 0x14]
cmp dword [ecx - 8], edi
jne 0x1005ba1b
push str.SDTransHelper.exe
lea ecx, [esp + 0x18]
call fcn.100785e0
lea ecx, [esp + 0x10]
call fcn.10077860
push 1
push edi
push ecx
mov byte [esp + 0x94], 2
mov ecx, esp
mov dword [esp + 0x30], esp
push str.SDFile_Transform_Rename_PE_InternalName
call fcn.10077a80
lea ecx, [esp + 0x34]
call fcn.1004f260
lea edx, [esp + 0x10]
lea ecx, [esp + 0x28]
push edx
call fcn.1004f720
cmp dword [0x10282758], edi
je 0x1005ba82
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push str.GetSDTranshelperModulePath_wstrMod__s__wstrInternalName__s_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x18
call fcn.10022c90
push eax
lea ecx, [esp + 0x24]
call fcn.10077a80
lea ecx, [esp + 0x18]
mov byte [esp + 0x88], 3
call fcn.10077860
mov edx, dword [esp + 0x20]
push str.winrdlv3.exe
push edx
lea eax, [esp + 0x20]
push 0x10236e60
push eax
mov byte [esp + 0x98], 4
call fcn.1007b320
add esp, 0x10
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x10280b40
call fcn.100784b0
lea ecx, [esp + 0x1c]
call fcn.10077860
mov byte [esp + 0x88], 5
call fcn.10022d40
push eax
lea edx, [esp + 0x20]
push str._sSDTransHelper
push edx
call fcn.1007b320
mov eax, dword [esp + 0x28]
push edi
push eax
call fcn.100d6c80
add esp, 0x14
lea ecx, [esp + 0xc]
call fcn.10077860
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
push ecx
push edx
lea eax, [esp + 0x14]
push 0x10236e60
push eax
mov byte [esp + 0x98], 6
call fcn.1007b320
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
add esp, 0x10
push edi
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x1005beec
cmp dword [0x10282758], edi
je 0x1005bb7a
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
push eax
push ecx
push str.GetSDTranshelperModulePath_CopyFile__s_____s_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x18
mov edx, dword [esp + 0x10]
cmp dword [edx - 8], edi
je 0x1005bde0
lea ecx, [esp + 0x60]
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x64]
mov byte [esp + 0x88], 7
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x68]
mov byte [esp + 0x88], 8
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x6c]
mov byte [esp + 0x88], 9
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x70]
mov byte [esp + 0x88], 0xa
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x74]
mov byte [esp + 0x88], 0xb
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], 0xc
call sub.MFC42u.DLL_CString::CString_2
lea ecx, [esp + 0x7c]
mov byte [esp + 0x88], 0xd
call sub.MFC42u.DLL_CString::CString_2
mov word [esp + 0x4c], di
mov word [esp + 0x4e], di
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
lea eax, [esp + 0xc]
mov bl, 0xe
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x8c], bl
call fcn.10077870
mov eax, dword [eax]
lea ecx, [esp + 0x4c]
push edi
push ecx
push eax
mov byte [esp + 0x94], 0xf
call fcn.1012e550
add esp, 0xc
lea ecx, [esp + 0x24]
mov esi, eax
mov byte [esp + 0x88], bl
call fcn.10078300
cmp esi, edi
je 0x1005be64
push 0x1024fb14
lea ecx, [esp + 0x14]
call fcn.10079540
mov esi, eax
cmp esi, 0xffffffff
je 0x1005bdf4
lea edx, [esp + 0x24]
push esi
push edx
lea ecx, [esp + 0x18]
call fcn.1007aad0
mov eax, dword [eax]
lea ecx, [esp + 0x6c]
push eax
mov byte [esp + 0x8c], 0x17
call sub.MFC42u.DLL_CString::operator_1
lea ecx, [esp + 0x24]
mov byte [esp + 0x88], bl
call fcn.10078300
inc esi
lea eax, [esp + 0x24]
push esi
push eax
lea ecx, [esp + 0x18]
call fcn.1007a660
mov eax, dword [eax]
lea ecx, [esp + 0x70]
push eax
mov byte [esp + 0x8c], 0x18
call sub.MFC42u.DLL_CString::operator_1
lea ecx, [esp + 0x24]
mov byte [esp + 0x88], bl
call fcn.10078300
lea ecx, [esp + 0xc]
push ecx
lea ecx, [esp + 0x28]
call fcn.10077870
mov eax, dword [eax]
lea edx, [esp + 0x4c]
push edi
push edx
push eax
mov byte [esp + 0x94], 0x19
call fcn.1012f0d0
add esp, 0xc
lea ecx, [esp + 0x24]
mov esi, eax
mov byte [esp + 0x88], bl
call fcn.10078300
cmp dword [0x10282758], edi
je 0x1005bd50
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
push esi
push eax
push ecx
push str.GetSDTranshelperModulePath_strInternalName__S__strOriginalFileName__S__bRet__d_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x1c
cmp esi, edi
je 0x1005be64
lea ecx, [esp + 0x7c]
mov byte [esp + 0x88], 0x27
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], 0x26
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x74]
mov byte [esp + 0x88], 0x25
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x70]
mov byte [esp + 0x88], 0x24
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x6c]
mov byte [esp + 0x88], 0x23
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x68]
mov byte [esp + 0x88], 0x22
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x64]
mov byte [esp + 0x88], 0x21
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x60]
mov byte [esp + 0x88], 6
call sub.MFC42u.DLL_CString::CString
lea edx, [esp + 0xc]
mov ecx, 0x10280b40
push edx
call fcn.100784b0
jmp 0x1005beec
lea ecx, [esp + 0x7c]
mov byte [esp + 0x88], 0x16
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], 0x15
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x74]
mov byte [esp + 0x88], 0x14
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x70]
mov byte [esp + 0x88], 0x13
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x6c]
mov byte [esp + 0x88], 0x12
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x68]
mov byte [esp + 0x88], 0x11
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x88], 0x10
jmp 0x1005bed2
lea ecx, [esp + 0x7c]
mov byte [esp + 0x88], 0x20
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x78]
mov byte [esp + 0x88], 0x1f
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x74]
mov byte [esp + 0x88], 0x1e
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x70]
mov byte [esp + 0x88], 0x1d
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x6c]
mov byte [esp + 0x88], 0x1c
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x68]
mov byte [esp + 0x88], 0x1b
call sub.MFC42u.DLL_CString::CString
mov byte [esp + 0x88], 0x1a
lea ecx, [esp + 0x64]
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0x60]
mov byte [esp + 0x88], 6
call sub.MFC42u.DLL_CString::CString
lea ecx, [esp + 0xc]
mov byte [esp + 0x88], 5
call fcn.10078300
lea ecx, [esp + 0x1c]
mov byte [esp + 0x88], 4
call fcn.10078300
lea ecx, [esp + 0x18]
mov byte [esp + 0x88], 3
call fcn.10078300
lea ecx, [esp + 0x20]
mov byte [esp + 0x88], 2
call fcn.10078300
lea ecx, [esp + 0x10]
mov byte [esp + 0x88], 1
call fcn.10078300
lea ecx, [esp + 0x28]
mov byte [esp + 0x88], 0
call fcn.1004f1c0
lea ecx, [esp + 0x14]
mov dword [esp + 0x88], 0xffffffff
call fcn.10078300
cmp dword [0x10282758], edi
je 0x1005bf8d
mov eax, dword [0x10280b40]
push eax
push str.GetSDTranshelperModulePath___s_
push str.SDTransform
push 0xffffffffffffffff
push 0x10281ec4
call fcn.100de220
add esp, 0x14
mov ecx, dword [esp + 0x90]
push 0x10280b40
call fcn.100784b0
mov ecx, dword [esp + 0x80]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x80
ret