Function at 0x48ae1c
Capabilities:
Print debug messages
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x56
push 0
push 0
dec ecx
jne 0x48ae25
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov byte [ebp - 0x27a], cl
mov byte [ebp - 0x279], dl
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
call fcn.00405ddc
lea eax, [ebp - 0x278]
mov edx, dword [0x48a230]
call fcn.00405dfc
xor eax, eax
push ebp
push 0x48b13c
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
lea edx, [ebp - 0x284]
mov eax, dword [ebp - 4]
call fcn.0048a254
mov edx, dword [ebp - 0x284]
lea eax, [ebp - 4]
call fcn.004059cc
mov eax, dword [ebp - 4]
call fcn.0048ad84
test al, al
je 0x48aebc
lea eax, [ebp - 0x288]
mov ecx, dword [ebp - 4]
mov edx, 0x48b150
call fcn.00405bc0
mov eax, dword [ebp - 0x288]
call fcn.00405b44
push eax
call sub.kernel32.dll_OutputDebugStringW
jmp 0x48b0fa
mov dl, 1
mov eax, dword [0x488a4c]
call fcn.00489074
mov esi, eax
mov edx, dword [ebp - 4]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x48aff2
lea ecx, [ebp - 0x28c]
mov edx, ebx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x28c]
lea eax, [ebp - 4]
mov ecx, 0x48b174
call fcn.00405bc0
lea eax, [ebp - 0x290]
mov ecx, 0x48b17c
mov edx, dword [ebp - 4]
call fcn.00405bc0
mov eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x278]
mov edx, 0x3f
call fcn.0048a5b0
test eax, eax
jne 0x48afe6
mov eax, dword [ebp - 0x268]
and eax, 0x10
cmp eax, 0x10
je 0x48af85
push 0x80
lea eax, [ebp - 0x294]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 4]
call fcn.00405bc0
mov eax, dword [ebp - 0x294]
call fcn.00405b44
push eax
call sub.kernel32.dll_SetFileAttributesW
lea eax, [ebp - 0x298]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 4]
call fcn.00405bc0
mov eax, dword [ebp - 0x298]
call fcn.0048a514
jmp 0x48afd3
cmp byte [ebp - 0x279], 0
je 0x48afd3
mov eax, dword [ebp - 0x264]
mov edx, 0x48b188
call fcn.00405c78
je 0x48afd3
mov eax, dword [ebp - 0x264]
mov edx, 0x48b190
call fcn.00405c78
je 0x48afd3
lea eax, [ebp - 0x29c]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 4]
call fcn.00405bc0
mov edx, dword [ebp - 0x29c]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x278]
call fcn.0048a5fc
test eax, eax
je 0x48af2c
inc ebx
lea eax, [ebp - 0x278]
call fcn.0048a620
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
cmp ebx, eax
jl 0x48aed9
cmp byte [ebp - 0x27a], 0
je 0x48b00e
xor ebx, ebx
jmp 0x48b013
mov ebx, 1
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
sub ebx, eax
jg 0x48b0f3
dec ebx
mov dword [ebp - 0x280], ebx
mov ebx, eax
push 0x80
lea ecx, [ebp - 0x2a0]
mov edx, ebx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2a0]
call fcn.00405b44
push eax
call sub.kernel32.dll_SetFileAttributesW
lea ecx, [ebp - 0x2a4]
mov edx, ebx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2a4]
call fcn.0048a63c
test al, al
jne 0x48b0e6
lea ecx, [ebp - 0x2b0]
mov edx, ebx
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2b0]
lea edx, [ebp - 0x2ac]
call fcn.0048a41c
push dword [ebp - 0x2ac]
push 0x48b19c
call sub.kernel32.dll_GetLastError_1
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x2b8]
call fcn.0040a1d0
mov edx, dword [ebp - 0x2b8]
lea eax, [ebp - 0x2b4]
call fcn.00405b34
push dword [ebp - 0x2b4]
lea eax, [ebp - 0x2a8]
mov edx, 3
call fcn.00405c30
mov eax, dword [ebp - 0x2a8]
call fcn.00405b44
push eax
call sub.kernel32.dll_OutputDebugStringW
dec ebx
inc dword [ebp - 0x280]
jne 0x48b02c
mov eax, esi
call fcn.00404250
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48b143
lea eax, [ebp - 0x2b8]
call fcn.00405150
lea eax, [ebp - 0x2b4]
mov edx, 0xd
call fcn.00405980
lea eax, [ebp - 0x278]
mov edx, dword [0x48a230]
call fcn.00405ecc
lea eax, [ebp - 4]
call fcn.00405968
ret