Function at 0x486415
Capabilities:
Delete file
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a7710
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x138c
call sub.ntdll.dll__chkstk
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x724], 0
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x61c]
call fcn.00489d6d
mov dword [ebp - 4], 0
push 0x258
lea ecx, [ebp - 0x1378]
call fcn.00416dd0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x1378]
push eax
call fcn.00488abf
add esp, 4
mov ecx, dword [ebp + 8]
push ecx
call fcn.004874a3
add esp, 4
test eax, eax
je 0x4864ca
mov dword [ebp - 0x138c], 6
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1378]
call fcn.00416e60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x61c]
call fcn.00489d84
mov eax, dword [ebp - 0x138c]
jmp 0x486a6d
mov ecx, dword [ebp + 8]
call fcn.00417700
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x137c]
push eax
mov ecx, dword [ebp + 8]
call fcn.004171e0
and eax, 0xff
test eax, eax
je 0x486517
mov ecx, dword [ebp - 0x137c]
cmp dword [ecx + 0x168], 0
jne 0x486515
mov edx, dword [ebp - 0x137c]
cmp dword [edx + 0x170], 0
je 0x486515
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
jmp 0x4864d2
cmp dword [ebp - 0x14], 0
jne 0x486553
mov dword [ebp - 0x1390], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1378]
call fcn.00416e60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x61c]
call fcn.00489d84
mov eax, dword [ebp - 0x1390]
jmp 0x486a6d
call fcn.0042c5d7
test eax, eax
je 0x486592
mov dword [ebp - 0x1394], 6
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1378]
call fcn.00416e60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x61c]
call fcn.00489d84
mov eax, dword [ebp - 0x1394]
jmp 0x486a6d
mov ecx, dword [ebp + 8]
call fcn.00417700
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x137c]
push edx
mov ecx, dword [ebp + 8]
call fcn.004171e0
and eax, 0xff
test eax, eax
je 0x486a3c
mov eax, dword [ebp - 0x137c]
cmp dword [eax + 0x168], 0
jne 0x4865d8
mov ecx, dword [ebp - 0x137c]
cmp dword [ecx + 0x170], 0
jne 0x4865da
jmp 0x48659a
mov edx, dword [ebp - 0x137c]
mov dword [edx + 0x16c], 0
mov eax, dword [ebp - 0x137c]
push eax
push 0x104
lea ecx, [ebp - 0x3e0]
push ecx
call fcn.004154e0
lea edx, [ebp - 0x138]
push edx
lea eax, [ebp - 0x3e0]
push eax
lea ecx, [ebp - 0x1378]
call fcn.004895c0
and eax, 0xff
test eax, eax
jne 0x48663c
mov ecx, dword [sym.imp.MSVCRT.dll__iob]
add ecx, 0x20
push ecx
call dword [sym.imp.MSVCRT.dll_fflush]
add esp, 4
jmp 0x48659a
push 0x53b6d0
mov edx, dword [ebp - 0x137c]
push edx
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
jne 0x4866aa
push str.win32k.sys
mov eax, dword [ebp - 0x137c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
jne 0x4866aa
push str.Ntdll.dll
mov ecx, dword [ebp - 0x137c]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
jne 0x4866aa
push str.Kernel32.dll
mov edx, dword [ebp - 0x137c]
push edx
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
jne 0x4866aa
push 0x53b704
mov eax, dword [ebp - 0x137c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
je 0x4866cb
call fcn.004863d2
test eax, eax
je 0x4866cb
mov ecx, dword [sym.imp.MSVCRT.dll__iob]
add ecx, 0x20
push ecx
call dword [sym.imp.MSVCRT.dll_fflush]
add esp, 4
jmp 0x48659a
push 0x5c
mov edx, dword [ebp - 0x137c]
push edx
call dword [sym.imp.ntdll.dll_strrchr]
add esp, 8
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
jne 0x4866f1
jmp 0x48659a
mov eax, dword [ebp - 0x134]
add eax, 1
mov dword [ebp - 0x134], eax
push 0x53b760
push 0x104
lea ecx, [ebp - 0x4e4]
push ecx
call fcn.00409190
mov edx, dword [ebp - 0x134]
push edx
push 0x104
lea eax, [ebp - 0x4e4]
push eax
call fcn.00408090
push 0x53b764
push 0x104
lea ecx, [ebp - 0x4e4]
push ecx
call fcn.00408090
lea edx, [ebp - 0x4e4]
push edx
call dword [0x542978]
mov dword [ebp - 0x724], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x4e8], 0xea60
mov eax, 1
test eax, eax
je 0x4867f0
mov ecx, dword [ebp - 0x4e8]
push ecx
lea edx, [ebp - 0x4e4]
push edx
mov eax, dword [ebp - 0x137c]
mov ecx, dword [eax + 0x170]
mov edx, dword [ecx]
push edx
call fcn.0048a861
add esp, 0xc
mov dword [ebp - 0x614], eax
cmp dword [ebp - 0x614], 0
je 0x4867f0
cmp dword [ebp - 0x724], 3
jge 0x4867dc
mov eax, dword [ebp - 0x724]
add eax, 1
mov dword [ebp - 0x724], eax
mov ecx, dword [ebp - 0x4e8]
shl ecx, 1
mov dword [ebp - 0x4e8], ecx
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x48676c
lea edx, [ebp - 0x4e4]
push edx
call dword [0x542978]
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x10], 0
je 0x486808
lea eax, [ebp - 0x4e4]
push eax
call dword [0x542978]
jmp 0x48659a
mov ecx, dword [sym.imp.MSVCRT.dll__iob]
add ecx, 0x20
push ecx
call dword [sym.imp.MSVCRT.dll_fflush]
add esp, 4
push 0
lea edx, [ebp - 0x130]
push edx
lea eax, [ebp - 0x4e4]
push eax
call fcn.0042a2f3
add esp, 0xc
test eax, eax
jne 0x486849
lea ecx, [ebp - 0x4e4]
push ecx
call dword [0x542978]
jmp 0x48659a
lea edx, [ebp - 0x610]
push edx
lea eax, [ebp - 0x130]
push eax
call fcn.00486e66
add esp, 8
lea ecx, [ebp - 0x610]
push ecx
mov edx, dword [ebp - 0x137c]
mov eax, dword [edx + 0x170]
add eax, 4
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x486892
lea ecx, [ebp - 0x4e4]
push ecx
call dword [0x542978]
jmp 0x48659a
lea edx, [ebp - 0x120]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov eax, dword [ebp - 0x134]
push eax
lea ecx, [ebp - 0x120]
push ecx
push 0x53b800
push 0x104
lea edx, [ebp - 0x720]
push edx
call fcn.0040a2c0
add esp, 0x14
lea eax, [ebp - 0x720]
push eax
call fcn.0042ae0a
add esp, 4
test eax, eax
je 0x486950
mov ecx, 1
test ecx, ecx
je 0x486950
call dword [sym.imp.MSVCRT.dll_rand]
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
push edx
lea eax, [ebp - 0x720]
push eax
push str._s._d
push 0x104
lea ecx, [ebp - 0x5ec]
push ecx
call fcn.0040a2c0
add esp, 0x14
lea edx, [ebp - 0x5ec]
push edx
call fcn.0042ae0a
add esp, 4
test eax, eax
je 0x486929
jmp 0x4868de
push 1
lea eax, [ebp - 0x5ec]
push eax
lea ecx, [ebp - 0x720]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
push 4
push 0
lea edx, [ebp - 0x5ec]
push edx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x4e4]
push ecx
lea ecx, [ebp - 0x61c]
call fcn.0048a0ca
test eax, eax
je 0x48697c
lea edx, [ebp - 0x4e4]
push edx
call dword [0x542978]
jmp 0x48698e
lea eax, [ebp - 0x4e4]
push eax
call dword [0x542978]
jmp 0x48659a
lea ecx, [ebp - 0x720]
push ecx
call fcn.0042ae0a
add esp, 4
test eax, eax
jne 0x4869b3
lea edx, [ebp - 0x4e4]
push edx
call dword [0x542978]
jmp 0x48659a
mov eax, dword [ebp - 0x137c]
push eax
call fcn.0042956f
add esp, 4
mov dword [ebp - 0x1384], eax
lea ecx, [ebp - 0x720]
push ecx
call fcn.0042956f
add esp, 4
mov dword [ebp - 0x1380], eax
mov edx, dword [ebp - 0x1380]
sub edx, dword [ebp - 0x1384]
mov dword [ebp - 0x1388], edx
cmp dword [ebp - 0x1388], 0
jge 0x486a07
mov eax, dword [ebp - 0x1388]
imul eax, eax, 0xffffffff
mov dword [ebp - 0x1388], eax
fild dword [ebp - 0x1388]
fidiv dword [ebp - 0x1384]
fcomp qword [0x4b1a40]
lea ecx, [ebp - 0x720]
push ecx
push 0x104
mov edx, dword [ebp - 0x137c]
add edx, 0x198
push edx
call fcn.004154e0
jmp 0x48659a
mov dword [ebp - 0x1398], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1378]
call fcn.00416e60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x61c]
call fcn.00489d84
mov eax, dword [ebp - 0x1398]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret