Function at 0x1000e5f1
Capabilities:
Check if file exists
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
and dword [ebp - 4], 0
push ebx
push esi
push edi
call fcn.100052df
cmp dword [0x1002b73c], 0
jne 0x1000e939
push 0x14
pop eax
call sub.ntdll.dll__alloca_probe
mov esi, esp
test esi, esi
je 0x1000e634
push 0x85
push 0x13
mov eax, esi
mov edx, 0x1002929c
call fcn.100117e3
call fcn.10010a9f
lea edx, [ebp - 0x20c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1000e641
mov eax, esi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000e64d
lea edi, [ebp - 0x20c]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1000e65d
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x20c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathAppendA]
test eax, eax
je 0x1000e78a
call fcn.100021e8
lea edx, [ebp - 0x108]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1000e69b
push 0xc
call fcn.10006923
push eax
lea eax, [ebp - 0x108]
push eax
call ebx
lea eax, [ebp - 0x108]
push eax
call fcn.1001253a
push 0x10
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000e6e1
push 0x87
push 0xc
mov edx, 0x10029280
call fcn.100117e3
push eax
lea eax, [ebp - 0x108]
push eax
call ebx
lea eax, [ebp - 0x20c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000e6f4
lea ecx, [ebp - 0x20c]
push ecx
lea ecx, [ebp - 0x108]
sub eax, edx
push ecx
call fcn.10012238
test eax, eax
je 0x1000e939
call fcn.100021e8
lea edx, [ebp - 0x108]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1000e725
push 0xc
call fcn.10006923
push eax
lea eax, [ebp - 0x108]
push eax
call ebx
push 0x10
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000e75f
push 0x81
push 0xe
mov edx, 0x1002928c
call fcn.100117e3
push eax
lea eax, [ebp - 0x108]
push eax
call ebx
push 0
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x1000e78a
mov dword [ebp - 4], 1
push 0x18
pop eax
call sub.ntdll.dll__alloca_probe
mov esi, esp
test esi, esi
je 0x1000e7ab
push 0x86
push 0x14
mov eax, esi
mov edx, 0x10029600
call fcn.100117e3
call fcn.10010a9f
lea edx, [ebp - 0x20c]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1000e7b8
mov eax, esi
mov edx, esi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000e7c6
lea edi, [ebp - 0x20c]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x1000e7d6
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [ebp - 0x20c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x1000e8ff
call fcn.100021e8
lea edx, [ebp - 0x108]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1000e810
push 0xc
call fcn.10006923
push eax
lea eax, [ebp - 0x108]
push eax
call ebx
lea eax, [ebp - 0x108]
push eax
call fcn.1001253a
push 0x10
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000e856
push 0x8d
push 0xc
mov edx, 0x100295e4
call fcn.100117e3
push eax
lea eax, [ebp - 0x108]
push eax
call ebx
lea eax, [ebp - 0x20c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000e869
lea ecx, [ebp - 0x20c]
push ecx
lea ecx, [ebp - 0x108]
sub eax, edx
push ecx
call fcn.10012238
test eax, eax
je 0x1000e939
call fcn.100021e8
lea edx, [ebp - 0x108]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x1000e89a
push 0xc
call fcn.10006923
push eax
lea eax, [ebp - 0x108]
push eax
call ebx
push 0x10
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000e8d4
push 0x89
push 0xe
mov edx, 0x100295f0
call fcn.100117e3
push eax
lea eax, [ebp - 0x108]
push eax
call ebx
push 0
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x1000e8ff
mov dword [ebp - 4], 1
cmp dword [ebp - 4], 0
je 0x1000e939
push 4
pop eax
call sub.ntdll.dll__alloca_probe
mov eax, esp
test eax, eax
je 0x1000e924
push 0x88
push 3
mov edx, 0x100280f8
call fcn.100117e3
push 1
push eax
push 0xc
call fcn.10006923
push eax
call fcn.1000adce
call fcn.10005682
lea esp, [ebp - 0x218]
pop edi
pop esi
pop ebx
leave
ret