Function at 0x523745
Capabilities:
Copy file

Disassembly:
push 0x48
mov eax, 0x589d28
call fcn.00560e5c
mov ebx, ecx
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x28], al
mov ecx, dword [0x6b535c]
mov eax, ecx
mov esi, dword [0x6b5358]
sub eax, esi
push 0x18
pop edi
cdq
idiv edi
xor edi, edi
mov byte [ebp - 4], 2
inc edi
test eax, eax
jne 0x52379d
cmp byte [ebp + 0x20], al
je 0x5238a9
jmp 0x523979
cmp byte [ebp + 0x20], 0
je 0x5238a9
cmp esi, ecx
je 0x523979
push 0xffffffffffffffff
push 0
push 0x5d0cd0
lea ecx, [ebp - 0x28]
call fcn.00406717
sub esp, 0x18
mov ecx, esp
push esi
call fcn.0040e3a9
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.0052403f
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 3
call fcn.0046b5f1
push 0
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.004066d3
sub esp, 0x18
mov ecx, esp
push esi
call fcn.0040e3a9
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.005240b3
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call fcn.00423173
push 0
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.004066d3
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0040e3a9
mov ecx, ebx
call fcn.00524bdf
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x28]
push 0xffffffffffffffff
push 0
add eax, 0xffffffe8
push eax
call fcn.00423173
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
cmp dword [esi + 0x14], 0x10
jb 0x523865
mov eax, dword [esi]
jmp 0x523867
mov eax, esi
push edi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x52388c
push esi
lea eax, [ebp - 0x44]
mov ecx, 0x6b5358
push eax
call fcn.00524f8d
mov esi, dword [eax]
mov eax, dword [0x6b535c]
jmp 0x52389c
mov eax, dword [0x6b535c]
add esi, 0x18
cmp esi, eax
je 0x523979
cmp esi, eax
jne 0x5237af
jmp 0x523979
push 0xffffffffffffffff
push 0
push 0x5d0cd0
lea ecx, [ebp - 0x28]
call fcn.00406717
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.0040e3a9
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.0052403f
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 5
call fcn.0046b5f1
push 0
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.004066d3
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.0040e3a9
lea eax, [ebp - 0x40]
mov ecx, ebx
push eax
call fcn.005240b3
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.00423173
push 0
push edi
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 2
call fcn.004066d3
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.0040e3a9
mov ecx, ebx
call fcn.00524bdf
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x28]
push 0xffffffffffffffff
push 0
add eax, 0xffffffe8
push eax
call fcn.00423173
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x28]
push edi
cmovae ecx, dword [ebp - 0x28]
lea eax, [ebp + 8]
cmp dword [ebp + 0x1c], 0x10
push ecx
cmovae eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x523979
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push edi
lea ecx, [ebp - 0x28]
call fcn.004066d3
lea ecx, [ebp - 0x50]
call fcn.004158f1
push 0
push edi
lea ecx, [ebp + 8]
call fcn.004066d3
call fcn.00560e1a
ret 0x1c