Function at 0x477adc
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 6
push 0
push 0
dec ecx
jne 0x477ae4
push ebx
push esi
push edi
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
call fcn.00405560
xor eax, eax
push ebp
push 0x477e70
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 4]
call fcn.00409cdc
mov eax, dword [ebp - 0x18]
call fcn.00477a18
test al, al
jne 0x477e3b
mov eax, dword [0x48181c]
push dword [eax]
push 0x477e88
push dword [ebp - 4]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00405430
mov eax, dword [ebp - 4]
call fcn.0047799c
test al, al
je 0x477bb8
mov eax, dword [0x48149c]
push dword [eax]
push 0x477e98
lea eax, [ebp - 0x1c]
push eax
mov ecx, 0xc8
mov edx, 8
mov eax, dword [ebp - 4]
call fcn.004055d0
push dword [ebp - 0x1c]
lea eax, [ebp - 8]
mov edx, 3
call fcn.00405430
mov eax, dword [ebp - 8]
call fcn.00409970
test al, al
je 0x477bd4
mov eax, dword [ebp - 8]
call fcn.00409908
call fcn.00409f18
fstp qword [ebp - 0x24]
wait
mov eax, dword [ebp - 0xc]
call fcn.00409908
call fcn.00409f18
fcomp qword [ebp - 0x24]
wait
fnstsw ax
sahf
jbe 0x477e3b
jmp 0x477bd4
mov eax, dword [0x48181c]
push dword [eax]
push 0x477e98
push dword [ebp - 4]
lea eax, [ebp - 8]
mov edx, 3
call fcn.00405430
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00409cdc
xor eax, eax
push ebp
push 0x477c9a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x10]
call fcn.0046b630
test al, al
jne 0x477c90
mov eax, dword [ebp - 0x10]
call fcn.0046b654
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 0x10]
call fcn.00408d04
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x10]
call fcn.00405144
mov ebx, dword [0x4817b4]
mov ebx, dword [ebx]
dec ebx
test ebx, ebx
jl 0x477c60
inc ebx
xor esi, esi
cmp esi, 0x64
jbe 0x477c35
call fcn.00404150
mov eax, dword [0x48158c]
mov eax, dword [eax + esi*4]
lea edx, [ebp - 0x2c]
call fcn.00408d04
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
call fcn.004054bc
jne 0x477c5c
lea eax, [ebp - 0x10]
call fcn.004050ac
jmp 0x477c60
inc esi
dec ebx
jne 0x477c2b
cmp dword [ebp - 0x10], 0
je 0x477c90
mov eax, dword [0x4817b4]
inc dword [eax]
mov eax, dword [0x4817b4]
mov eax, dword [eax]
dec eax
cmp eax, 0x64
jbe 0x477c7f
call fcn.00404150
mov edx, dword [0x48158c]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x10]
call fcn.00405100
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x477ca4
mov eax, dword [ebp - 4]
call fcn.00477900
test al, al
je 0x477db1
mov bl, 1
mov eax, dword [ebp - 8]
call fcn.00409970
test al, al
je 0x477d49
mov eax, dword [ebp - 8]
call fcn.004769a4
mov eax, dword [ebp - 8]
call fcn.00405570
push eax
call sub.kernel32.dll_DeleteFileA_1
cmp eax, 1
sbb ebx, ebx
inc ebx
jmp 0x477d45
push 0
push 0x477ea4
push dword [ebp - 8]
push 0x477ecc
push 0x477f04
push 0x477f48
mov eax, dword [0x4818e8]
push dword [eax]
push 0x477f6c
push 0x477f98
lea eax, [ebp - 0x30]
mov edx, 8
call fcn.00405430
mov eax, dword [ebp - 0x30]
movzx ecx, word [0x477fec]
xor edx, edx
call fcn.00439c04
cmp eax, 5
je 0x477d49
mov eax, dword [ebp - 8]
call fcn.00405570
push eax
call sub.kernel32.dll_DeleteFileA_1
cmp eax, 1
sbb ebx, ebx
inc ebx
test bl, bl
je 0x477ce4
test bl, bl
je 0x477d6c
mov eax, dword [ebp - 8]
call fcn.00405570
push eax
mov eax, dword [ebp - 0xc]
call fcn.00405570
push eax
call sub.kernel32.dll_MoveFileA
cmp eax, 1
sbb eax, eax
inc eax
jmp 0x477d6e
xor eax, eax
test al, al
jne 0x477e1e
mov eax, dword [ebp - 0x14]
push dword [eax + 0x374]
push 0x477ff8
push dword [ebp - 8]
push 0x478004
mov eax, dword [ebp - 0x14]
add eax, 0x374
mov edx, 4
call fcn.00405430
mov eax, dword [ebp - 0xc]
call fcn.00405570
push eax
call sub.kernel32.dll_DeleteFileA_1
jmp 0x477e3b
mov eax, dword [ebp - 8]
call fcn.00409970
test al, al
jne 0x477e10
mov eax, dword [ebp - 8]
call fcn.00405570
push eax
mov eax, dword [ebp - 0xc]
call fcn.00405570
mov ebx, eax
push ebx
call sub.kernel32.dll_MoveFileA
cmp eax, 1
sbb eax, eax
inc eax
test al, al
jne 0x477e1e
mov eax, dword [ebp - 0x14]
push dword [eax + 0x378]
push 0x477ff8
push dword [ebp - 8]
push 0x478004
mov eax, dword [ebp - 0x14]
add eax, 0x378
mov edx, 4
call fcn.00405430
push ebx
call sub.kernel32.dll_DeleteFileA_1
jmp 0x477e3b
mov eax, dword [ebp - 0xc]
call fcn.00405570
push eax
call sub.kernel32.dll_DeleteFileA_1
mov eax, dword [ebp - 4]
call fcn.0047799c
test al, al
jne 0x477e3b
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x370]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x477e77
lea eax, [ebp - 0x30]
mov edx, 3
call fcn.004050d0
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004050d0
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004050d0
ret