Function at 0x4b970c
Capabilities:
Copy file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x31
push 0
push 0
dec ecx
jne 0x4b9714
push ebx
push esi
push edi
lea eax, [ebp - 0x170]
mov edx, dword [0x407bf8]
call fcn.00404fb0
xor eax, eax
push ebp
push 0x4b9afb
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 1
xor eax, eax
push ebp
push 0x4b985b
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x4d675c]
mov edx, dword [edx]
lea eax, [ebp - 0x174]
mov ecx, 0x4b9b14
call fcn.004045ac
mov eax, dword [ebp - 0x174]
lea ecx, [ebp - 0x170]
mov edx, 0x3f
call fcn.00409938
test eax, eax
jne 0x4b97b4
mov edx, dword [0x4d675c]
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 0x4b9781
lea eax, [ebp - 0x170]
call fcn.004099ac
mov eax, dword [0x4d6838]
cmp byte [eax], 0
je 0x4b9851
mov eax, 0x4d9f1c
call fcn.004b70f8
mov edx, dword [0x4d675c]
mov edx, dword [edx]
lea eax, [ebp - 0x17c]
mov ecx, 0x4b9b28
call fcn.004045ac
mov eax, dword [ebp - 0x17c]
lea ecx, [ebp - 0x170]
mov edx, 0x3f
call fcn.00409938
test eax, eax
jne 0x4b983c
mov edx, dword [0x4d675c]
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 0x4b9809
lea eax, [ebp - 0x170]
call fcn.004099ac
mov eax, 0x4d9f1c
call fcn.004b7188
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b9865
mov ecx, dword [0x4d6cf4]
mov ecx, dword [ecx]
mov edx, dword [0x4d675c]
mov edx, dword [edx]
lea eax, [ebp - 8]
call fcn.004045ac
mov edx, dword [0x4d6f14]
mov edx, dword [edx]
lea eax, [ebp - 0xc]
mov ecx, 0x4b9b3c
call fcn.004045ac
mov eax, dword [0x4d675c]
push dword [eax]
push 0x4b9b50
call fcn.004bd37c
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.004b8f2c
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0xc]
call fcn.004b8f2c
mov eax, dword [ebp - 0x14]
mov edx, 0x4b9b64
call fcn.004046ac
je 0x4b9981
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.004046ac
je 0x4b9981
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.004b9054
test al, al
je 0x4b992f
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 [0x4d7150]
mov eax, dword [eax]
mov edx, 0xc8
call fcn.004c3c84
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.004b8f2c
mov eax, dword [ebp - 0x10]
mov edx, 0x4b9b64
call fcn.004046ac
jne 0x4b9981
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
call fcn.004099e0
mov eax, dword [0x4d6838]
cmp byte [eax], 0
je 0x4b9abf
mov ecx, dword [0x4d6cf4]
mov ecx, dword [ecx]
mov edx, dword [0x4d675c]
mov edx, dword [edx]
lea eax, [ebp - 8]
call fcn.004045ac
mov edx, dword [0x4d6f14]
mov edx, dword [edx]
lea eax, [ebp - 0xc]
mov ecx, 0x4b9b74
call fcn.004045ac
mov eax, dword [0x4d675c]
push dword [eax]
push 0x4b9b88
call fcn.004bd37c
lea edx, [ebp - 0x188]
call fcn.00409198
push dword [ebp - 0x188]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404620
mov eax, 0x4d9f1c
call fcn.004b70f8
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.004b8f2c
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0xc]
call fcn.004b8f2c
mov eax, dword [ebp - 0x14]
mov edx, 0x4b9b64
call fcn.004046ac
je 0x4b9ab5
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.004046ac
je 0x4b9ab5
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.004b9054
test al, al
je 0x4b9a63
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 [0x4d7150]
mov eax, dword [eax]
mov edx, 0xc8
call fcn.004c3c84
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.004b8f2c
mov eax, dword [ebp - 0x10]
mov edx, 0x4b9b64
call fcn.004046ac
jne 0x4b9ab5
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
call fcn.004099e0
mov eax, 0x4d9f1c
call fcn.004b7188
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b9b02
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