Function at 0x40cd90
Capabilities:
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0x1e6a3239
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
sub eax, 0x85aecc04
je 0x40cf77
jmp 0x40cdbc
mov eax, dword [ebp - 0x30]
sub eax, 0x89b213b2
je 0x40d2fe
jmp 0x40cdcf
mov eax, dword [ebp - 0x30]
sub eax, 0x93087dfd
je 0x40d2f2
jmp 0x40cde2
mov eax, dword [ebp - 0x30]
sub eax, 0xb4bf84f8
je 0x40d0f8
jmp 0x40cdf5
mov eax, dword [ebp - 0x30]
sub eax, 0xd9a83e8f
je 0x40d01a
jmp 0x40ce08
mov eax, dword [ebp - 0x30]
sub eax, 0xd9d05add
je 0x40d205
jmp 0x40ce1b
mov eax, dword [ebp - 0x30]
sub eax, 0xe0f91761
je 0x40d0ec
jmp 0x40ce2e
mov eax, dword [ebp - 0x30]
sub eax, 0xeed7cfa6
je 0x40d0a0
jmp 0x40ce41
mov eax, dword [ebp - 0x30]
sub eax, 0xf84770d1
je 0x40d316
jmp 0x40ce54
mov eax, dword [ebp - 0x30]
sub eax, 0xd6d970d
je 0x40d1e3
jmp 0x40ce67
mov eax, dword [ebp - 0x30]
sub eax, 0xf3795d4
je 0x40d1d7
jmp 0x40ce7a
mov eax, dword [ebp - 0x30]
sub eax, 0x11275b8b
je 0x40d2c6
jmp 0x40ce8d
mov eax, dword [ebp - 0x30]
sub eax, 0x1e6a3239
je 0x40cf04
jmp 0x40cea0
mov eax, dword [ebp - 0x30]
sub eax, 0x25ff5963
je 0x40d00e
jmp 0x40ceb3
mov eax, dword [ebp - 0x30]
sub eax, 0x3dd436d2
je 0x40d2ce
jmp 0x40cec6
mov eax, dword [ebp - 0x30]
sub eax, 0x3f74825e
je 0x40d278
jmp 0x40ced9
mov eax, dword [ebp - 0x30]
sub eax, 0x73e7eada
je 0x40d13e
jmp 0x40ceec
mov eax, dword [ebp - 0x30]
sub eax, 0x76f9f554
je 0x40d035
jmp 0x40ceff
jmp 0x40d31d
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
mov edx, ecx
sub edx, 0x4d2ee1a2
sub edx, 1
add edx, 0x4d2ee1a2
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, 0x3dd436d2
mov ecx, 0x85aecc04
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40d31d
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 2
mov ecx, 0xffffffff
xor ecx, 0xee9bc8e6
or eax, edx
or ecx, 0xee9bc8e6
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x19], al
mov eax, dword [0x43d53c]
mov ecx, dword [0x43d538]
mov edx, eax
add edx, 0x26a645bb
sub edx, 1
sub edx, 0x26a645bb
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, 0x3dd436d2
mov ecx, 0x25ff5963
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40d31d
mov dword [ebp - 0x28], 0xd9a83e8f
jmp 0x40d31d
mov dl, byte [ebp - 0x19]
mov eax, 0xd9d05add
mov ecx, 0x76f9f554
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40d31d
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
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, 0x93087dfd
mov ecx, 0xeed7cfa6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40d31d
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [0x43d53c]
mov ecx, dword [0x43d538]
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, 0x93087dfd
mov ecx, 0xe0f91761
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40d31d
mov dword [ebp - 0x28], 0xb4bf84f8
jmp 0x40d31d
mov eax, dword [0x43d53c]
mov ecx, dword [0x43d538]
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, 0x89b213b2
mov ecx, 0x73e7eada
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40d31d
mov ecx, dword [ebp - 0x18]
mov eax, ecx
xor eax, 0xffffffff
mov dword [ebp - 0x34], eax
mov esi, 0xffffffff
xor esi, 2
mov edx, 0xffffffff
xor edx, 0xd852809f
and eax, 0xd852809f
and ecx, edx
mov edi, esi
and edi, 0xd852809f
mov ebx, edx
and ebx, 2
or eax, ecx
mov ecx, dword [ebp - 0x34]
or edi, ebx
xor eax, edi
or ecx, esi
xor ecx, 0xffffffff
or edx, 0xd852809f
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
mov eax, dword [0x43d53c]
mov ecx, dword [0x43d538]
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, 0x89b213b2
mov ecx, 0xf3795d4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40d31d
mov dword [ebp - 0x28], 0xd6d970d
jmp 0x40d31d
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
sub esp, 8
mov dword [ebp - 0x28], 0xd9d05add
jmp 0x40d31d
mov ecx, dword [0x43d53c]
mov eax, dword [0x43d538]
mov edx, ecx
add edx, 0xc253b5b0
sub edx, 1
sub edx, 0xc253b5b0
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, 0xf84770d1
mov ecx, 0x3f74825e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40d31d
mov eax, dword [0x43d53c]
mov ecx, dword [0x43d538]
mov edx, eax
sub edx, 0x5847e0e6
sub edx, 1
add edx, 0x5847e0e6
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, 0xf84770d1
mov ecx, 0x11275b8b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40d31d
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
sub esp, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], 0x85aecc04
jmp 0x40d31d
mov dword [ebp - 0x28], 0xeed7cfa6
jmp 0x40d31d
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], 0x73e7eada
jmp 0x40d31d
mov dword [ebp - 0x28], 0x3f74825e
jmp 0x40cda6