Function at 0x415516
Capabilities:
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x445362
mov eax, dword fs:[0]
push eax
mov eax, 0x7594
call fcn.0042a390
mov eax, dword [0x45a400]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, edi
mov dword [ebp - 0x7550], edi
mov ebx, edx
call fcn.004157bc
cmp byte [ebx + 1], 0x3a
mov esi, 0x2710
je 0x41559e
lea eax, [ebp - 0x2720]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x44b3dc
lea eax, [ebp - 0x2720]
push esi
push eax
call fcn.004296c0
add esp, 0xc
push ebx
lea eax, [ebp - 0x2720]
push esi
push eax
call fcn.004296c0
add esp, 0xc
lea ebx, [ebp - 0x2720]
xor eax, eax
mov dword [ebp - method.vmsAnimatedGIF.virtual_0], vtable.vmsAnimatedGIF.0
mov dword [ebp - 0x759c], eax
mov dword [ebp - 0x7598], eax
mov dword [ebp - 0x7594], eax
mov dword [ebp - 0x758c], eax
mov dword [ebp - 0x7588], eax
mov dword [ebp - 0x756c], eax
mov dword [ebp - 0x7568], eax
mov dword [ebp - 0x7580], eax
mov dword [ebp - 0x757c], eax
mov dword [ebp - 4], eax
push ebx
lea eax, [ebp - 0x75a0]
call fcn.00413f91
test eax, eax
je 0x415777
push ebx
lea eax, [ebp - 0x4e30]
push esi
push eax
call fcn.0042972d
add esp, 0xc
lea eax, [ebp - 0x4e30]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push str.__d_.gif
lea eax, [ebp + eax - 0x4e35]
push 0xc
push eax
call fcn.0042972d
add esp, 0xc
lea eax, [ebp - 0x4e30]
push eax
lea ebx, [ebp - 0x75a0]
call fcn.00414435
and dword [ebp - 0x754c], 0
mov dword [ebp - 0x7558], eax
test eax, eax
jle 0x41576d
lea eax, [edi + 0x18]
mov dword [ebp - 0x755c], eax
mov eax, dword [ebp - 0x759c]
lea ebx, [edi + 8]
add edi, 0x28
add eax, 0x14
mov dword [ebp - 0x7554], edi
mov dword [ebp - 0x7548], eax
push dword [ebp - 0x754c]
lea eax, [ebp - 0x4e30]
push eax
lea eax, [ebp - 0x7540]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea edi, [ebp - 0x7540]
call fcn.00415832
mov esi, eax
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x7544]
mov dword [ebp - 0x7544], esi
cmp ecx, eax
jae 0x4156e3
mov ecx, dword [ebx]
lea edx, [ebp - 0x7544]
cmp ecx, edx
ja 0x4156e3
mov esi, edx
sub esi, ecx
sar esi, 2
cmp eax, dword [ebx + 8]
jne 0x4156d3
mov eax, ebx
call fcn.00415ebb
mov eax, dword [ebx + 4]
test eax, eax
je 0x4156f8
mov ecx, dword [ebx]
mov ecx, dword [ecx + esi*4]
mov dword [eax], ecx
jmp 0x4156f8
cmp eax, dword [ebx + 8]
jne 0x4156ef
mov eax, ebx
call fcn.00415ebb
mov eax, dword [ebx + 4]
test eax, eax
je 0x4156f8
mov dword [eax], esi
add dword [ebx + 4], 4
mov eax, dword [ebp - 0x7548]
mov eax, dword [eax - 4]
mov esi, dword [ebp - 0x755c]
mov dword [ebp - 0x7544], eax
lea eax, [ebp - 0x7544]
call fcn.00415973
mov eax, dword [ebp - 0x7548]
mov eax, dword [eax]
mov esi, dword [ebp - 0x7554]
mov dword [ebp - 0x7544], eax
lea eax, [ebp - 0x7544]
call fcn.00415973
lea eax, [ebp - 0x7540]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
inc dword [ebp - 0x754c]
mov eax, dword [ebp - 0x754c]
add dword [ebp - 0x7548], 0x18
cmp eax, dword [ebp - 0x7558]
jl 0x415677
mov edi, dword [ebp - 0x7550]
mov eax, dword [edi + 8]
mov eax, dword [eax]
mov dword [edi + 4], eax
jmp 0x415789
mov edi, ebx
call fcn.00415832
mov ecx, dword [ebp - 0x7550]
mov dword [ecx + 4], eax
mov edi, ecx
xor esi, esi
cmp dword [edi + 4], esi
jne 0x415795
mov esi, 0x80004005
lea ecx, [ebp - 0x75a0]
call fcn.00413f62
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00428263
leave
ret