Function at 0x4556f4
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov edx, eax
cmp edx, 0x100
jge 0x455747
cmp edx, 0x1f
jg 0x455730
je 0x455b50
sub edx, 7
je 0x45582a
dec edx
je 0x455868
jmp 0x455be8
sub edx, 0x21
je 0x455af9
sub edx, 0x63
je 0x45587a
jmp 0x455be8
cmp edx, 0xb047
jg 0x455784
je 0x4557ef
add edx, 0xffffff00
sub edx, 0xa
jb 0x455b3b
add edx, 0xffffff0a
sub edx, 0xb
jb 0x455927
sub edx, 0x98
je 0x4558df
jmp 0x455be8
sub edx, 0xb04a
je 0x455b92
sub edx, 4
jne 0x455be8
mov eax, dword [ebp - 4]
test byte [eax + 0x1c], 0x10
je 0x455be8
mov eax, dword [0x494d24]
cmp dword [eax], 0
je 0x455be8
push 0x455c10
push 0x455c10
mov eax, dword [ebp - 4]
call fcn.004585f8
push eax
mov eax, dword [0x494d24]
mov eax, dword [eax]
call eax
push 0x77
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.004585f8
push eax
call sub.KERNEL32.DLL_SetFileAttributesA
jmp 0x455be8
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0043bd90
mov ebx, eax
test ebx, ebx
je 0x455be8
cmp ebx, dword [ebp - 4]
je 0x455be8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
push eax
mov ecx, dword [ebp - 8]
mov ecx, dword [ecx + 4]
mov edx, 0xb047
mov eax, ebx
call fcn.00451b4c
jmp 0x455be8
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0043bd90
mov ebx, eax
test ebx, ebx
je 0x455be8
test byte [ebx + 0x1c], 0x10
je 0x45584e
cmp dword [ebx + 0x30], 0
jne 0x455be8
mov edx, dword [ebp - 4]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0xf8]
test al, al
je 0x455c09
jmp 0x455be8
mov eax, dword [ebp - 4]
test byte [eax + 0x54], 0x20
jne 0x455c09
jmp 0x455be8
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00451c28
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 0xffffffff
jne 0x455c09
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x14], eax
movsx eax, word [ebp - 0x14]
mov dword [ebp - 0x1c], eax
movsx eax, word [ebp - 0x12]
mov dword [ebp - 0x18], eax
push 0
push 0
lea ecx, [ebp - 0x34]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.004503d4
lea edx, [ebp - 0x34]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.00455430
test eax, eax
je 0x455c09
mov eax, dword [ebp - 8]
mov dword [eax + 0xc], 1
jmp 0x455c09
mov eax, dword [ebp - 4]
mov byte [eax + 0x238], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x23c]
test eax, eax
je 0x455906
push 0
xor ecx, ecx
mov edx, 0xb014
call fcn.00451b4c
jmp 0x455917
push 0
xor ecx, ecx
mov edx, 0xb014
mov eax, dword [ebp - 4]
call fcn.00451b4c
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x23c], edx
jmp 0x455be8
mov edx, dword [ebp - 8]
cmp eax, 0x200
jne 0x455aa2
lea ecx, [ebp - 0x34]
mov edx, dword [ebp - 8]
movsx edx, word [edx + 0xa]
mov eax, dword [ebp - 8]
movsx eax, word [eax + 8]
call fcn.00418420
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00450324
call fcn.0044d640
mov dword [0x492710], eax
cmp dword [0x492710], 0
jne 0x45597a
lea eax, [ebp - 0x10]
mov dl, 1
call fcn.0044ee0c
mov ebx, eax
jmp 0x455980
mov ebx, dword [0x492710]
mov eax, dword [ebp - 4]
cmp ebx, dword [eax + 0x23c]
je 0x455a63
mov eax, dword [ebp - 4]
cmp dword [eax + 0x23c], 0
je 0x4559a4
cmp dword [0x492710], 0
je 0x4559da
cmp dword [0x492710], 0
je 0x4559be
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x23c]
cmp eax, dword [0x492710]
je 0x4559da
cmp dword [0x492710], 0
je 0x4559f1
mov eax, dword [0x492710]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x23c]
jne 0x4559f1
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x23c]
xor ecx, ecx
mov edx, 0xb014
call fcn.00451b4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x23c]
test eax, eax
je 0x455a06
mov edx, dword [ebp - 4]
call fcn.004202d8
mov edx, dword [ebp - 4]
mov eax, ebx
mov dword [edx + 0x23c], eax
test eax, eax
je 0x455a1d
mov edx, dword [ebp - 4]
call fcn.00420098
mov eax, dword [ebp - 4]
cmp dword [eax + 0x23c], 0
je 0x455a32
cmp dword [0x492710], 0
je 0x455a4c
cmp dword [0x492710], 0
je 0x455a63
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x23c]
cmp eax, dword [0x492710]
jne 0x455a63
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x23c]
xor ecx, ecx
mov edx, 0xb013
call fcn.00451b4c
mov eax, dword [ebp - 4]
cmp byte [eax + 0x238], 0
jne 0x455aa2
mov eax, dword [ebp - 4]
mov byte [eax + 0x238], 1
mov dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x28], 2
mov eax, dword [ebp - 4]
call fcn.004585f8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0xffffffff
lea eax, [ebp - 0x2c]
push eax
call sub.comctl32.dll__TrackMouseEvent
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00455640
test al, al
je 0x455be8
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 0
jne 0x455c09
mov eax, dword [ebp - 4]
call fcn.00458904
test al, al
je 0x455c09
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 4]
call fcn.004585f8
push eax
call fcn.00408000
jmp 0x455c09
mov edx, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 4]
call fcn.004554f4
test al, al
je 0x455be8
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 0
jne 0x455c09
mov eax, dword [ebp - 4]
call fcn.00458904
test al, al
je 0x455c09
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00451c28
jmp 0x455c09
mov eax, dword [ebp - 4]
call fcn.004510c0
test al, al
jne 0x455c09
jmp 0x455be8
mov eax, dword [ebp - 4]
call fcn.004585f8
mov ebx, eax
call fcn.004080f8
cmp ebx, eax
jne 0x455be8
cmp dword [0x492710], 0
je 0x455be8
mov eax, dword [0x492710]
mov eax, dword [eax + 0x30]
cmp eax, dword [ebp - 4]
jne 0x455be8
push 0
xor ecx, ecx
mov edx, 0x1f
mov eax, dword [0x492710]
call fcn.00451b4c
jmp 0x455be8
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
test al, al
je 0x455ba6
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00459998
xor eax, eax
push ebp
push 0x455be1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xb0]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x455c09
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
test al, al
je 0x455be0
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00459998
ret
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00451c28
mov eax, dword [ebp - 8]
cmp dword [eax], 0x128
jne 0x455c09
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x80]
pop ebx
mov esp, ebp
pop ebp
ret