Function at 0x5b8ad0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff5c
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x88], eax
xor eax, eax
push ebp
push 0x5b8da0
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x44]
mov eax, dword [0x66e960]
mov eax, dword [eax]
call fcn.0064eb58
xor al, 1
mov byte [ebp - 0x95], al
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
cmp byte [eax + 0x14e], 0
jne 0x5b8b3c
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov dl, 1
call fcn.00562e5c
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
call fcn.005bd094
xor eax, eax
mov dword [ebp - 0x90], eax
call fcn.0064e78c
mov dword [ebp - 0x8c], eax
xor eax, eax
mov dword [ebp - 0x94], eax
xor eax, eax
push ebp
push 0x5b8d36
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
call fcn.005b4c68
pop ecx
mov eax, dword [0x670050]
test byte [eax + 1], 0x20
jne 0x5b8b8e
push ebp
mov eax, 0x5b8db8
call fcn.005b3d68
pop ecx
push ebp
mov eax, 0x5b8dd4
call fcn.005b3d68
pop ecx
push ebp
call fcn.005b507c
pop ecx
push ebp
mov eax, 0x5b8de8
call fcn.005b3d68
pop ecx
mov esi, dword [0x66f2a4]
mov esi, dword [esi + 4]
cmp esi, 0x80000000
je 0x5b8bf3
push ebp
lea edx, [ebp - 0xa0]
mov eax, dword [0x66f2a4]
mov eax, esi
call fcn.004c08e8
mov ecx, dword [ebp - 0xa0]
lea eax, [ebp - 0x9c]
mov edx, 0x5b8df8
call fcn.00403568
mov eax, dword [ebp - 0x9c]
call fcn.005b3d68
pop ecx
mov eax, dword [0x66f2a4]
cmp dword [eax + 8], 0
je 0x5b8ccc
mov eax, dword [0x66f2a4]
mov eax, dword [eax + 8]
call fcn.00654ea8
test al, al
je 0x5b8ccc
lea edx, [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov eax, dword [eax + 0x160]
call fcn.00655234
lea eax, [ebp - 0xa4]
mov edx, dword [0x6702d8]
mov edx, dword [edx]
call fcn.00403ab4
mov eax, dword [ebp - 0xa4]
call fcn.006219e4
push 0
lea edx, [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
mov eax, dword [eax + 0x160]
call fcn.00655234
lea eax, [ebp - 0xa4]
mov edx, dword [0x66f424]
mov edx, dword [edx]
mov edx, dword [edx + 0x18]
mov edx, dword [edx]
call fcn.00403ab4
mov eax, dword [ebp - 0xa4]
push eax
mov eax, dword [0x66f2a4]
mov eax, dword [eax + 8]
push eax
call sub.kernel32.dll_CopyFileW
push ebp
lea edx, [ebp - 0xa4]
mov eax, dword [0x66f424]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax]
call fcn.005b3f4c
mov edx, dword [ebp - 0xa4]
lea ecx, [ebp - 0x9c]
mov eax, 0x5b8e04
call fcn.00655be8
mov eax, dword [ebp - 0x9c]
call fcn.005b3d68
pop ecx
push ebp
mov eax, 0x5b8e20
call fcn.005b3d68
pop ecx
mov eax, dword [0x670050]
test byte [eax + 1], 0x20
je 0x5b8cef
push ebp
mov eax, 0x5b8e2c
call fcn.005b3d68
pop ecx
push ebp
call fcn.005b89cc
pop ecx
mov eax, dword [0x670050]
test byte [eax + 1], 0x20
je 0x5b8d0d
push ebp
mov eax, 0x5b8e50
call fcn.005b3d68
pop ecx
push ebp
mov eax, 0x5b8e70
call fcn.005b3d68
pop ecx
mov eax, dword [ebp + 8]
cmp byte [eax - 0x38], 0
jne 0x5b8d2c
mov eax, dword [ebp + 8]
push eax
call fcn.0059bffc
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5b8d42
mov eax, dword [ebp - 0x8c]
call fcn.0064ecc8
mov eax, dword [ebp - 0x8c]
call fcn.0064edac
mov dl, byte [ebp - 0x95]
xor dl, 1
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x44]
call fcn.00562ee4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5b8da7
lea eax, [ebp - 0xa4]
call fcn.00403880
lea eax, [ebp - 0xa0]
mov edx, 2
call fcn.00403298
lea eax, [ebp - 0x88]
call fcn.00403274
ret