Function at 0x4046b0
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x520561
mov eax, dword fs:[0]
push eax
sub esp, 0x890
mov eax, dword [0x572374]
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 0x4046e8
xor eax, eax
jmp 0x404940
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
test ecx, ecx
jne 0x4046f9
xor eax, eax
jmp 0x404940
cmp dword [ebp + 0xc], 0
jne 0x404706
xor eax, eax
jmp 0x404940
mov edx, dword [ebp + 0xc]
movzx eax, word [edx]
test eax, eax
jne 0x404717
xor eax, eax
jmp 0x404940
mov ecx, dword [ebp + 8]
push ecx
call fcn.004c7edf
add esp, 4
mov dword [ebp - 0x894], eax
cmp dword [ebp - 0x894], 0x104
jl 0x40473c
xor eax, eax
jmp 0x404940
push 0x410
push 0
lea edx, [ebp - 0x420]
push edx
call fcn.004a9b50
add esp, 0xc
push 0x5309cc
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.004053c0
mov dword [ebp - 4], 0
lea edx, [ebp - 0x420]
push edx
lea ecx, [ebp - 0x884]
call fcn.00405f30
mov dword [ebp - 0x890], eax
cmp dword [ebp - 0x890], 0
je 0x404913
lea ecx, [ebp - 0x884]
call fcn.00406750
test eax, eax
je 0x4047c1
lea ecx, [ebp - 0x884]
call fcn.00406090
mov dword [ebp - 0x890], eax
jmp 0x404792
lea eax, [ebp - 0x888]
push eax
lea ecx, [ebp - 0x884]
call fcn.004063b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x884]
call fcn.00406730
test eax, eax
je 0x404803
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x888]
call fcn.00405690
push eax
call fcn.004046b0
add esp, 8
jmp 0x4048ee
lea ecx, [ebp - 0x888]
call fcn.00405690
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.004c8690
add esp, 8
test eax, eax
jne 0x4048ee
lea ecx, [ebp - 0x888]
call fcn.00405690
push eax
call fcn.00404960
add esp, 4
test eax, eax
jne 0x4048ee
lea ecx, [ebp - 0x88c]
call fcn.00405340
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88c]
push ecx
lea edx, [ebp - 0x888]
push edx
call fcn.00404cb0
add esp, 8
test eax, eax
je 0x4048ae
push 4
push 0
lea ecx, [ebp - 0x88c]
call fcn.00405690
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov eax, dword [ebp - 0x88c]
push eax
mov ecx, dword [ebp - 0x888]
push ecx
push 0x5309d4
call fcn.0043c2b0
add esp, 0xc
jmp 0x4048df
push 4
push 0
lea ecx, [ebp - 0x888]
call fcn.00405690
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.0043c2b0
add esp, 0xc
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x88c]
call fcn.004054b0
lea ecx, [ebp - 0x884]
call fcn.00406090
mov dword [ebp - 0x890], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x888]
call fcn.004054b0
jmp 0x404792
lea ecx, [ebp - 0x884]
call fcn.00405dd0
mov dword [ebp - 0x89c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x884]
call fcn.004054e0
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.0047d268
mov esp, ebp
pop ebp
ret