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

Disassembly:
push 0x2a4
mov eax, 0x4c3432
call fcn.00435efd
mov edi, dword [ebp + 8]
push edi
mov dword [ebp - 0x2ac], edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4772f8
call fcn.0047866f
test al, al
je 0x476ada
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.0047848c
test al, al
je 0x476b09
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.0047862a
test al, al
je 0x476b2b
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 0x476ba4
call fcn.004780c6
test al, al
je 0x476b5d
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.0047855b
test al, al
je 0x476b7b
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.00478081
test al, al
je 0x4772f8
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 0x4772f8
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.0047a540
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 0x4c4ce0
call fcn.004024a6
mov dword [ebp - 4], ebx
call fcn.0047848c
test al, al
je 0x476c07
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.00478378
test al, al
je 0x476c26
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.004781da
test al, al
je 0x476c49
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.00478195
test al, al
je 0x476c67
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.0047848c
test al, al
je 0x476c8f
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.0047457b
pop ecx
pop ecx
mov byte [ebp - 4], 1
call fcn.004782a9
test al, al
je 0x476cd8
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.004786b4
test al, al
je 0x476cfb
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.00478195
test al, al
je 0x476d20
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.0047862a
test al, al
je 0x476d3e
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.00474a41
pop ecx
pop ecx
mov byte [ebp - 4], 2
call fcn.00478333
test al, al
je 0x476d74
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.004784d1
test al, al
je 0x476d92
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.004781da
test al, al
je 0x476dac
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.00474a41
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 3
push eax
call fcn.0047525c
add esp, 0xc
call fcn.0047848c
test al, al
je 0x476df7
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.0047525c
pop ecx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.00429c14
test eax, eax
jne 0x476eb9
call fcn.004786b4
test al, al
je 0x476e45
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.0047810b
test al, al
je 0x476e67
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.004781da
test al, al
je 0x476e89
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 0x476e97
xor eax, eax
jmp 0x476ea4
lea eax, [ebp - 0x218]
push eax
call fcn.0047e053
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.004024a6
jmp 0x476f0c
call fcn.0047855b
test al, al
je 0x476edd
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.004746f3
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.0042637d
push 0
push 1
lea ecx, [ebp - 0x290]
call fcn.00402353
and dword [ebp - 0x2b0], 0
call fcn.00478081
test al, al
je 0x476f34
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.004781da
test al, al
je 0x476f51
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.00478333
test al, al
je 0x476f75
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 0x4c4ce0
mov word [ebp - 0x230], ax
call fcn.004024a6
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x230]
call fcn.004023ea
call fcn.00478195
test al, al
je 0x476fda
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.004781da
test al, al
je 0x476ffa
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.004785a0
test al, al
je 0x477016
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.00427288
mov esi, str..bbb
push esi
call fcn.0047e053
pop ecx
push eax
push esi
lea ecx, [ebp - 0x230]
call fcn.00427327
mov eax, dword [ebp - 0x2b0]
test eax, eax
jle 0x477087
cdq
push edx
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.00475e87
add esp, 0xc
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 5
call fcn.00427288
push ebx
push 1
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 4
call fcn.00402353
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 0x47718c
call fcn.004782ee
test al, al
je 0x4770c8
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.004786f9
test al, al
je 0x4770e4
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.00478447
test al, al
je 0x47710b
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 0x47718c
call fcn.004781da
test al, al
je 0x477145
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.0047862a
test al, al
je 0x47715e
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 0x4772af
push 0
inc eax
mov byte [ebp - 4], 3
push 1
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x2b0], eax
call fcn.00402353
jmp 0x476f75
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push dword [ebp - 0x2ac]
call fcn.00486f5a
pop ecx
pop ecx
call fcn.00478402
test al, al
je 0x4771ce
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.00478081
test al, al
je 0x4771f1
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 0x477231
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 0x4772af
call fcn.00478516
test al, al
je 0x477261
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.0047855b
test al, al
je 0x477281
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.00478264
test al, al
je 0x47729f
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.00402353
push 0
push ebx
lea ecx, [ebp - 0x260]
call fcn.00402353
push 0
push ebx
lea ecx, [ebp - 0x278]
call fcn.00402353
push 0
push ebx
lea ecx, [ebp - 0x2a8]
call fcn.00402353
push 0
push ebx
lea ecx, [ebp - 0x248]
call fcn.00402353
call fcn.00435ea7
ret