Function at 0x404680
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51daa1
mov eax, dword fs:[0]
push eax
sub esp, 0x890
mov eax, dword [0x570374]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [ebp + 8], 0
jne 0x4046b8
xor eax, eax
jmp 0x404910
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test ecx, ecx
jne 0x4046c9
xor eax, eax
jmp 0x404910
cmp dword [ebp + 0xc], 0
jne 0x4046d6
xor eax, eax
jmp 0x404910
mov edx, dword [ebp + 0xc]
movzx eax, word [edx]
test eax, eax
jne 0x4046e7
xor eax, eax
jmp 0x404910
mov ecx, dword [ebp + 8]
push ecx
call fcn.004c6518
add esp, 4
mov dword [ebp - 0x894], eax
cmp dword [ebp - 0x894], 0x104
jl 0x40470c
xor eax, eax
jmp 0x404910
push 0x410
push 0
lea edx, [ebp - 0x420]
push edx
call fcn.004a8eb0
add esp, 0xc
push 0x52d9cc
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x420]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea ecx, [ebp - 0x884]
call fcn.00405390
mov dword [ebp - 4], 0
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x884]
call fcn.00405f00
mov dword [ebp - 0x890], eax
cmp dword [ebp - 0x890], 0
je 0x4048e3
lea ecx, [ebp - 0x884]
call fcn.00406720
test eax, eax
je 0x404791
lea ecx, [ebp - 0x884]
call fcn.00406060
mov dword [ebp - 0x890], eax
jmp 0x404762
lea eax, [ebp - 0x888]
push eax
lea ecx, [ebp - 0x884]
call fcn.00406380
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x884]
call fcn.00406700
test eax, eax
je 0x4047d3
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x888]
call fcn.00405660
push eax
call fcn.00404680
add esp, 8
jmp 0x4048be
lea ecx, [ebp - 0x888]
call fcn.00405660
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov dword [ebp - 0x898], eax
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 0x898]
push eax
call fcn.004c72b0
add esp, 8
test eax, eax
jne 0x4048be
lea ecx, [ebp - 0x888]
call fcn.00405660
push eax
call fcn.00404930
add esp, 4
test eax, eax
jne 0x4048be
lea ecx, [ebp - 0x88c]
call fcn.00405310
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88c]
push ecx
lea edx, [ebp - 0x888]
push edx
call fcn.00404c80
add esp, 8
test eax, eax
je 0x40487e
push 4
push 0
lea ecx, [ebp - 0x88c]
call fcn.00405660
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov eax, dword [ebp - 0x88c]
push eax
mov ecx, dword [ebp - 0x888]
push ecx
push 0x52d9d4
call fcn.0043c160
add esp, 0xc
jmp 0x4048af
push 4
push 0
lea ecx, [ebp - 0x888]
call fcn.00405660
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov edx, dword [ebp - 0x888]
push edx
mov eax, dword [ebp - 0x888]
push eax
push str.delete_file:_s_by_pending:_s
call fcn.0043c160
add esp, 0xc
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x88c]
call fcn.00405480
lea ecx, [ebp - 0x884]
call fcn.00406060
mov dword [ebp - 0x890], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x888]
call fcn.00405480
jmp 0x404762
lea ecx, [ebp - 0x884]
call fcn.00405da0
mov dword [ebp - 0x89c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x884]
call fcn.004054b0
mov eax, dword [ebp - 0x89c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047c5a8
mov esp, ebp
pop ebp
ret