Function at 0x5095a8
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 7
push 0
push 0
dec ecx
jne 0x5095b0
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x50981b
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x5097e9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
mov ecx, dword [eax + 8]
dec ecx
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00511980
mov edx, 0x509834
mov eax, dword [ebp - 4]
call fcn.00511784
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x5097db
inc eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1ac]
mov edx, dword [ebp - 0xc]
call fcn.00422ae8
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 8]
call fcn.0040a714
mov eax, dword [ebp - 0x20]
call fcn.0040a2f0
push 0x50985c
mov eax, dword [ebp - 0x1c]
push dword [eax + 8]
push 0x509878
lea eax, [ebp - 0x24]
mov edx, 3
call fcn.0040556c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.00511784
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 8]
lea eax, [ebp - 0x10]
mov ecx, 0x509894
call fcn.004054f8
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0x28]
mov ecx, 0x5098ac
call fcn.004054f8
mov eax, dword [ebp - 0x28]
call fcn.004dc810
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0x2c]
mov ecx, 0x5098bc
call fcn.004054f8
mov eax, dword [ebp - 0x2c]
call fcn.004dc810
mov eax, dword [ebp - 0x10]
call fcn.004dc810
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 8]
call fcn.004dc810
mov ecx, 0x5098ac
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0x30]
call fcn.004054f8
mov eax, dword [ebp - 0x30]
call fcn.0040a2a8
test al, al
je 0x5096fe
lea eax, [ebp - 0x14]
mov edx, 0x5098ac
call fcn.00405280
jmp 0x50970b
lea eax, [ebp - 0x14]
mov edx, 0x5098bc
call fcn.00405280
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x20]
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x14]
call fcn.004054f8
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.004fd858
test al, al
jne 0x509760
push 0x5098cc
mov eax, dword [ebp - 0x1c]
push dword [eax + 0x20]
push dword [ebp - 0x14]
lea eax, [ebp - 0x38]
mov edx, 3
call fcn.0040556c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
call fcn.00511784
mov eax, dword [ebp - 4]
mov byte [eax + 0x258], 1
jmp 0x5097c7
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x10]
call fcn.0047b7a0
push 0xb
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 8]
call fcn.004056ac
push eax
mov eax, dword [ebp - 0x10]
call fcn.004056ac
push eax
call sub.kernel32.dll_MoveFileExA
test eax, eax
jne 0x5097c7
push 0x5098fc
mov eax, dword [ebp - 0x1c]
push dword [eax + 8]
push 0x50991c
lea eax, [ebp - 0x3c]
mov edx, 3
call fcn.0040556c
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 4]
call fcn.00511784
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 4]
call fcn.00511948
inc dword [ebp - 0xc]
dec dword [ebp - 0x18]
jne 0x509622
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5097f3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x509822
lea eax, [ebp - 0x3c]
mov edx, 8
call fcn.0040520c
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.0040520c
ret