Function at 0x4156e0
Capabilities:
Delete file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
sub esp, 0x30
mov eax, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [0x4a3080]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov ecx, dword [0x4a46b0]
mov eax, dword [0x4a46ac]
mov edx, ecx
add edx, 0xe617048b
sub edx, 1
sub edx, 0xe617048b
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x2a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x29], al
mov dword [ebp - 0x30], 0x8f820634
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
sub eax, 0x8f820634
je 0x4159ff
jmp 0x41574e
mov eax, dword [ebp - 0x38]
sub eax, 0xa02900c5
je 0x415fd2
jmp 0x415761
mov eax, dword [ebp - 0x38]
sub eax, 0xaa7cce18
je 0x415aa2
jmp 0x415774
mov eax, dword [ebp - 0x38]
sub eax, 0xad399dd1
je 0x416030
jmp 0x415787
mov eax, dword [ebp - 0x38]
sub eax, 0xb178268c
je 0x41601f
jmp 0x41579a
mov eax, dword [ebp - 0x38]
sub eax, 0xc8d96361
je 0x4160c4
jmp 0x4157ad
mov eax, dword [ebp - 0x38]
sub eax, 0xc988fdec
je 0x415c7b
jmp 0x4157c0
mov eax, dword [ebp - 0x38]
sub eax, 0xcaf7d59b
je 0x416141
jmp 0x4157d3
mov eax, dword [ebp - 0x38]
sub eax, 0xe3a249fd
je 0x415c87
jmp 0x4157e6
mov eax, dword [ebp - 0x38]
sub eax, 0xe71f7acd
je 0x415f80
jmp 0x4157f9
mov eax, dword [ebp - 0x38]
sub eax, 0xe83420f5
je 0x415b6f
jmp 0x41580c
mov eax, dword [ebp - 0x38]
sub eax, 0xee035a4f
je 0x415e11
jmp 0x41581f
mov eax, dword [ebp - 0x38]
sub eax, 0xf02bbb5a
je 0x415d7d
jmp 0x415832
mov eax, dword [ebp - 0x38]
sub eax, 0xf24a86d3
je 0x415f0d
jmp 0x415845
mov eax, dword [ebp - 0x38]
sub eax, 0xf64a5e0e
je 0x415a96
jmp 0x415858
mov eax, dword [ebp - 0x38]
sub eax, 0xfa28407e
je 0x416007
jmp 0x41586b
mov eax, dword [ebp - 0x38]
sub eax, 0xfd4c2c29
je 0x415b83
jmp 0x41587e
mov eax, dword [ebp - 0x38]
sub eax, 0x4d1dd1
je 0x41607e
jmp 0x415891
mov eax, dword [ebp - 0x38]
sub eax, 0xb566e5
je 0x415a4a
jmp 0x4158a4
mov eax, dword [ebp - 0x38]
sub eax, 0x2276d72
je 0x415fec
jmp 0x4158b7
mov eax, dword [ebp - 0x38]
sub eax, 0x20156538
je 0x416135
jmp 0x4158ca
mov eax, dword [ebp - 0x38]
sub eax, 0x2f642273
je 0x415b15
jmp 0x4158dd
mov eax, dword [ebp - 0x38]
sub eax, 0x324d7e06
je 0x415e90
jmp 0x4158f0
mov eax, dword [ebp - 0x38]
sub eax, 0x34b25a8e
je 0x415ca1
jmp 0x415903
mov eax, dword [ebp - 0x38]
sub eax, 0x40dd5eb1
je 0x415b63
jmp 0x415916
mov eax, dword [ebp - 0x38]
sub eax, 0x42e0b631
je 0x415bf6
jmp 0x415929
mov eax, dword [ebp - 0x38]
sub eax, 0x43b3bb4c
je 0x415fc6
jmp 0x41593c
mov eax, dword [ebp - 0x38]
sub eax, 0x43f56f35
je 0x4160d0
jmp 0x41594f
mov eax, dword [ebp - 0x38]
sub eax, 0x4d98ceb4
je 0x415e1d
jmp 0x415962
mov eax, dword [ebp - 0x38]
sub eax, 0x4f5895de
je 0x4160df
jmp 0x415975
mov eax, dword [ebp - 0x38]
sub eax, 0x538c13a7
je 0x416013
jmp 0x415988
mov eax, dword [ebp - 0x38]
sub eax, 0x54a6aca8
je 0x415d62
jmp 0x41599b
mov eax, dword [ebp - 0x38]
sub eax, 0x558fa7f2
je 0x415d14
jmp 0x4159ae
mov eax, dword [ebp - 0x38]
sub eax, 0x5bac2d00
je 0x4160fa
jmp 0x4159c1
mov eax, dword [ebp - 0x38]
sub eax, 0x5e834b97
je 0x416129
jmp 0x4159d4
mov eax, dword [ebp - 0x38]
sub eax, 0x622ef4a3
je 0x415dc3
jmp 0x4159e7
mov eax, dword [ebp - 0x38]
sub eax, 0x6e8c80d3
je 0x41610e
jmp 0x4159fa
jmp 0x416148
mov bl, byte [ebp - 0x2a]
mov dh, byte [ebp - 0x29]
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, 0xad399dd1
mov ecx, 0xb566e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov eax, dword [0x4a46b0]
mov ecx, dword [0x4a46ac]
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, 0xad399dd1
mov ecx, 0xf64a5e0e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov dword [ebp - 0x30], 0xaa7cce18
jmp 0x416148
mov ecx, dword [0x4a46b0]
mov eax, dword [0x4a46ac]
mov edx, ecx
sub edx, 0x65ba31c9
sub edx, 1
add edx, 0x65ba31c9
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, 0x5bac2d00
mov ecx, 0x2f642273
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov dword [eax], ecx
mov eax, dword [0x4a46b0]
mov ecx, dword [0x4a46ac]
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, 0x5bac2d00
mov ecx, 0x40dd5eb1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov dword [ebp - 0x30], 0xe83420f5
jmp 0x416148
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], 0xfd4c2c29
jmp 0x416148
mov ecx, dword [0x4a46b0]
mov eax, dword [0x4a46ac]
mov edx, ecx
sub edx, 0xb16b544f
sub edx, 1
add edx, 0xb16b544f
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, 0x6e8c80d3
mov ecx, 0x42e0b631
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov eax, dword [ebp - 0x24]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x20], eax
mov ecx, dword [0x4a46b0]
mov eax, dword [0x4a46ac]
mov edx, ecx
sub edx, 0xe93b85e7
sub edx, 1
add edx, 0xe93b85e7
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, 0x6e8c80d3
mov ecx, 0xc988fdec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov dword [ebp - 0x30], 0xe3a249fd
jmp 0x416148
mov eax, dword [ebp - 0x20]
cmp eax, 0xffffffff
setne al
and al, 1
mov byte [ebp - 0x19], al
mov dword [ebp - 0x30], 0x34b25a8e
jmp 0x416148
mov ecx, dword [0x4a46b0]
mov eax, dword [0x4a46ac]
mov edx, ecx
sub edx, 0x9f993e2e
sub edx, 1
add edx, 0x9f993e2e
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, 0x5e834b97
mov ecx, 0x558fa7f2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov eax, dword [0x4a46b0]
mov ecx, dword [0x4a46ac]
mov edx, eax
sub edx, 0x49739188
sub edx, 1
add edx, 0x49739188
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, 0x5e834b97
mov ecx, 0x54a6aca8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov dl, byte [ebp - 0x19]
mov eax, 0xb178268c
mov ecx, 0xf02bbb5a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov eax, dword [0x4a46b0]
mov ecx, dword [0x4a46ac]
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, 0x43f56f35
mov ecx, 0x622ef4a3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [0x4a46b0]
mov ecx, dword [0x4a46ac]
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, 0x43f56f35
mov ecx, 0xee035a4f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov dword [ebp - 0x30], 0x4d98ceb4
jmp 0x416148
mov ecx, dword [0x4a46b0]
mov eax, dword [0x4a46ac]
mov edx, ecx
add edx, 0x14410705
sub edx, 1
sub edx, 0x14410705
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, 0x4f5895de
mov ecx, 0x324d7e06
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x4a46b0]
mov eax, dword [0x4a46ac]
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, 0x4f5895de
mov ecx, 0xf24a86d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov ecx, dword [0x4a46b0]
mov eax, dword [0x4a46ac]
mov edx, ecx
sub edx, 0xac82d66
sub edx, 1
add edx, 0xac82d66
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, 0x20156538
mov ecx, 0xe71f7acd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov eax, dword [0x4a46b0]
mov ecx, dword [0x4a46ac]
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, 0x20156538
mov ecx, 0x43b3bb4c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov dword [ebp - 0x30], 0xa02900c5
jmp 0x416148
mov eax, dword [ebp - 0x14]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0xd], al
mov dword [ebp - 0x30], 0x2276d72
jmp 0x416148
mov dl, byte [ebp - 0xd]
mov eax, 0xfa28407e
mov ecx, 0x538c13a7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov dword [ebp - 0x30], 0xb178268c
jmp 0x416148
mov dword [ebp - 0x30], 0xb178268c
jmp 0x416148
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.0048a810
lea esp, [ebp - 8]
pop esi
pop ebx
pop ebp
ret
mov eax, dword [0x4a46b0]
mov ecx, dword [0x4a46ac]
mov edx, eax
add edx, 0x4f2b036c
sub edx, 1
sub edx, 0x4f2b036c
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, 0xcaf7d59b
mov ecx, 0x4d1dd1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov eax, dword [0x4a46b0]
mov ecx, dword [0x4a46ac]
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, 0xcaf7d59b
mov ecx, 0xc8d96361
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x416148
mov dword [ebp - 0x30], 0xb566e5
jmp 0x416148
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], 0x622ef4a3
jmp 0x416148
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [ebp - 0x30], 0x324d7e06
jmp 0x416148
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x28]
mov dword [eax], ecx
mov dword [ebp - 0x30], 0x2f642273
jmp 0x416148
mov eax, dword [ebp - 0x24]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov dword [ebp - 0x30], 0x42e0b631
jmp 0x416148
mov dword [ebp - 0x30], 0x558fa7f2
jmp 0x416148
mov dword [ebp - 0x30], 0xe71f7acd
jmp 0x416148
mov dword [ebp - 0x30], 0x4d1dd1
jmp 0x415738