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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x28
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
mov edx, ecx
add edx, 0x403d25c9
sub edx, 1
sub edx, 0x403d25c9
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x22], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x21], al
mov dword [ebp - 0x28], 0x17a41f9e
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x30], eax
sub eax, 0x85514899
je 0x406a70
jmp 0x4064af
mov eax, dword [ebp - 0x30]
sub eax, 0x8a411c41
je 0x4069e4
jmp 0x4064c2
mov eax, dword [ebp - 0x30]
sub eax, 0x8ed3bf90
je 0x406c37
jmp 0x4064d5
mov eax, dword [ebp - 0x30]
sub eax, 0x9d44d303
je 0x406fff
jmp 0x4064e8
mov eax, dword [ebp - 0x30]
sub eax, 0xb52712c5
je 0x406efe
jmp 0x4064fb
mov eax, dword [ebp - 0x30]
sub eax, 0xbc648e53
je 0x407047
jmp 0x40650e
mov eax, dword [ebp - 0x30]
sub eax, 0xbf0d6c8f
je 0x406979
jmp 0x406521
mov eax, dword [ebp - 0x30]
sub eax, 0xc615ba57
je 0x407053
jmp 0x406534
mov eax, dword [ebp - 0x30]
sub eax, 0xc6415d33
je 0x406b86
jmp 0x406547
mov eax, dword [ebp - 0x30]
sub eax, 0xc9fa1696
je 0x406d87
jmp 0x40655a
mov eax, dword [ebp - 0x30]
sub eax, 0xd0a211dc
je 0x406fcf
jmp 0x40656d
mov eax, dword [ebp - 0x30]
sub eax, 0xd34ab066
je 0x406bf1
jmp 0x406580
mov eax, dword [ebp - 0x30]
sub eax, 0xd5fc941a
je 0x406ff3
jmp 0x406593
mov eax, dword [ebp - 0x30]
sub eax, 0xdde28dd0
je 0x406fc3
jmp 0x4065a6
mov eax, dword [ebp - 0x30]
sub eax, 0xe297b152
je 0x406caa
jmp 0x4065b9
mov eax, dword [ebp - 0x30]
sub eax, 0xf7674a66
je 0x40690e
jmp 0x4065cc
mov eax, dword [ebp - 0x30]
sub eax, 0xf7eef7e3
je 0x406d08
jmp 0x4065df
mov eax, dword [ebp - 0x30]
sub eax, 0xf86ef157
je 0x406aae
jmp 0x4065f2
mov eax, dword [ebp - 0x30]
sub eax, 0x7797f0
je 0x406e0c
jmp 0x406605
mov eax, dword [ebp - 0x30]
sub eax, 0x3561972
je 0x406f75
jmp 0x406618
mov eax, dword [ebp - 0x30]
sub eax, 0x3b6f74e
je 0x407023
jmp 0x40662b
mov eax, dword [ebp - 0x30]
sub eax, 0x6dae99f
je 0x4067f9
jmp 0x40663e
mov eax, dword [ebp - 0x30]
sub eax, 0x17a41f9e
je 0x406760
jmp 0x406651
mov eax, dword [ebp - 0x30]
sub eax, 0x26358df2
je 0x4068ba
jmp 0x406664
mov eax, dword [ebp - 0x30]
sub eax, 0x34bb13cd
je 0x406a32
jmp 0x406677
mov eax, dword [ebp - 0x30]
sub eax, 0x37deef4b
je 0x406786
jmp 0x40668a
mov eax, dword [ebp - 0x30]
sub eax, 0x386ae7b0
je 0x406847
jmp 0x40669d
mov eax, dword [ebp - 0x30]
sub eax, 0x3bcee8a4
je 0x406d99
jmp 0x4066b0
mov eax, dword [ebp - 0x30]
sub eax, 0x412b0f7f
je 0x406d7b
jmp 0x4066c3
mov eax, dword [ebp - 0x30]
sub eax, 0x4fc8210e
je 0x406b1b
jmp 0x4066d6
mov eax, dword [ebp - 0x30]
sub eax, 0x56182e55
je 0x40700b
jmp 0x4066e9
mov eax, dword [ebp - 0x30]
sub eax, 0x5790bb5a
je 0x406e52
jmp 0x4066fc
mov eax, dword [ebp - 0x30]
sub eax, 0x5ed63b4f
je 0x406f0a
jmp 0x40670f
mov eax, dword [ebp - 0x30]
sub eax, 0x7191e436
je 0x406a3e
jmp 0x406722
mov eax, dword [ebp - 0x30]
sub eax, 0x73326d91
je 0x406ac2
jmp 0x406735
mov eax, dword [ebp - 0x30]
sub eax, 0x7c014fc4
je 0x406e98
jmp 0x406748
mov eax, dword [ebp - 0x30]
sub eax, 0x7d9f1662
je 0x407017
jmp 0x40675b
jmp 0x40705a
mov al, byte [ebp - 0x22]
mov cl, byte [ebp - 0x21]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xd5fc941a
mov ecx, 0x37deef4b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
mov edx, ecx
sub edx, 0xa002923
sub edx, 1
add edx, 0xa002923
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, 0xd5fc941a
mov ecx, 0x6dae99f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov eax, dword [0x42c3d8]
mov ecx, dword [0x42c3d4]
mov edx, eax
sub edx, 0x10acd7c3
sub edx, 1
add edx, 0x10acd7c3
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, 0x5ed63b4f
mov ecx, 0x386ae7b0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
mov edx, ecx
sub edx, 0x955363bb
sub edx, 1
add edx, 0x955363bb
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, 0x9d44d303
mov ecx, 0x26358df2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov eax, dword [0x42c3d8]
mov ecx, dword [0x42c3d4]
mov edx, eax
sub edx, 0xa8265a69
sub edx, 1
add edx, 0xa8265a69
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, 0x9d44d303
mov ecx, 0xf7674a66
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
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, 0x5ed63b4f
mov ecx, 0xbf0d6c8f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
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, 0x56182e55
mov ecx, 0x8a411c41
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov eax, dword [0x42c3d8]
mov ecx, dword [0x42c3d4]
mov edx, eax
add edx, 0x16da7f51
sub edx, 1
sub edx, 0x16da7f51
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, 0x56182e55
mov ecx, 0x34bb13cd
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov dword [ebp - 0x28], 0x7191e436
jmp 0x40705a
mov ecx, dword [ebp - 0x2c]
push eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], ecx
mov dword [ebp - 0x28], 0x85514899
jmp 0x40705a
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 2
mov eax, 0xffffffff
xor eax, 0x579f39e5
or edx, ecx
or eax, 0x579f39e5
xor edx, 0xffffffff
and edx, eax
mov eax, 0xc9fa1696
mov ecx, 0xf86ef157
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], 0x73326d91
jmp 0x40705a
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, 0xe12e2b84
and eax, 0xe12e2b84
and ecx, edx
mov edi, esi
and edi, 0xe12e2b84
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, 0xe12e2b84
and ecx, edx
or eax, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], 0x4fc8210e
jmp 0x40705a
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
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, 0x7d9f1662
mov ecx, 0xc6415d33
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
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, 0x7d9f1662
mov ecx, 0xd34ab066
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov eax, dword [0x42c3d8]
mov ecx, dword [0x42c3d4]
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, 0x3bcee8a4
mov ecx, 0x8ed3bf90
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
mov edx, ecx
add edx, 0xb1f33133
sub edx, 1
sub edx, 0xb1f33133
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, 0x3b6f74e
mov ecx, 0xe297b152
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x14]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, dword [0x42c3d8]
mov ecx, dword [0x42c3d4]
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, 0x3b6f74e
mov ecx, 0xf7eef7e3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
mov edx, ecx
sub edx, 0x83255857
sub edx, 1
add edx, 0x83255857
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, 0x3bcee8a4
mov ecx, 0x412b0f7f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov dword [ebp - 0x28], 0xc9fa1696
jmp 0x40705a
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004129b0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
mov edx, ecx
sub edx, 0x29ff9574
sub edx, 1
add edx, 0x29ff9574
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, 0xbc648e53
mov ecx, 0x7797f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov eax, dword [0x42c3d8]
mov ecx, dword [0x42c3d4]
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, 0xbc648e53
mov ecx, 0x5790bb5a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov eax, dword [0x42c3d8]
mov ecx, dword [0x42c3d4]
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, 0xd0a211dc
mov ecx, 0x7c014fc4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x14]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, dword [0x42c3d8]
mov ecx, dword [0x42c3d4]
mov edx, eax
add edx, 0x11ce220e
sub edx, 1
sub edx, 0x11ce220e
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, 0xd0a211dc
mov ecx, 0xb52712c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov dword [ebp - 0x28], 0x8ed3bf90
jmp 0x40705a
mov ecx, dword [0x42c3d8]
mov eax, dword [0x42c3d4]
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, 0xc615ba57
mov ecx, 0x3561972
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov eax, dword [0x42c3d8]
mov ecx, dword [0x42c3d4]
mov edx, eax
sub edx, 0xfad8fe42
sub edx, 1
add edx, 0xfad8fe42
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, 0xc615ba57
mov ecx, 0xdde28dd0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x28], eax
jmp 0x40705a
mov dword [ebp - 0x28], 0x386ae7b0
jmp 0x40705a
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x14]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x28], 0x7c014fc4
jmp 0x40705a
mov dword [ebp - 0x28], 0x37deef4b
jmp 0x40705a
mov dword [ebp - 0x28], 0x26358df2
jmp 0x40705a
mov dword [ebp - 0x28], 0x8a411c41
jmp 0x40705a
mov dword [ebp - 0x28], 0xc6415d33
jmp 0x40705a
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x14]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov dword [ebp - 0x28], 0xe297b152
jmp 0x40705a
mov dword [ebp - 0x28], 0x7797f0
jmp 0x40705a
mov dword [ebp - 0x28], 0x3561972
jmp 0x406499