Function at 0x40a4f9
Capabilities:
Delete file
Move file

Disassembly:
push 0x64
mov eax, 0x41f5ce
call fcn.0040e3fe
xor eax, eax
push eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], eax
lea eax, [ebx + 0x69c]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov eax, dword [ebx + 0x10]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xffffffff
je 0x40a530
push eax
call esi
or dword [ebx + 0x10], 0xffffffff
mov eax, dword [ebx + 0x67c]
test eax, eax
je 0x40a544
push eax
call esi
and dword [ebx + 0x67c], 0
mov eax, dword [ebx + 0x680]
test eax, eax
je 0x40a558
push eax
call esi
and dword [ebx + 0x680], 0
lea edi, [ebx + 0x21c]
push edi
lea esi, [ebp - 0x48]
call fcn.00401183
and dword [ebp - 4], 0
push str..dt_
mov eax, esi
push eax
call fcn.004026b1
push edi
lea esi, [ebp - 0x2c]
call fcn.00401183
push str..cfg_
mov eax, esi
push eax
mov byte [ebp - 4], 1
call fcn.004026b1
cmp dword [ebp + 8], 9
jne 0x40a695
lea esi, [ebx + 0x62c]
cmp word [esi], 0
je 0x40a5de
cmp dword [ebp - 0x34], 8
mov ecx, dword [ebp - 0x48]
jae 0x40a5b4
lea ecx, [ebp - 0x48]
lea eax, [ebp - 0x64]
push eax
call fcn.0040209e
cmp dword [eax + 0x14], 8
pop ecx
mov dword [ebp - 0x70], 1
jb 0x40a5cd
mov eax, dword [eax]
push esi
push eax
call fcn.0040d880
pop ecx
pop ecx
mov byte [ebp - 0x65], 1
test eax, eax
jne 0x40a5e2
mov byte [ebp - 0x65], 0
test byte [ebp - 0x70], 1
je 0x40a5f4
push 1
xor edi, edi
lea esi, [ebp - 0x64]
call fcn.004013ee
cmp byte [ebp - 0x65], 0
mov eax, dword [ebp - 0x2c]
je 0x40a62a
cmp dword [ebp - 0x18], 8
jae 0x40a606
lea eax, [ebp - 0x2c]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call esi
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x40a61b
lea eax, [ebp - 0x48]
push eax
call esi
mov dword [ebp + 8], 0xa
jmp 0x40a6e2
cmp dword [ebp - 0x18], 8
jae 0x40a633
lea eax, [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x34], 8
mov ecx, dword [ebp - 0x48]
jae 0x40a646
lea ecx, [ebp - 0x48]
lea eax, [ebx + 0x21c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileW]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x429734]
jne 0x40a663
inc eax
mov ecx, dword [ebx + 0x670]
fild dword [ebx + 0x670]
test ecx, ecx
jns 0x40a679
fadd dword [0x424578]
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
test eax, eax
jns 0x40a689
fadd dword [0x424578]
fdivp st(1)
call fcn.0041f146
mov dword [ebp - 0x6c], eax
jmp 0x40a6e2
cmp dword [ebp + 8], 0
je 0x40a6f1
cmp dword [ebx + 0x674], 0x400
jb 0x40a6be
cmp dword [ebp - 0x18], 8
mov edx, dword [ebp - 0x2c]
jae 0x40a6b3
lea edx, [ebp - 0x2c]
mov ecx, ebx
call fcn.0040a997
test eax, eax
jne 0x40a6e2
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x40a6ca
lea eax, [ebp - 0x2c]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call esi
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x40a6df
lea eax, [ebp - 0x48]
push eax
call esi
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40a6f1
push dword [ebp - 0x6c]
push dword [ebp + 8]
call eax
mov eax, dword [ebp + 8]
push dword [ebx + 4]
mov dword [ebx + 8], eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push 1
xor edi, edi
lea esi, [ebp - 0x2c]
call fcn.004013ee
push 1
lea esi, [ebp - 0x48]
call fcn.004013ee
call fcn.0040e481
ret 4