Function at 0x402920
Capabilities:
Check if file exists
Delete file
Get file attributes
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x443b29
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [0x45d0bc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov esi, ecx
lea ecx, [ebp - 0xac]
call fcn.0041b160
mov dword [ebp - 4], 0
mov eax, esi
cmp dword [esi + 0x14], 8
jb 0x40296d
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x402aab
lea eax, [ebp - 0x58]
push esi
push eax
call fcn.0041aaa0
push str._wasnt_deleted._File_doesnt_exists.
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 1
push eax
call fcn.00409990
add esp, 0x14
mov edx, eax
mov byte [ebp - 4], 2
cmp dword [edx + 0x14], 0x10
jb 0x4029ab
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4029c2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00408080
mov byte [ebp - 4], 3
lea edx, [ebp - 0x28]
mov ecx, dword [0x45fd70]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x402a1c
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402a12
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402ef8
push edx
push ecx
call fcn.004241cb
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x402a62
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402a58
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402efd
push edx
push ecx
call fcn.004241cb
add esp, 8
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x402d88
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402d7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f02
jmp 0x402d7e
mov eax, esi
cmp edi, 2
jne 0x402ac7
cmp dword [esi + 0x14], 8
jb 0x402aba
mov eax, dword [esi]
push 4
push 0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
jmp 0x402ad6
cmp dword [esi + 0x14], 8
jb 0x402acf
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x402d94
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x88]
call fcn.00402880
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 4
push esi
push eax
call fcn.0041aaa0
push str._wasnt_deleted.
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 5
push eax
call fcn.00409990
add esp, 0x14
mov edi, eax
mov edx, dword [ebp - 0x90]
mov byte [ebp - 4], 6
mov eax, dword [edi + 0x14]
mov esi, dword [edi + 0x10]
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x90], eax
sub eax, esi
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x98], eax
cmp ecx, eax
jbe 0x402b8c
mov eax, dword [edx + 0x14]
sub eax, ecx
cmp eax, esi
jb 0x402b86
cmp dword [ebp - 0x90], 0x10
jb 0x402b5c
mov edi, dword [edi]
push esi
push edi
push 0
mov ecx, edx
call fcn.0040af40
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
jmp 0x402bfa
mov eax, dword [ebp - 0x98]
cmp dword [edx + 0x14], 0x10
jb 0x402b94
mov edx, dword [edx]
cmp ecx, eax
ja 0x402bc4
cmp dword [ebp - 0x90], 0x10
lea eax, [esi + ecx]
mov dword [edi + 0x10], eax
mov eax, edi
jb 0x402bab
mov eax, dword [edi]
push ecx
add esi, eax
push edx
push esi
call fcn.00426480
mov eax, dword [ebp - 0x94]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x402bdd
push ecx
push edx
mov byte [ebp - 0x94], 0
push dword [ebp - 0x94]
push ecx
mov ecx, edi
call fcn.0040a9c0
mov edi, eax
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [edi + 0x10]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
movq qword [ebp - 0x30], xmm0
mov byte [ebp - 4], 7
lea edx, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x18], 0
cmovae edx, dword [ebp - 0x40]
mov ecx, edx
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402c25
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00408080
mov byte [ebp - 4], 8
lea edx, [ebp - 0x28]
mov ecx, dword [0x45fd70]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x402c7f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402c75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f07
push edx
push ecx
call fcn.004241cb
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x402cc5
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402cbb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f0c
push edx
push ecx
call fcn.004241cb
add esp, 8
mov edx, dword [ebp - 0x5c]
cmp edx, 0x10
jb 0x402cf9
mov ecx, dword [ebp - 0x70]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402cef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f11
push edx
push ecx
call fcn.004241cb
add esp, 8
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
cmp edx, 0x10
jb 0x402d3f
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402d35
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f16
push edx
push ecx
call fcn.004241cb
add esp, 8
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
cmp edx, 0x10
jb 0x402d88
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402d7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f1b
push edx
push ecx
call fcn.004241cb
add esp, 8
mov byte [ebp - 0x89], 0
jmp 0x402ecc
lea eax, [ebp - 0x88]
push esi
push eax
call fcn.0041aaa0
push str._was_successfully_deleted.
push eax
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 9
push eax
call fcn.00409990
add esp, 0x14
mov edx, eax
mov byte [ebp - 4], 0xa
cmp dword [edx + 0x14], 0x10
jb 0x402dc5
mov edx, dword [edx]
mov ecx, edx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x402de0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00408080
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x28]
mov ecx, dword [0x45fd70]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x402e3a
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402e30
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f20
push edx
push ecx
call fcn.004241cb
add esp, 8
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x402e80
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402e76
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f25
push edx
push ecx
call fcn.004241cb
add esp, 8
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
cmp edx, 0x10
jb 0x402ec5
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402ebb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x402f2a
push edx
push ecx
call fcn.004241cb
add esp, 8
mov byte [ebp - 0x89], 1
lea ecx, [ebp - 0xac]
call fcn.0041b280
mov al, byte [ebp - 0x89]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424185
mov esp, ebp
pop ebp
ret
call fcn.0042b37c
call fcn.0042b37c
call fcn.0042b37c
call fcn.0042b37c
call fcn.0042b37c
call fcn.0042b37c
call fcn.0042b37c
call fcn.0042b37c
call fcn.0042b37c
call fcn.0042b37c
call fcn.0042b37c
int3