Function at 0x1001b6e0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003d58c
mov eax, dword fs:[0]
push eax
sub esp, 0x178
mov eax, dword [0x10075988]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push str..sl2
lea eax, [ebp - 0x184]
push eax
call fcn.1001bb50
mov esi, dword [ebp - 0x184]
xor ecx, ecx
mov dword [ebp - 0x178], ecx
mov ecx, dword [ebp - 0x180]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
mov dword [ebp - 4], 0
add eax, edx
je 0x1001b91b
xor ebx, ebx
jmp 0x1001b760
lea eax, [ebx + esi]
push eax
lea eax, [ebp - 0x174]
push eax
mov ecx, edi
call fcn.1001ba10
cmp dword [edi + 0x14], 0x10
mov byte [ebp - 4], 1
jb 0x1001b780
mov eax, dword [edi]
jmp 0x1001b782
mov eax, edi
push dword [ebp + 8]
push eax
lea eax, [ebp - 0x114]
push str._s_012lu_
push eax
call fcn.1001b1e0
add esp, 0x10
cmp byte [ebp - 0x114], 0
mov dword [ebp - 0x130], 0xf
mov dword [ebp - 0x134], 0
mov byte [ebp - 0x144], 0
jne 0x1001b7c2
xor ecx, ecx
jmp 0x1001b7d9
lea ecx, [ebp - 0x114]
lea edx, [ecx + 1]
jmp 0x1001b7d0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001b7d0
sub ecx, edx
push ecx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x144]
call fcn.10002550
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x15c]
push eax
mov byte [ebp - 4], 2
call fcn.10019ae0
push str..bak
push eax
lea eax, [ebp - 0x12c]
push eax
mov byte [ebp - 4], 3
call fcn.10019b60
add esp, 0x18
cmp dword [ebp - 0x148], 0x10
jb 0x1001b83a
push dword [ebp - 0x15c]
call fcn.1001f75f
add esp, 4
cmp dword [ebp - 0x130], 0x10
mov dword [ebp - 0x148], 0xf
mov dword [ebp - 0x14c], 0
mov byte [ebp - 0x15c], 0
jb 0x1001b86c
push dword [ebp - 0x144]
call fcn.1001f75f
add esp, 4
cmp dword [ebp - 0x118], 0x10
mov eax, dword [ebp - 0x184]
lea ecx, [ebp - 0x12c]
cmovae ecx, dword [ebp - 0x12c]
add eax, ebx
cmp dword [eax + 0x14], 0x10
jb 0x1001b890
mov eax, dword [eax]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
cmp dword [ebp - 0x118], 0x10
jb 0x1001b8b1
push dword [ebp - 0x12c]
call fcn.1001f75f
add esp, 4
cmp dword [ebp - 0x160], 0x10
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0
jb 0x1001b8e7
push dword [ebp - 0x174]
call fcn.1001f75f
add esp, 4
mov ecx, dword [ebp - 0x180]
mov esi, dword [ebp - 0x184]
inc dword [ebp - 0x178]
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
add ebx, 0x18
cmp dword [ebp - 0x178], eax
jb 0x1001b760
mov ecx, edi
call fcn.1001c080
mov esi, dword [ebp - 0x184]
test esi, esi
je 0x1001b96d
mov edi, dword [ebp - 0x180]
cmp esi, edi
je 0x1001b964
cmp dword [esi + 0x14], 0x10
jb 0x1001b946
push dword [esi]
call fcn.1001f75f
add esp, 4
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
add esi, 0x18
cmp esi, edi
jne 0x1001b936
mov esi, dword [ebp - 0x184]
push esi
call fcn.1001f75f
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001fee4
mov esp, ebp
pop ebp
ret 8