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

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov eax, 0x4707a8
call fcn.0040588c
mov ebx, 0x475f54
xor eax, eax
push ebp
push 0x4712f4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x473930]
mov eax, dword [eax]
xor edx, edx
call fcn.00422bfc
lea edx, [ebp - 0x14]
mov eax, 1
call fcn.004028b0
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00407110
mov edx, dword [ebp - 0x10]
mov eax, 0x475d28
call fcn.004039f0
mov eax, dword [0x4738fc]
mov eax, dword [eax]
mov dword [0x475f50], eax
mov dword [ebx], 0x40
mov eax, 0x454fd0
mov dword [ebx + 4], eax
mov eax, dword [0x475f50]
mov dword [ebx + 0x10], eax
mov eax, 0x471304
mov dword [ebx + 0x24], eax
push ebx
call sub.user32.dll_RegisterClassA
mov dword [ebx], 0x40
mov dword [ebx + 0x1c], 5
push 0x7f02
push 0
call sub.user32.dll_LoadCursorA
mov dword [ebx + 0x18], eax
xor eax, eax
mov dword [ebx + 0x20], eax
mov eax, 0x455054
mov dword [ebx + 4], eax
mov eax, dword [0x475f50]
mov dword [ebx + 0x10], eax
mov eax, 0x471318
mov dword [ebx + 0x24], eax
push ebx
call sub.user32.dll_RegisterClassA
xor eax, eax
mov dword [0x475d1c], eax
mov eax, dword [0x475d28]
mov edx, 0x471338
call fcn.00403d28
jne 0x470bf4
mov ecx, 0x47134c
mov dl, 1
mov eax, dword [0x432b40]
call fcn.004333c8
mov dword [0x473798], eax
lea edx, [ebp - 0x10]
xor eax, eax
call fcn.004028b0
mov eax, dword [ebp - 0x10]
lea edx, [ebp - 0x14]
call fcn.0040784c
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.0040784c
mov edx, dword [ebp - 0x10]
mov eax, 0x475d24
call fcn.004039f0
lea edx, [ebp - 0x10]
mov eax, dword [0x475d24]
call fcn.0040714c
mov edx, dword [ebp - 0x10]
mov eax, 0x471370
call fcn.00403f00
mov ebx, eax
dec ebx
push 0x475f80
mov ecx, ebx
mov edx, 1
mov eax, dword [0x475d24]
call fcn.00403e1c
push 0x471380
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x4713c0
mov edx, dword [0x475f80]
mov eax, dword [0x473798]
call fcn.0043341c
mov eax, dword [ebp - 0x10]
mov cx, word [0x4713e0]
mov dl, 2
call fcn.00432370
mov dword [0x475f88], eax
xor eax, eax
push ebp
push 0x470be0
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4713ec
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x47140c
mov edx, dword [0x475f80]
mov eax, dword [0x473798]
call fcn.0043341c
mov edx, dword [ebp - 0x10]
mov eax, dword [0x475f88]
call fcn.0042658c
push 0x471434
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x471444
mov edx, dword [0x475f80]
mov eax, dword [0x473798]
call fcn.0043341c
mov eax, dword [ebp - 0x10]
push eax
mov edx, 0x471468
mov eax, dword [0x475f88]
call fcn.004126d8
mov edx, dword [0x42ef34]
call fcn.00402f80
pop edx
call fcn.0042658c
push 0x471474
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x471480
mov edx, dword [0x475f80]
mov eax, dword [0x473798]
call fcn.0043341c
mov eax, dword [ebp - 0x10]
push eax
mov edx, 0x4714a4
mov eax, dword [0x475f88]
call fcn.004126d8
mov edx, dword [0x42ef34]
call fcn.00402f80
pop edx
call fcn.0042658c
mov eax, dword [0x475f88]
call fcn.00421038
mov dword [0x475f7c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x470be7
mov eax, dword [0x475f88]
call fcn.00402e98
ret
mov eax, dword [0x475d28]
mov edx, 0x4714b0
call fcn.00403d28
jne 0x470c13
mov eax, dword [0x473a14]
cmp dword [eax], 2
je 0x4712d9
mov eax, dword [0x475d28]
mov edx, 0x471338
call fcn.00403d28
jne 0x470c88
lea edx, [ebp - 0x14]
mov eax, 2
call fcn.004028b0
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00407110
mov eax, dword [ebp - 0x10]
mov edx, 0x4714bc
call fcn.00403d28
jne 0x470c88
lea edx, [ebp - 0x10]
mov eax, 4
call fcn.004028b0
mov eax, dword [ebp - 0x10]
call fcn.004073d4
mov ebx, eax
push ebx
call sub.kernel32.dll_CloseHandle_1
lea edx, [ebp - 0x10]
mov eax, 5
call fcn.004028b0
mov eax, dword [ebp - 0x10]
call fcn.004073d4
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x4712ce
mov eax, dword [0x475d28]
mov edx, 0x471338
call fcn.00403d28
jne 0x4711de
mov dl, 1
mov eax, dword [0x40cc94]
call fcn.00402e70
mov dword [0x475f4c], eax
lea edx, [ebp - 0x10]
mov eax, 2
call fcn.004028b0
mov edx, dword [ebp - 0x10]
mov eax, dword [0x475f4c]
mov ecx, dword [eax]
call dword [ecx + 0x58]
mov eax, dword [0x475f4c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, 0
jl 0x470df2
mov dword [0x475f50], eax
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x10]
mov edx, dword [0x475f50]
mov eax, dword [0x475f4c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x10]
mov ecx, 2
mov edx, 1
call fcn.00403e1c
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.00407110
mov edx, dword [ebp - 0x10]
mov eax, 0x475d24
call fcn.004039f0
push 0x475d28
lea ecx, [ebp - 0x10]
mov edx, dword [0x475f50]
mov eax, dword [0x475f4c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x10]
mov ecx, 0x7fffffff
mov edx, 3
call fcn.00403e1c
mov eax, dword [0x475d24]
mov edx, 0x4714d0
call fcn.00403d28
jne 0x470d8e
xor eax, eax
push ebp
push 0x470d84
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x475d28]
call fcn.00402944
call fcn.00402730
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x470d8e
mov eax, dword [0x475d24]
mov edx, 0x4714dc
call fcn.00403d28
jne 0x470da9
mov eax, dword [0x475d28]
call fcn.00407690
mov eax, dword [0x475d24]
mov edx, 0x4714e8
call fcn.00403d28
jne 0x470dc4
mov eax, dword [0x475d28]
call fcn.00470378
mov eax, dword [0x475d24]
mov edx, 0x4714f4
call fcn.00403d28
jne 0x470ddf
mov eax, dword [0x475d28]
call fcn.00470468
dec dword [0x475f50]
cmp dword [0x475f50], 0xffffffff
jne 0x470ce1
mov eax, dword [0x475f4c]
call fcn.00402e98
mov eax, 0x475d24
mov edx, 0x104
call fcn.00403f48
mov eax, dword [0x475d24]
call fcn.00403ddc
push eax
push 0
push 0x4714f8
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.004028b0
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.004077bc
mov eax, dword [ebp - 0x10]
call fcn.00403ddc
push eax
call sub.kernel32.dll_GetTempFileNameA
mov eax, dword [0x475d24]
call fcn.00403ddc
call fcn.0040790c
mov edx, eax
mov eax, 0x475d24
call fcn.00403f48
mov eax, dword [0x475d24]
call fcn.00407690
lea ecx, [ebp - 0x10]
mov edx, 0x471504
mov eax, dword [0x475d24]
call fcn.00407728
mov edx, dword [ebp - 0x10]
mov eax, 0x475d24
call fcn.004039f0
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.004028b0
mov eax, dword [ebp - 0x14]
lea edx, [ebp - 0x10]
call fcn.004077f0
mov edx, dword [ebp - 0x10]
mov eax, 0x475d20
call fcn.004039f0
push dword [0x475d20]
push 0x471514
lea edx, [ebp - 0x10]
mov eax, dword [0x475d24]
call fcn.0040784c
push dword [ebp - 0x10]
mov eax, 0x475d24
mov edx, 3
call fcn.00403cd8
mov edx, dword [0x475d24]
mov eax, 0x475d80
call fcn.00404eba
mov eax, 0x475d80
call fcn.004050a2
call fcn.00402730
mov edx, 0x471520
mov eax, 0x475d80
call fcn.00403fac
call fcn.004052e7
call fcn.00402730
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.004028b0
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x10]
mov edx, 0x47152c
call fcn.00403c64
mov edx, dword [ebp - 0x10]
mov eax, 0x475d80
call fcn.00403fac
call fcn.004052e7
call fcn.00402730
push 0x47153c
lea edx, [ebp - 0x14]
xor eax, eax
call fcn.004028b0
push dword [ebp - 0x14]
push 0x471550
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.00403cd8
mov edx, dword [ebp - 0x10]
mov eax, 0x475d80
call fcn.00403fac
call fcn.004052e7
call fcn.00402730
lea eax, [ebp - 0x10]
mov ecx, dword [0x475d24]
mov edx, 0x47152c
call fcn.00403c64
mov edx, dword [ebp - 0x10]
mov eax, 0x475d80
call fcn.00403fac
call fcn.004052e7
call fcn.00402730
mov eax, 0x475d80
call fcn.00405024
call fcn.00402730
mov eax, dword [0x473a14]
cmp dword [eax], 2
jne 0x470fcb
push 4
push 0
mov eax, dword [0x475d20]
call fcn.00403ddc
push eax
call sub.kernel32.dll_MoveFileExA
push 0x471564
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x471590
mov edx, dword [0x475f80]
mov eax, dword [0x473798]
call fcn.0043341c
mov eax, dword [ebp - 0x10]
mov cx, word [0x4715a8]
mov dl, 2
call fcn.00432370
mov dword [0x475f8c], eax
xor eax, eax
push ebp
push 0x4710a6
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4715b4
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x4715d0
mov edx, dword [0x475f80]
mov eax, dword [0x473798]
call fcn.0043341c
mov edx, dword [ebp - 0x10]
mov eax, dword [0x475f8c]
call fcn.0042658c
push 0x4715f4
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x471600
mov edx, dword [0x475f80]
mov eax, dword [0x473798]
call fcn.0043341c
mov eax, dword [ebp - 0x10]
push eax
mov edx, 0x471620
mov eax, dword [0x475f8c]
call fcn.004126d8
mov edx, dword [0x42ef34]
call fcn.00402f80
pop edx
call fcn.0042658c
mov eax, dword [0x475f8c]
call fcn.00421038
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4710ad
mov eax, dword [0x473798]
call fcn.00402e98
mov eax, dword [0x475f8c]
call fcn.00402e98
ret
mov eax, dword [0x473930]
mov eax, dword [eax]
call fcn.00422f28
mov eax, dword [0x473930]
mov eax, dword [eax]
add eax, 0x80
mov byte [eax], 0
mov eax, dword [0x473880]
mov byte [eax], 0
mov ecx, dword [0x4738c8]
mov eax, dword [0x473930]
mov eax, dword [eax]
mov edx, dword [0x452070]
call fcn.00422f40
mov ecx, dword [0x473820]
mov eax, dword [0x473930]
mov eax, dword [eax]
mov edx, dword [0x470210]
call fcn.00422f40
mov eax, dword [0x4738c8]
mov eax, dword [eax]
xor edx, edx
call fcn.0045ec58
mov eax, dword [0x473930]
mov eax, dword [eax]
mov byte [eax + 0x3f], 0
mov edx, dword [0x47384c]
mov edx, dword [edx]
mov eax, dword [0x473820]
mov eax, dword [eax]
call fcn.0042658c
mov eax, dword [0x473820]
mov eax, dword [eax]
call fcn.0042a1c8
mov eax, dword [0x473930]
mov eax, dword [eax]
call fcn.00422fcc
mov eax, 0x475f84
mov edx, dword [0x4738c8]
mov edx, dword [edx]
mov edx, dword [edx + 0x30f4]
call fcn.004039f0
mov eax, dword [0x473820]
mov eax, dword [eax]
call fcn.00402e98
mov eax, dword [0x4738c8]
mov eax, dword [eax]
call fcn.00402e98
mov eax, dword [0x473880]
cmp byte [eax], 0
jne 0x4711ea
push 0xb
call sub.kernel32.dll_Sleep
cmp dword [0x475f84], 0
je 0x4712ce
mov eax, dword [0x475f84]
call fcn.00407690
mov eax, dword [0x475d1c]
push eax
call sub.kernel32.dll_ReleaseMutex
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4712fb
lea eax, [ebp - 0x1c]
mov edx, 4
call fcn.004039c0
ret