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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4ffefe
push eax
mov dword fs:[0], esp
sub esp, 0x3a4
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, dword [esp + 0x3c4]
mov ecx, dword [esi + 0x50]
push edi
mov eax, dword [ecx]
call dword [eax + 0xa0]
test eax, eax
je 0x44eab0
mov ecx, dword [esp + 0x3c8]
push ecx
lea ecx, [esp + 0x14]
call fcn.004dbf35
mov edx, dword [esp + 0x10]
xor ebx, ebx
mov dword [esp + 0x3bc], ebx
cmp dword [edx - 8], ebx
jne 0x44e7e6
mov ecx, dword [esi + 0x50]
lea eax, [edi + edi*2]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*4 + 0x38]
lea ecx, [esp + 0x10]
push edx
call fcn.004dc008
mov eax, dword [esp + 0x10]
cmp dword [eax - 8], ebx
jne 0x44e933
mov dword [esp + 0x1c], 0x514b90
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x3bc], 1
push ecx
push 0x24
push ebx
mov ecx, esi
call fcn.004e1688
push ebx
call fcn.0040b6b0
mov ecx, eax
call fcn.005097e0
push eax
push 0x80044
push ebx
push ebx
push ebx
lea ecx, [esp + 0x50]
call fcn.004415a0
mov bl, 2
mov dword [esp + 0xdc], 0x3ed
mov byte [esp + 0x3bc], bl
call fcn.004f0976
mov eax, dword [eax + 8]
lea ecx, [esp + 0x38]
mov dword [esp + 0x9c], eax
call fcn.00441ef0
push 0
push 0x24
push 0
mov ecx, esi
mov ebp, eax
call fcn.004e1688
cmp ebp, 1
je 0x44e8c2
lea ecx, [esp + 0x378]
mov byte [esp + 0x3bc], 3
call fcn.00495430
lea ecx, [esp + 0xe4]
mov byte [esp + 0x3bc], 4
call fcn.004dbec1
lea ecx, [esp + 0x38]
mov byte [esp + 0x3bc], 1
call fcn.004d7773
mov dword [esp + 0x3bc], 0xffffffff
jmp 0x44eaa7
lea edx, [esp + 0x14]
lea ecx, [esp + 0x38]
push edx
call fcn.004d3fdc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c0], 5
call fcn.004dc008
lea ecx, [esp + 0x14]
mov byte [esp + 0x3bc], bl
call fcn.004dbec1
lea ecx, [esp + 0x378]
mov byte [esp + 0x3bc], 6
call fcn.00495430
lea ecx, [esp + 0xe4]
mov byte [esp + 0x3bc], 7
call fcn.004dbec1
lea ecx, [esp + 0x38]
mov byte [esp + 0x3bc], 1
call fcn.004d7773
mov byte [esp + 0x3bc], 0
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
or ebp, 0xffffffff
cmp ebx, ebp
je 0x44ea09
call fcn.0040b6b0
test dword [eax + 0x1a4], 0x20000
je 0x44e972
mov ecx, dword [esp + 0x10]
lea eax, [edi + 1]
push eax
push ecx
mov ecx, esi
call fcn.0044ead0
test eax, eax
je 0x44e972
xor ebx, ebx
test bl, 1
je 0x44ea09
mov edx, dword [0x574900]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push eax
push 0x3ed
push ecx
mov byte [esp + 0x3c8], 8
call fcn.004d3b0a
mov edx, dword [esp + 0x24]
add esp, 0xc
push 0
push 4
push edx
call fcn.004e36e0
cmp eax, 6
je 0x44e9c8
mov byte [esp + 0x3bc], 0
lea ecx, [esp + 0x18]
jmp 0x44ea9b
mov eax, dword [esp + 0x10]
and ebx, 0xfffffffe
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x44e9f8
push ebp
push eax
push 0x3ee
call fcn.004e3718
mov byte [esp + 0x3bc], 0
lea ecx, [esp + 0x18]
jmp 0x44ea9b
lea ecx, [esp + 0x18]
mov byte [esp + 0x3bc], 0
call fcn.004dbec1
mov ecx, dword [esi + 0x50]
mov eax, dword [esp + 0x10]
push eax
push edi
mov edx, dword [ecx]
call dword [edx + 0x48]
test eax, eax
je 0x44ea4d
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, dword [esi + 0x50]
push edi
call fcn.0041bf70
push 0
push 0x1c
push 0
mov ecx, esi
call fcn.004e1688
lea ecx, [esp + 0x10]
mov dword [esp + 0x3bc], ebp
call fcn.004dbec1
mov eax, 1
jmp 0x44eab2
mov eax, dword [esp + 0x3cc]
test eax, eax
je 0x44eaa0
mov edx, dword [0x574900]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push 0x3f0
push ecx
mov byte [esp + 0x3c8], 9
call fcn.004d3b0a
mov edx, dword [esp + 0x20]
add esp, 0xc
push 0
push 0x10
push edx
call fcn.004e36e0
mov byte [esp + 0x3bc], 0
lea ecx, [esp + 0x14]
call fcn.004dbec1
mov dword [esp + 0x3bc], ebp
lea ecx, [esp + 0x10]
call fcn.004dbec1
xor eax, eax
mov ecx, dword [esp + 0x3b4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x3b0
ret 0xc