Function at 0x41ee50
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push esi
mov esi, ecx
push edi
mov dword [ebp - 4], 0
mov eax, dword [esi]
call dword [eax + 0x34]
mov eax, dword [esi + 0x318]
test eax, eax
je 0x41eea3
mov eax, dword [esi + 0x2e4]
test eax, eax
je 0x41ee9b
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [esi + 0x10]
push eax
push ecx
call edi
test eax, eax
jne 0x41ee9b
mov edx, dword [esi + 0x2e4]
add esi, 0x178
push edx
push esi
call edi
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x30c]
push ebx
test eax, eax
je 0x41f04f
cmp eax, 3
je 0x41f04f
lea edi, [esi + 0x10]
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, dword [esi + 0x474]
mov ebx, dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
push eax
push 3
push 0
push 1
push 0x40000000
push edi
call ebx
cmp eax, 0xffffffff
mov dword [esi + 0x2e0], eax
jne 0x41ef1f
mov cl, byte [esi + 0x178]
lea eax, [esi + 0x178]
test cl, cl
je 0x41ef1f
mov ecx, dword [esi + 0x474]
push 0
push ecx
push 3
push 0
push 1
push 0x40000000
push eax
call ebx
mov dword [esi + 0x2e0], eax
mov eax, dword [esi + 0x2e0]
cmp eax, 0xffffffff
je 0x41f091
mov ecx, dword [esi + 0x30c]
cmp ecx, 2
jne 0x41eff0
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov dword [ebp - 8], eax
mov eax, dword [0x432598]
test eax, eax
jne 0x41efa7
push str.NTDLL.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov ebx, eax
test ebx, ebx
je 0x41efa2
push str.NtQueryInformationFile
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x432590], eax
je 0x41efa2
push str.NtSetInformationFile
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x432594], eax
je 0x41ef98
mov dword [0x432598], 1
jmp 0x41efac
mov dword [0x432590], 0
or ebx, 0xffffffff
jmp 0x41efce
mov eax, dword [0x432594]
xor edx, edx
push 4
mov dword [ebp - 0x10], edx
lea ecx, [esi + 0x320]
mov dword [ebp - 0xc], edx
push 0x28
push ecx
mov ecx, dword [esi + 0x2e0]
lea edx, [ebp - 0x10]
push edx
push ecx
call eax
mov ebx, eax
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x34]
test ebx, ebx
jne 0x41f091
mov dword [ebp - 4], 1
jmp 0x41f045
cmp ecx, 1
jne 0x41f04f
lea ecx, [esi + 0x2f0]
lea edx, [esi + 0x2f8]
push ecx
lea ecx, [esi + 0x2e8]
push edx
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov edx, dword [esi]
mov ebx, eax
mov ecx, esi
mov dword [ebp - 4], ebx
call dword [edx + 0x34]
mov eax, dword [esi + 0x2e4]
push eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
call edi
test eax, eax
jne 0x41f041
mov ecx, dword [esi + 0x2e4]
lea edx, [esi + 0x178]
push ecx
push edx
call edi
test ebx, ebx
je 0x41f04f
mov dword [esi + 0x30c], 0
mov eax, dword [esi + 0x310]
test eax, eax
je 0x41f0fc
mov eax, dword [0x4325c8]
test eax, eax
je 0x41f0b7
mov eax, dword [esi + 0x46c]
test eax, eax
je 0x41f0b7
lea ecx, [esi + 0x350]
add esi, 0x34c
push ecx
push esi
push eax
call fcn.00421190
add esp, 0xc
mov dword [ebp - 4], eax
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x2e4]
push eax
push edi
mov edi, dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
call edi
test eax, eax
jne 0x41f04f
mov ecx, dword [esi + 0x2e4]
lea edx, [esi + 0x178]
push ecx
push edx
call edi
jmp 0x41f04f
mov ebx, dword [esi + 0x300]
test ebx, ebx
je 0x41f0fc
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [esi + 0x304]
or ecx, 0xffffffff
mov dword [ebp - 0x14], edx
lea edx, [esi + 0x10]
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
lea eax, [ebp - 0x14]
mov dword [ebp - 0xc], edx
push eax
push 2
not ecx
push 0x4a
push ebx
mov dword [ebp - 0x10], ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 4], 1
mov eax, dword [ebp - 4]
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret