Function at 0x100281f0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10029bf2
mov eax, dword fs:[0]
push eax
sub esp, 0xc54
mov eax, dword [0x10035ccc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xc60], ecx
mov dword [ebp - 0x21c], 0
push 0x1002f0d0
lea ecx, [ebp - 0x218]
call fcn.100020d0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x830]
call fcn.100022b0
mov byte [ebp - 4], 1
push 0x104
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x62c]
push ecx
call fcn.1001023d
add esp, 0xc
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x62c]
push eax
mov ecx, dword [ebp - 0xc60]
call sym.DatAccess.dll_public:_int___thiscall_CDatAccess::WriteParamFile_wchar_t_const___wchar_t_const__
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
je 0x100282c6
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0xc48], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x830]
call fcn.10002150
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.10002150
mov eax, dword [ebp - 0xc48]
jmp 0x10028698
push 0x104
lea edx, [ebp - 0xc44]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x82c]
push eax
lea ecx, [ebp - 0x214]
push ecx
lea edx, [ebp - 0xa3c]
push edx
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0xc44]
push ecx
call fcn.10001430
add esp, 0x14
push 0x1002f0d4
push 0x1002f0dc
lea edx, [ebp - 0x62c]
push edx
push 0x1002f0f0
lea eax, [ebp - 0x424]
push eax
call fcn.10001400
add esp, 0x14
push 0x1002f0f4
push 0x1002f0fc
lea ecx, [ebp - 0xa3c]
push ecx
lea edx, [ebp - 0x838]
push edx
lea eax, [ebp - 0xc44]
push eax
call fcn.10001400
add esp, 0x14
push 0
lea ecx, [ebp - 0x424]
push ecx
lea edx, [ebp - 0xc44]
push edx
mov ecx, dword [ebp - 0xc60]
call sym.DatAccess.dll_private:_int___thiscall_CDatAccess::DllCopy_WithExpand_wchar_t_const___wchar_t_const___int_
test eax, eax
jne 0x1002849b
push 0x1002f110
push str.DatAccess
lea eax, [ebp - 0xa3c]
push eax
lea ecx, [ebp - 0x838]
push ecx
lea edx, [ebp - 0xc44]
push edx
call fcn.10001400
add esp, 0x14
lea eax, [ebp - 0xc44]
push eax
lea ecx, [ebp - 0x218]
call fcn.100020b0
lea ecx, [ebp - 0x62c]
push ecx
lea ecx, [ebp - 0x830]
call fcn.100020b0
push 0x1002f12c
lea ecx, [ebp - 0x830]
call fcn.10001050
push 0x1002f130
lea ecx, [ebp - 0x830]
call fcn.10001050
push 0
lea ecx, [ebp - 0x830]
call fcn.100017e0
push eax
lea ecx, [ebp - 0x218]
call fcn.100017e0
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x1002849b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x83c], 2
cmp dword [ebp - 0x83c], 0
je 0x10028465
mov dword [ebp - 0xc4c], 3
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x830]
call fcn.10002150
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.10002150
mov eax, dword [ebp - 0xc4c]
jmp 0x10028698
mov dword [ebp - 0xc50], 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x830]
call fcn.10002150
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.10002150
mov eax, dword [ebp - 0xc50]
jmp 0x10028698
push 0x1002f14c
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x62c]
push eax
push 0x1002f154
lea ecx, [ebp - 0x424]
push ecx
call fcn.10001400
add esp, 0x14
push 0x1002f158
push 0x1002f160
lea edx, [ebp - 0xa3c]
push edx
lea eax, [ebp - 0x838]
push eax
lea ecx, [ebp - 0xc44]
push ecx
call fcn.10001400
add esp, 0x14
push 0
lea edx, [ebp - 0x424]
push edx
lea eax, [ebp - 0xc44]
push eax
mov ecx, dword [ebp - 0xc60]
call sym.DatAccess.dll_private:_int___thiscall_CDatAccess::DllCopy_WithExpand_wchar_t_const___wchar_t_const___int_
test eax, eax
jne 0x10028665
push 0x1002f174
push 0x1002f17c
lea ecx, [ebp - 0xa3c]
push ecx
lea edx, [ebp - 0x838]
push edx
lea eax, [ebp - 0xc44]
push eax
call fcn.10001400
add esp, 0x14
lea ecx, [ebp - 0xc44]
push ecx
lea ecx, [ebp - 0x218]
call fcn.100020b0
lea edx, [ebp - 0x62c]
push edx
lea ecx, [ebp - 0x830]
call fcn.100020b0
push 0x1002f190
lea ecx, [ebp - 0x830]
call fcn.10001050
mov eax, dword [ebp + 0xc]
push eax
call fcn.10010223
add esp, 4
test eax, eax
je 0x10028585
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10010223
add esp, 4
cmp eax, 0xffffffff
jne 0x10028597
push 0x1002f194
lea ecx, [ebp - 0x830]
call fcn.10001050
jmp 0x100285b6
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x830]
call fcn.10001050
push str..exe
lea ecx, [ebp - 0x830]
call fcn.10001070
push 0
lea ecx, [ebp - 0x830]
call fcn.100017e0
push eax
lea ecx, [ebp - 0x218]
call fcn.100017e0
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x10028665
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x83c], 2
cmp dword [ebp - 0x83c], 0
je 0x10028632
mov dword [ebp - 0xc54], 5
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x830]
call fcn.10002150
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.10002150
mov eax, dword [ebp - 0xc54]
jmp 0x10028698
mov dword [ebp - 0xc58], 6
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x830]
call fcn.10002150
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.10002150
mov eax, dword [ebp - 0xc58]
jmp 0x10028698
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0xc5c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x830]
call fcn.10002150
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x218]
call fcn.10002150
mov eax, dword [ebp - 0xc5c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1000fb87
mov esp, ebp
pop ebp
ret 8