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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x24
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [0x43a080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x43b55c]
mov eax, dword [0x43b558]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x1e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x24], 0x67673e50
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
sub eax, 0x806a3fcb
je 0x40ab6e
jmp 0x40a8d6
mov eax, dword [ebp - 0x2c]
sub eax, 0x80be89ae
je 0x40adc9
jmp 0x40a8e9
mov eax, dword [ebp - 0x2c]
sub eax, 0x87f2a5ef
je 0x40adb8
jmp 0x40a8fc
mov eax, dword [ebp - 0x2c]
sub eax, 0x8b607862
je 0x40adac
jmp 0x40a90f
mov eax, dword [ebp - 0x2c]
sub eax, 0x92f7e808
je 0x40adfa
jmp 0x40a922
mov eax, dword [ebp - 0x2c]
sub eax, 0x996c0586
je 0x40ace7
jmp 0x40a935
mov eax, dword [ebp - 0x2c]
sub eax, 0xa2839c77
je 0x40ac2e
jmp 0x40a948
mov eax, dword [ebp - 0x2c]
sub eax, 0xb89e86d2
je 0x40acf3
jmp 0x40a95b
mov eax, dword [ebp - 0x2c]
sub eax, 0xc21f8b8b
je 0x40aa7d
jmp 0x40a96e
mov eax, dword [ebp - 0x2c]
sub eax, 0xd6db690e
je 0x40abf9
jmp 0x40a981
mov eax, dword [ebp - 0x2c]
sub eax, 0xeb0dfafe
je 0x40ac7c
jmp 0x40a994
mov eax, dword [ebp - 0x2c]
sub eax, 0xeea86312
je 0x40ab20
jmp 0x40a9a7
mov eax, dword [ebp - 0x2c]
sub eax, 0x259f926
je 0x40aadd
jmp 0x40a9ba
mov eax, dword [ebp - 0x2c]
sub eax, 0xed9e314
je 0x40aad1
jmp 0x40a9cd
mov eax, dword [ebp - 0x2c]
sub eax, 0x1d7f0926
je 0x40ab05
jmp 0x40a9e0
mov eax, dword [ebp - 0x2c]
sub eax, 0x38a14e71
je 0x40ad5e
jmp 0x40a9f3
mov eax, dword [ebp - 0x2c]
sub eax, 0x4eb5c7cd
je 0x40abed
jmp 0x40aa06
mov eax, dword [ebp - 0x2c]
sub eax, 0x67673e50
je 0x40aa57
jmp 0x40aa19
mov eax, dword [ebp - 0x2c]
sub eax, 0x715467bc
je 0x40ae06
jmp 0x40aa2c
mov eax, dword [ebp - 0x2c]
sub eax, 0x7bc9c380
je 0x40ac13
jmp 0x40aa3f
mov eax, dword [ebp - 0x2c]
sub eax, 0x7c95b164
je 0x40addd
jmp 0x40aa52
jmp 0x40ae0d
mov al, byte [ebp - 0x1e]
mov cl, byte [ebp - 0x1d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x80be89ae
mov ecx, 0xc21f8b8b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40ae0d
mov ecx, dword [ebp - 0x28]
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov eax, dword [0x43b55c]
mov ecx, dword [0x43b558]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x80be89ae
mov ecx, 0xed9e314
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40ae0d
mov dword [ebp - 0x24], 0x259f926
jmp 0x40ae0d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
setne al
and al, 1
mov byte [ebp - 0x15], al
mov dword [ebp - 0x24], 0x1d7f0926
jmp 0x40ae0d
mov dl, byte [ebp - 0x15]
mov eax, 0x87f2a5ef
mov ecx, 0xeea86312
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40ae0d
mov eax, dword [0x43b55c]
mov ecx, dword [0x43b558]
mov edx, eax
add edx, 0xb29685e6
sub edx, 1
sub edx, 0xb29685e6
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7c95b164
mov ecx, 0x806a3fcb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40ae0d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x43b55c]
mov eax, dword [0x43b558]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x7c95b164
mov ecx, 0x4eb5c7cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40ae0d
mov dword [ebp - 0x24], 0xd6db690e
jmp 0x40ae0d
mov eax, dword [ebp - 0x14]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0xd], al
mov dword [ebp - 0x24], 0x7bc9c380
jmp 0x40ae0d
mov dl, byte [ebp - 0xd]
mov eax, 0xa2839c77
mov ecx, 0xb89e86d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40ae0d
mov eax, dword [0x43b55c]
mov ecx, dword [0x43b558]
mov edx, eax
add edx, 0x42a0c4d
sub edx, 1
sub edx, 0x42a0c4d
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x92f7e808
mov ecx, 0xeb0dfafe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40ae0d
mov ecx, dword [0x43b55c]
mov eax, dword [0x43b558]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x92f7e808
mov ecx, 0x996c0586
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40ae0d
mov dword [ebp - 0x24], 0x87f2a5ef
jmp 0x40ae0d
mov ecx, dword [0x43b55c]
mov eax, dword [0x43b558]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x715467bc
mov ecx, 0x38a14e71
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40ae0d
mov eax, dword [0x43b55c]
mov ecx, dword [0x43b558]
mov edx, eax
add edx, 0x47286651
sub edx, 1
sub edx, 0x47286651
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x715467bc
mov ecx, 0x8b607862
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x24], eax
jmp 0x40ae0d
mov dword [ebp - 0x24], 0x87f2a5ef
jmp 0x40ae0d
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00423ac0
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x28]
push eax
mov eax, esp
mov dword [eax], ecx
mov dword [ebp - 0x24], 0xc21f8b8b
jmp 0x40ae0d
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 0x24], 0x806a3fcb
jmp 0x40ae0d
mov dword [ebp - 0x24], 0xeb0dfafe
jmp 0x40ae0d
mov dword [ebp - 0x24], 0x38a14e71
jmp 0x40a8c0