Function at 0x523ad4
Capabilities:
Check for time delay via gettickcount
Move file
Set file attributes
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xa
push 0
push 0
dec ecx
jne 0x523adc
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x523edf
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x1c]
xor eax, eax
call fcn.00402e94
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.004097ac
mov edx, dword [ebp - 0x18]
mov eax, 0x52c790
mov ecx, dword [0x52c784]
call fcn.00404918
xor eax, eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 8]
call fcn.00521c68
mov ebx, eax
push 0
lea edx, [ebp - 0x20]
mov eax, 0x523ef8
call fcn.0051ef90
mov eax, dword [ebp - 0x20]
call fcn.00404acc
push eax
call sub.user32.dll_FindWindowA
test eax, eax
jbe 0x523b5a
lea edx, [ebp - 0xc]
push edx
push eax
call sub.user32.dll_GetWindowThreadProcessId
cmp ebx, dword [ebp - 0xc]
je 0x523beb
xor eax, eax
push ebp
push 0x523bdf
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00402e2c
test eax, eax
jle 0x523bd5
lea edx, [ebp - 0x28]
mov eax, dword [0x52c784]
call fcn.00408acc
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0x24]
call fcn.00504788
mov eax, dword [ebp - 0x24]
push eax
lea edx, [ebp - 0x2c]
mov eax, 1
call fcn.00402e94
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x14]
pop edx
call fcn.0052038c
mov eax, dword [ebp - 0x14]
call fcn.004090dc
mov ebx, eax
call sub.kernel32.dll_GetTickCount_1
sub eax, ebx
cmp eax, 0x2710
jae 0x523bd5
xor ecx, ecx
mov dl, 1
mov eax, dword [0x521084]
call fcn.0041f244
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x523bf9
xor ecx, ecx
mov dl, 1
mov eax, dword [0x521084]
call fcn.0041f244
mov eax, dword [0x52c790]
call fcn.004094a8
test al, al
je 0x523c74
call fcn.00402e2c
test eax, eax
jle 0x523c74
push 0x3e8
call sub.kernel32.dll_Sleep_1
push 0
mov eax, dword [0x52c790]
call fcn.00404acc
push eax
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [0x52c790]
call fcn.004096e8
mov eax, dword [0x52c790]
call fcn.004094a8
test al, al
je 0x523c74
mov eax, dword [0x52c784]
call fcn.0052391c
push 0x1f4
call sub.kernel32.dll_Sleep_1
push 0
mov eax, dword [0x52c790]
call fcn.00404acc
push eax
call sub.kernel32.dll_SetFileAttributesA
mov eax, dword [0x52c790]
call fcn.004096e8
mov eax, dword [0x52c790]
call fcn.004094a8
test al, al
jne 0x523da3
lea edx, [ebp - 0x30]
mov eax, 0x523f18
call fcn.0040e924
push dword [ebp - 0x30]
push 0x523f28
push dword [0x52c784]
push 0x523f34
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.0040498c
call fcn.00402ef8
lea edx, [ebp - 0x34]
mov eax, 0x523f40
call fcn.0051ef90
mov eax, dword [ebp - 0x34]
push eax
lea edx, [ebp - 0x38]
mov eax, 0x523f50
call fcn.0051ef90
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
pop edx
call fcn.0051fb44
test al, al
je 0x523d5b
push 3
mov eax, dword [0x52c790]
call fcn.00404acc
push eax
mov eax, dword [ebp - 0x10]
call fcn.00404acc
push eax
call sub.kernel32.dll_MoveFileExA
mov eax, dword [0x52c790]
call fcn.004094a8
test al, al
jne 0x523da3
push 0x40
lea edx, [ebp - 0x3c]
mov eax, 0x523f64
call fcn.0051ef90
mov eax, dword [ebp - 0x3c]
call fcn.00404acc
push eax
lea edx, [ebp - 0x40]
mov eax, 0x523f78
call fcn.0051ef90
mov eax, dword [ebp - 0x40]
call fcn.00404acc
mov edx, eax
mov eax, dword [0x5295c0]
mov eax, dword [eax]
pop ecx
call fcn.004585c0
push 0
call sub.kernel32.dll_ExitProcess_1
push 0x40
lea edx, [ebp - 0x44]
mov eax, 0x523f64
call fcn.0051ef90
mov eax, dword [ebp - 0x44]
call fcn.00404acc
push eax
lea edx, [ebp - 0x48]
mov eax, 0x523f78
call fcn.0051ef90
mov eax, dword [ebp - 0x48]
call fcn.00404acc
mov edx, eax
mov eax, dword [0x5295c0]
mov eax, dword [eax]
pop ecx
call fcn.004585c0
push 0
call sub.kernel32.dll_ExitProcess_1
cmp byte [0x52c79c], 0
je 0x523dbe
lea edx, [ebp - 0x4c]
xor eax, eax
call fcn.00402e94
mov eax, dword [ebp - 0x4c]
call fcn.00520ce0
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00451908
xor eax, eax
push ebp
push 0x523dec
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x52c790]
call fcn.00520f98
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x523df6
cmp byte [0x52c794], 0
je 0x523e1b
mov eax, dword [0x52c7a0]
mov edx, dword [0x52c798]
call fcn.00404a18
je 0x523e1b
mov eax, dword [0x52c798]
call fcn.00520b00
cmp byte [0x52c79c], 0
je 0x523e36
lea edx, [ebp - 0x50]
xor eax, eax
call fcn.00402e94
mov eax, dword [ebp - 0x50]
call fcn.00520ce0
push 0x3e8
call sub.kernel32.dll_Sleep_1
call sub.kernel32.dll_GetTickCount_1
mov ebx, eax
jmp 0x523ea6
mov eax, dword [0x52c7a0]
mov edx, dword [0x52c798]
call fcn.00404a18
je 0x523e65
mov eax, dword [0x52c798]
call fcn.00520b00
push 0x3e8
call sub.kernel32.dll_Sleep_1
cmp byte [0x52c79c], 0
je 0x523e8a
lea edx, [ebp - 0x54]
xor eax, eax
call fcn.00402e94
mov eax, dword [ebp - 0x54]
call fcn.00520ce0
call sub.kernel32.dll_GetTickCount_1
sub eax, ebx
cmp eax, 0xfa0
jbe 0x523ea6
mov eax, dword [0x52c784]
call fcn.00521d64
test eax, eax
je 0x523eaf
cmp byte [0x52c794], 0
jne 0x523e49
push 0
call sub.kernel32.dll_GetCurrentProcess
push eax
call sub.kernel32.dll_TerminateProcess
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x523ee6
lea eax, [ebp - 0x54]
mov edx, 0x12
call fcn.00404630
lea eax, [ebp - 8]
call fcn.0040460c
ret