Function at 0x4b9660
Capabilities:
Copy file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x31
push 0
push 0
dec ecx
jne 0x4b9668
push ebx
push esi
push edi
lea eax, [ebp - 0x170]
mov edx, dword [0x407bf8]
call fcn.00404fb0
xor eax, eax
push ebp
push 0x4b9a4f
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 1
xor eax, eax
push ebp
push 0x4b97af
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x4d575c]
mov edx, dword [edx]
lea eax, [ebp - 0x174]
mov ecx, 0x4b9a68
call fcn.004045ac
mov eax, dword [ebp - 0x174]
lea ecx, [ebp - 0x170]
mov edx, 0x3f
call fcn.00409938
test eax, eax
jne 0x4b9708
mov edx, dword [0x4d575c]
mov edx, dword [edx]
lea eax, [ebp - 0x178]
mov ecx, dword [ebp - 0x164]
call fcn.004045ac
mov eax, dword [ebp - 0x178]
call fcn.004099c8
lea eax, [ebp - 0x170]
call fcn.00409988
test eax, eax
je 0x4b96d5
lea eax, [ebp - 0x170]
call fcn.004099ac
mov eax, dword [0x4d5838]
cmp byte [eax], 0
je 0x4b97a5
mov eax, 0x4d8f1c
call fcn.004b704c
mov edx, dword [0x4d575c]
mov edx, dword [edx]
lea eax, [ebp - 0x17c]
mov ecx, 0x4b9a7c
call fcn.004045ac
mov eax, dword [ebp - 0x17c]
lea ecx, [ebp - 0x170]
mov edx, 0x3f
call fcn.00409938
test eax, eax
jne 0x4b9790
mov edx, dword [0x4d575c]
mov edx, dword [edx]
lea eax, [ebp - 0x180]
mov ecx, dword [ebp - 0x164]
call fcn.004045ac
mov eax, dword [ebp - 0x180]
call fcn.004099c8
lea eax, [ebp - 0x170]
call fcn.00409988
test eax, eax
je 0x4b975d
lea eax, [ebp - 0x170]
call fcn.004099ac
mov eax, 0x4d8f1c
call fcn.004b70dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b97b9
mov ecx, dword [0x4d5cf4]
mov ecx, dword [ecx]
mov edx, dword [0x4d575c]
mov edx, dword [edx]
lea eax, [ebp - 8]
call fcn.004045ac
mov edx, dword [0x4d5f14]
mov edx, dword [edx]
lea eax, [ebp - 0xc]
mov ecx, 0x4b9a90
call fcn.004045ac
mov eax, dword [0x4d575c]
push dword [eax]
push 0x4b9aa4
call fcn.004bd2d0
lea edx, [ebp - 0x184]
call fcn.00409198
push dword [ebp - 0x184]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404620
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.004b8e80
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0xc]
call fcn.004b8e80
mov eax, dword [ebp - 0x14]
mov edx, 0x4b9ab8
call fcn.004046ac
je 0x4b98d5
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.004046ac
je 0x4b98d5
push 0x80
mov eax, dword [ebp - 0xc]
call fcn.00404760
mov ebx, eax
push ebx
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [ebp - 8]
call fcn.004b8fa8
test al, al
je 0x4b9883
push 0x80
mov eax, dword [ebp - 8]
call fcn.00404760
push eax
call sub.kernel32.dll_SetFileAttributesA
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.004099e0
mov eax, dword [0x4d6148]
mov eax, dword [eax]
mov edx, 0xc8
call fcn.004c3b28
push 0
mov eax, dword [ebp - 8]
call fcn.00404760
push eax
push ebx
call sub.kernel32.dll_CopyFileA
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.004b8e80
mov eax, dword [ebp - 0x10]
mov edx, 0x4b9ab8
call fcn.004046ac
jne 0x4b98d5
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
call fcn.004099e0
mov eax, dword [0x4d5838]
cmp byte [eax], 0
je 0x4b9a13
mov ecx, dword [0x4d5cf4]
mov ecx, dword [ecx]
mov edx, dword [0x4d575c]
mov edx, dword [edx]
lea eax, [ebp - 8]
call fcn.004045ac
mov edx, dword [0x4d5f14]
mov edx, dword [edx]
lea eax, [ebp - 0xc]
mov ecx, 0x4b9ac8
call fcn.004045ac
mov eax, dword [0x4d575c]
push dword [eax]
push 0x4b9adc
call fcn.004bd2d0
lea edx, [ebp - 0x188]
call fcn.00409198
push dword [ebp - 0x188]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404620
mov eax, 0x4d8f1c
call fcn.004b704c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.004b8e80
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0xc]
call fcn.004b8e80
mov eax, dword [ebp - 0x14]
mov edx, 0x4b9ab8
call fcn.004046ac
je 0x4b9a09
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.004046ac
je 0x4b9a09
push 0x80
mov eax, dword [ebp - 0xc]
call fcn.00404760
mov ebx, eax
push ebx
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [ebp - 8]
call fcn.004b8fa8
test al, al
je 0x4b99b7
push 0x80
mov eax, dword [ebp - 8]
call fcn.00404760
push eax
call sub.kernel32.dll_SetFileAttributesA
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.004099e0
mov eax, dword [0x4d6148]
mov eax, dword [eax]
mov edx, 0xc8
call fcn.004c3b28
push 0
mov eax, dword [ebp - 8]
call fcn.00404760
push eax
push ebx
call sub.kernel32.dll_CopyFileA
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.004b8e80
mov eax, dword [ebp - 0x10]
mov edx, 0x4b9ab8
call fcn.004046ac
jne 0x4b9a09
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
call fcn.004099e0
mov eax, 0x4d8f1c
call fcn.004b70dc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b9a56
lea eax, [ebp - 0x188]
mov edx, 6
call fcn.004042b4
lea eax, [ebp - 0x170]
mov edx, dword [0x407bf8]
call fcn.00405080
lea eax, [ebp - 0x18]
mov edx, 5
call fcn.004042b4
ret