Function at 0x476a72
Capabilities:
Check if file exists
Delete file
Get common file path
Move file

Disassembly:
push 0x2a4
mov eax, 0x4c2b66
call fcn.00435f52
mov edi, dword [ebp + 8]
push edi
mov dword [ebp - 0x2ac], edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4772dc
call fcn.00478685
test al, al
je 0x476abe
push edi
push edx
push ecx
pop esp
push eax
pop esp
push esi
push edx
push esp
pop esi
push ebp
pop ebx
push esp
pop esp
push eax
pop eax
pop ebp
push ebx
push esp
push esi
pop edx
push edi
push ebp
push edx
push esp
push ecx
pop ebx
push edi
call fcn.004784a2
test al, al
je 0x476aed
pop ebp
push esi
push esi
push edx
push ebx
push eax
pop esi
pop esi
push ebp
push eax
push edx
push esi
push esi
push ebx
pop ebx
pop ebx
push edx
pop esi
pop ebx
push esi
pop ecx
pop ebp
push edi
pop edi
push ecx
pop edx
pop ecx
pop edi
push edi
push ecx
pop ecx
pop ebx
mov edi, dword [ebp - 0x2ac]
call fcn.00478640
test al, al
je 0x476b0f
pop ebx
push ecx
pop esi
push ecx
push edi
pop edx
pop esp
push edx
pop eax
pop ecx
push ebx
push ebx
push ebx
push eax
push ecx
push ebx
pop esi
push edi
pop ebp
push ecx
pop ecx
pop ebx
pop esp
push ecx
push esp
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x476b88
call fcn.004780dc
test al, al
je 0x476b41
push edx
push ebp
pop esp
pop eax
pop edx
push edi
pop eax
push esi
pop ebx
push ebx
pop ecx
push ebx
pop ecx
push eax
push ebp
pop ecx
pop eax
pop esi
push ecx
push esp
push ebx
pop edi
pop esp
pop esp
push ebx
pop esi
push ebx
pop ebp
pop ecx
push edx
call fcn.00478571
test al, al
je 0x476b5f
push esp
pop esi
push ecx
push ebp
pop esi
push ebx
pop edi
pop ecx
pop ebx
pop eax
push edx
pop edi
pop esp
push edi
pop esi
push ecx
pop ebp
pop ebp
pop esi
push ecx
push ebp
call fcn.00478097
test al, al
je 0x4772dc
push esi
push eax
push esp
pop ebx
push ebx
push edi
push ebp
pop ebp
pop edi
pop esp
push esi
push edi
pop edx
pop esi
push edx
pop edx
push edx
pop edx
pop ebp
push eax
push edx
push ebp
push ebp
jmp 0x4772dc
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.0047a360
add esp, 0xc
mov dword [ebp - 0x234], 7
xor eax, eax
mov dword [ebp - 0x238], ebx
lea ecx, [ebp - 0x248]
mov word [ebp - 0x248], ax
push ebx
push 0x4c3f80
call fcn.00402446
mov dword [ebp - 4], ebx
call fcn.004784a2
test al, al
je 0x476beb
pop ecx
pop esp
push eax
push esp
push ebx
push ecx
push esp
push ebx
pop esi
pop edi
pop ebp
pop edi
pop edi
pop ebx
push edi
pop edx
pop ebx
pop eax
pop esi
pop esi
push ecx
push ebx
call fcn.0047838e
test al, al
je 0x476c0a
pop esi
push ebp
pop ecx
pop eax
pop esi
push edx
pop edi
push ecx
push edx
pop esp
push esp
pop esi
pop esp
push edi
push eax
pop ecx
push ebx
pop ebx
pop esi
push edi
pop ebx
pop esi
call fcn.004781f0
test al, al
je 0x476c2d
push ebp
push eax
push esp
pop edx
pop edx
pop eax
pop esi
pop edi
pop edi
push ebx
push edx
pop ebp
pop ecx
push esi
push eax
push esp
pop ecx
pop ebx
pop ebp
pop ebx
pop edx
pop esi
pop esi
pop esp
push esi
pop ebx
call fcn.004781ab
test al, al
je 0x476c4b
pop ebx
pop ebp
pop edi
pop eax
pop ebp
pop edx
pop ebp
push eax
push esp
push eax
push ebx
push esp
pop esp
pop edi
pop ebp
pop edx
push esp
push ebx
push eax
pop esi
pop esi
call fcn.004784a2
test al, al
je 0x476c73
pop edx
pop ebp
pop edx
pop edx
pop esp
pop ebx
push esi
push ebx
push edx
pop esi
push eax
pop edx
pop esp
push edi
pop ebx
pop esi
pop esp
pop edx
pop ecx
push esp
pop ebp
push edx
push edx
push ecx
pop edi
push ebp
push edx
push ecx
pop eax
push esi
pop ebx
lea eax, [ebp - 0x218]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov ebx, dword [ebp - 0x2ac]
lea eax, [ebp - 0x2a8]
push ebx
push eax
call fcn.0047452c
pop ecx
pop ecx
mov byte [ebp - 4], 1
call fcn.004782bf
test al, al
je 0x476cbc
push ecx
pop ebp
pop esp
pop ebp
pop esi
pop ecx
pop eax
push edx
push edx
push ebp
pop ebp
push ebx
push edx
pop edi
pop edx
push eax
pop edx
pop edi
push esi
pop eax
push edx
call fcn.004786ca
test al, al
je 0x476cdf
push esp
pop ebp
pop edx
push edx
push edx
pop ecx
push edi
pop esp
pop esi
pop esi
push esi
push ecx
push ecx
push esp
push ebx
pop ecx
push esp
pop esi
push esi
push ebp
pop esp
pop eax
push edx
push edi
push esp
pop esi
call fcn.004781ab
test al, al
je 0x476d04
pop ebp
push edx
pop edx
pop eax
pop eax
push esp
pop esp
pop edx
push esp
push esp
push ecx
pop ebp
pop edx
push ecx
pop eax
push edx
pop ebx
push esi
pop ecx
pop ecx
push ecx
push edi
mov ebx, dword [ebp - 0x2ac]
call fcn.00478640
test al, al
je 0x476d22
pop ecx
pop edx
pop edi
push ecx
pop eax
push ecx
push esp
pop esi
push ebp
pop edi
push edx
pop ebp
push eax
pop edi
push ebp
pop edi
pop eax
push esp
pop edi
pop esi
push esp
lea eax, [ebp - 0x278]
push ebx
push eax
call fcn.00474a07
pop ecx
pop ecx
mov byte [ebp - 4], 2
call fcn.00478349
test al, al
je 0x476d58
push edi
push ebx
pop ecx
push esi
pop ecx
push edi
push eax
pop edi
push esi
push ebx
pop esi
push ebp
pop edx
push ebp
push ecx
pop eax
push esp
pop esp
pop ebp
push eax
push esi
push eax
pop esi
pop edx
pop edx
push ebp
call fcn.004784e7
test al, al
je 0x476d76
pop ebp
push edx
push ebx
push ebp
pop edi
push edi
push esi
push esi
push edx
push eax
pop eax
pop ebp
push esp
pop ebx
pop edx
pop edi
push esp
push ebx
pop esp
push edi
push edi
call fcn.004781f0
test al, al
je 0x476d90
push ebp
pop ecx
push edi
push esp
pop ecx
pop ebp
push ebp
push esp
pop ebp
pop ebp
pop edx
push eax
pop eax
pop ebp
push esi
pop esp
pop ecx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00474a07
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 3
push eax
call fcn.00475222
add esp, 0xc
call fcn.004784a2
test al, al
je 0x476ddb
pop eax
pop esi
pop edx
pop ebp
pop eax
push ebx
pop ebx
push eax
push ecx
push esp
pop edi
push edi
push edx
pop edx
push eax
push edi
push ebx
push edx
pop edx
push ebp
pop eax
push edx
pop esi
push esi
pop ebp
push ebx
push eax
push esp
lea eax, [ebp - 0x260]
push eax
call fcn.00475222
pop ecx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.00429b92
test eax, eax
jne 0x476e9d
call fcn.004786ca
test al, al
je 0x476e29
push esi
pop esi
pop eax
pop ecx
push ecx
pop esi
pop eax
push esi
push esp
push ebp
pop ebx
push eax
push edi
push esp
pop ebx
pop esp
pop edx
push edi
pop esp
push esi
push edx
push ebx
pop edi
push eax
pop ecx
push esp
pop ecx
push ecx
pop esi
push ebx
call fcn.00478121
test al, al
je 0x476e4b
pop esi
push eax
push esi
push edx
push ebx
pop edx
push edx
pop esi
pop esp
push ebx
pop edx
push edx
pop edi
pop edx
pop esp
push ebp
pop esi
push ebx
push ebx
push esp
pop edx
push edi
push ebp
push edi
push esp
call fcn.004781f0
test al, al
je 0x476e6d
pop eax
push ebp
pop ebp
push ebp
push edi
push eax
pop esp
push ecx
push edi
push esi
push edx
pop ebx
push ebp
pop ebp
pop edx
pop ebp
push esp
pop ebx
push ecx
push eax
pop ecx
pop ebp
push eax
pop esp
push esi
cmp word [ebp - 0x218], 0
jne 0x476e7b
xor eax, eax
jmp 0x476e88
lea eax, [ebp - 0x218]
push eax
call fcn.0047de63
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.00402446
jmp 0x476ef0
call fcn.00478571
test al, al
je 0x476ec1
push esi
push esp
push ecx
pop ebp
push ecx
pop ecx
pop edi
push edx
pop edx
push ecx
pop esi
push ecx
push esp
push ecx
push esp
pop ebx
push esp
push ebp
pop ebx
push esi
pop esi
pop eax
push eax
push ebp
push ebp
push edx
push edx
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x290]
push eax
call fcn.004746b9
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.00426301
push 0
push 1
lea ecx, [ebp - 0x290]
call fcn.004022f3
and dword [ebp - 0x2b0], 0
call fcn.00478097
test al, al
je 0x476f18
push esi
push eax
push edi
push eax
push ebp
push esp
pop esi
pop esp
pop ebx
pop esp
pop ecx
push ebx
pop edx
pop ebp
push esp
push edx
push ecx
push edi
push eax
push edx
push eax
push eax
pop esp
push ecx
call fcn.004781f0
test al, al
je 0x476f35
pop edx
pop esp
pop esp
push eax
pop esi
pop ecx
push ebx
pop esp
push esp
push esp
pop ebx
push esp
push edi
push esp
pop edi
push edx
push edx
pop ecx
push esp
pop ebp
call fcn.00478349
test al, al
je 0x476f59
pop esp
push eax
push esp
pop ecx
push esi
pop eax
pop eax
push ecx
pop ebx
pop edx
pop esp
pop ebp
push ecx
push esp
push ebx
push ecx
push eax
pop ebp
push edx
pop esi
pop edi
push edi
push ecx
pop edx
push ecx
pop eax
pop eax
and dword [ebp - 0x220], 0
lea ecx, [ebp - 0x230]
xor eax, eax
mov dword [ebp - 0x21c], 7
push eax
push 0x4c3f80
mov word [ebp - 0x230], ax
call fcn.00402446
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x230]
call fcn.0040238a
call fcn.004781ab
test al, al
je 0x476fbe
push esi
push edx
push edx
push ecx
pop eax
push ebp
push esp
pop edx
pop edi
push eax
push edx
pop ecx
pop ecx
push edi
push ebx
pop edx
pop esi
push esi
push edi
pop edx
pop eax
push eax
push eax
call fcn.004781f0
test al, al
je 0x476fde
pop esi
push ebp
pop ebx
push ecx
pop esp
pop ebx
push esi
push ecx
pop ebp
pop esi
pop edi
pop ebp
push esp
pop esi
pop edx
push ebp
push esp
push ecx
pop edx
pop esi
pop esp
pop eax
pop ebx
call fcn.004785b6
test al, al
je 0x476ffa
pop esi
push eax
pop edx
pop esp
push edi
push ebp
push eax
push esp
pop edx
push esp
pop esi
pop esi
pop ebp
pop ebx
pop eax
pop eax
pop edi
pop ebx
push esi
push 0xffffffffffffffff
xor ebx, ebx
lea eax, [ebp - 0x2a8]
push ebx
push eax
lea ecx, [ebp - 0x230]
call fcn.004271e7
mov esi, str..bbb
push esi
call fcn.0047de63
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.00427286
mov eax, dword [ebp - 0x2b0]
test eax, eax
jle 0x47706b
cdq
push edx
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.00475e4d
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 5
call fcn.004271e7
push ebx
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 4
call fcn.004022f3
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x477170
call fcn.00478304
test al, al
je 0x4770ac
pop esi
pop ecx
pop edi
push ebx
pop ecx
push edi
push eax
pop edi
push ebp
push edi
push eax
pop eax
push esp
push edx
push ebx
pop eax
pop edi
push ebp
pop ebp
push ecx
pop edx
call fcn.0047870f
test al, al
je 0x4770c8
push esp
pop esp
push edi
pop ecx
pop ebp
push esp
push esp
pop eax
push esi
push esi
push ebp
pop esp
pop ebx
pop ebx
push edi
pop esp
push esp
pop edi
push edx
call fcn.0047845d
test al, al
je 0x4770ef
push edx
push edi
pop eax
pop esp
push edi
pop ebx
pop esi
pop ebp
push esi
pop edi
push esp
push ecx
pop eax
push eax
push ecx
push ebp
push ecx
push ebp
pop esp
push esp
pop edx
pop esp
pop ebp
pop eax
pop esp
pop ebx
pop esi
push edi
push edi
pop ebp
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x477170
call fcn.004781f0
test al, al
je 0x477129
pop eax
push edx
push edi
pop esi
push edx
push esi
push edi
push esi
push eax
push eax
pop esp
pop ebp
push edi
pop ecx
push esp
pop esp
pop esi
push ebx
call fcn.00478640
test al, al
je 0x477142
push ebx
pop esi
pop esi
push ebp
pop edx
push ecx
pop ebx
pop eax
pop ecx
pop esp
pop esi
pop ecx
pop edx
push ebp
pop edx
push edi
mov eax, dword [ebp - 0x2b0]
cmp eax, 0xa
jge 0x477293
push 0
inc eax
mov byte [ebp - 4], 3
push 1
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x2b0], eax
call fcn.004022f3
jmp 0x476f59
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push dword [ebp - 0x2ac]
call fcn.00486e6a
pop ecx
pop ecx
call fcn.00478418
test al, al
je 0x4771b2
pop edx
pop ebx
pop esi
push edi
pop edi
push ecx
pop edx
push ebp
pop eax
pop ebp
push edx
push eax
push eax
pop edx
push edi
pop esp
pop eax
push ebx
pop edi
pop edx
push edx
pop eax
push esi
call fcn.00478097
test al, al
je 0x4771d5
pop esp
push ebx
push eax
pop edi
pop ecx
pop edx
push ebp
push eax
pop ecx
push edi
pop eax
pop ebx
push edi
pop ecx
push ebx
pop edi
push eax
pop ecx
push edi
pop esp
push ebx
pop edi
push edx
pop edi
push edx
pop esi
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x230]
push eax
call ebx
test eax, eax
je 0x477215
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
push 5
cmovae eax, dword [ebp - 0x230]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
push dword [ebp - 0x2ac]
call ebx
test eax, eax
je 0x477293
call fcn.0047852c
test al, al
je 0x477245
push ecx
pop esp
push eax
pop ebp
push esi
pop eax
pop esp
push eax
push esi
pop ecx
pop eax
push ebp
pop eax
pop esi
push edx
pop edi
pop ebp
push edx
push eax
pop ebx
pop edx
pop edx
push esi
push esi
pop edx
pop ebp
pop ebx
call fcn.00478571
test al, al
je 0x477265
pop esp
push eax
push esi
push esi
push ebp
push esi
pop eax
pop ecx
pop eax
push edi
push edi
pop ebx
push esp
pop esp
push esi
pop ecx
push esi
push esi
push ebx
pop esi
push edx
pop esp
pop eax
call fcn.0047827a
test al, al
je 0x477283
push ebp
push ecx
pop esp
push ecx
pop ebp
push ecx
push esp
push ecx
pop esp
pop edi
push edi
pop ebp
push edi
push esp
pop ebx
push ecx
push edi
pop ebx
pop eax
pop ebx
push ebp
push 5
push 0
push dword [ebp - 0x2ac]
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
xor ebx, ebx
lea ecx, [ebp - 0x230]
push 0
inc ebx
push ebx
call fcn.004022f3
push 0
push ebx
lea ecx, [ebp - 0x260]
call fcn.004022f3
push 0
push ebx
lea ecx, [ebp - 0x278]
call fcn.004022f3
push 0
push ebx
lea ecx, [ebp - 0x2a8]
call fcn.004022f3
push 0
push ebx
lea ecx, [ebp - 0x248]
call fcn.004022f3
call fcn.00435efc
ret