Function at 0x4a5b84
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov ebx, eax
mov esi, dword [0x4a8b88]
xor eax, eax
push ebp
push 0x4a5e1c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0x340]
mov edx, dword [eax]
call dword [edx + 0xec]
test eax, eax
je 0x4a5e01
mov eax, dword [ebx + 0x340]
call fcn.004878ac
lea edx, [ebp - 4]
call fcn.00484148
mov eax, dword [ebp - 4]
call fcn.00404894
push eax
call sub.kernel32.dll_GetFileAttributesA
mov edx, eax
and edx, 4
cmp edx, 4
je 0x4a5bf5
and eax, 1
cmp eax, 1
jne 0x4a5c93
mov eax, dword [ebp - 4]
call fcn.00404894
mov esi, eax
mov eax, esi
call fcn.004889b8
test al, al
je 0x4a5c3c
lea eax, [ebp - 8]
push eax
push esi
call sub.kernel32.dll_lstrlenA_1
mov ecx, eax
sub ecx, 4
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004048f4
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x30c]
mov eax, dword [eax + 0x218]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a5c50
mov eax, dword [ebx + 0x30c]
mov eax, dword [eax + 0x218]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0xc]
mov eax, dword [0x4a8e5c]
call fcn.00406620
mov edx, dword [ebp - 0xc]
mov eax, dword [ebx + 0x30c]
mov eax, dword [eax + 0x218]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov esi, dword [ebx + 0x30c]
mov eax, dword [esi + 0x218]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
sub edx, 7
mov eax, esi
call fcn.0043513c
jmp 0x4a5e01
mov eax, dword [esi]
mov byte [eax + 0x30c], 1
mov eax, dword [esi]
mov eax, dword [eax + 0x2f4]
mov dl, 1
call fcn.004411a0
mov eax, dword [esi]
mov eax, dword [eax + 0x2fc]
mov dl, 1
call fcn.004411a0
mov eax, dword [esi]
mov eax, dword [eax + 0x2f8]
mov edx, dword [eax]
call dword [edx + 0xdc]
mov eax, dword [esi]
mov eax, dword [eax + 0x2fc]
mov edx, dword [eax]
call dword [edx + 0xdc]
mov eax, dword [esi]
mov edx, dword [eax]
call dword [edx + 0xe8]
dec eax
jne 0x4a5e01
mov byte [ebx + 0x36f], 2
push 0x4a9d78
call sub.kernel32.dll_lstrlenA_1
mov word [ebx + 0x374], ax
lea eax, [ebx + 0x36c]
push eax
push 0x4a9d78
mov eax, dword [ebp - 4]
push eax
call sub.fpEncrypt.dll_EncryptionFile
mov esi, eax
test esi, esi
jne 0x4a5d63
mov eax, dword [ebx + 0x30c]
mov eax, dword [eax + 0x218]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea edx, [ebp - 0x10]
mov eax, dword [0x4a8ad0]
call fcn.00406620
mov edx, dword [ebp - 0x10]
mov eax, dword [ebx + 0x30c]
mov eax, dword [eax + 0x218]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebx + 0x340]
call fcn.004882f4
jmp 0x4a5de4
mov eax, dword [ebp - 4]
call fcn.00404894
mov edi, eax
mov eax, edi
call fcn.004889b8
test al, al
je 0x4a5daa
lea eax, [ebp - 0x14]
push eax
push edi
call sub.kernel32.dll_lstrlenA_1
mov ecx, eax
sub ecx, 4
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004048f4
mov edx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x30c]
mov eax, dword [eax + 0x218]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a5dbe
mov eax, dword [ebx + 0x30c]
mov eax, dword [eax + 0x218]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x18]
push eax
mov ecx, 2
xor edx, edx
mov eax, esi
call fcn.00488794
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x30c]
mov eax, dword [eax + 0x218]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov esi, dword [ebx + 0x30c]
mov eax, dword [esi + 0x218]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
sub edx, 7
mov eax, esi
call fcn.0043513c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a5e23
lea eax, [ebp - 0x18]
mov edx, 6
call fcn.00404408
ret