Function at 0x4b5b20
Capabilities:
Encode data using xor

Disassembly:
test byte [0x8ffaf8], 1
push ebp
push esi
push edi
jne 0x4b5cd8
mov edx, dword [0x8ffaf8]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
or edx, 1
mov dword [0x8ffaf8], edx
call edi
xor eax, 0x95f24dab
mov dword [0x8ffa90], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
call edi
xor esi, eax
xor esi, 0xb685215
mov dword [0x8ffa94], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, eax
call edi
xor esi, eax
xor esi, 0xe76ccae7
push 0
mov dword [0x8ffa98], esi
call fcn.00549d62
add esp, 4
mov esi, eax
call edi
xor esi, eax
xor esi, 0xaf3ec239
mov dword [0x8ffa9c], esi
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov esi, eax
call edi
xor esi, eax
mov eax, dword [0x8ffa90]
mov ecx, eax
xor ecx, 0x24a590ad
mov dword [0x8ffaa4], ecx
mov ecx, dword [0x8ffa94]
mov edx, ecx
xor edx, 0x69e4b5ef
mov dword [0x8ffaa8], edx
mov edx, dword [0x8ffa98]
mov edi, edx
xor edi, 0xbf456141
mov dword [0x8ffaac], edi
mov edi, dword [0x8ffa9c]
xor esi, 0x715fad23
mov ebp, edi
xor ebp, 0x96bc1b7b
mov dword [0x8ffab0], ebp
mov ebp, esi
xor ebp, 0xa7bdf825
mov dword [0x8ffab4], ebp
mov ebp, eax
xor ebp, 0xc1de75b7
mov dword [0x8ffab8], ebp
mov ebp, ecx
xor ebp, 0x8858a9c9
mov dword [0x8ffabc], ebp
mov ebp, edx
xor ebp, 0x2da87693
mov dword [0x8ffac0], ebp
mov ebp, edi
xor ebp, 0xb657f9dd
mov dword [0x8ffac4], ebp
mov ebp, esi
xor ebp, 0xffdc8a9f
mov dword [0x8ffac8], ebp
mov ebp, eax
xor ebp, 0x8121da71
mov dword [0x8ffacc], ebp
mov ebp, ecx
xor ebp, 0x8b823ecb
mov dword [0x8ffad0], ebp
mov ebp, edx
xor ebp, 0x885d05f5
mov dword [0x8ffad4], ebp
mov ebp, edi
xor ebp, 0x4e20cd47
mov dword [0x8ffad8], ebp
mov ebp, esi
mov dword [0x8ffaa0], esi
xor ebp, 0x5a9ad5d9
xor eax, 0x512c0c03
xor ecx, 0xea857ccd
xor edx, 0x4cc1d30f
xor edi, 0x8891a8a1
xor esi, 0xa6b7aadb
mov dword [0x8ffadc], ebp
mov dword [0x8ffae0], eax
mov dword [0x8ffae4], ecx
mov dword [0x8ffae8], edx
mov dword [0x8ffaec], edi
mov dword [0x8ffaf0], esi
mov eax, dword [0x8ffaf4]
cmp eax, 0x19
jne 0x4b5e18
xor eax, eax
jmp 0x4b5cf0
mov ecx, dword [eax*4 + 0x8ffa90]
mov edi, dword [eax*4 + 0x8ffaac]
mov esi, dword [eax*4 + 0x8ffab0]
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5daa68]
xor edx, edi
mov ebp, dword [eax*4 + 0x8ffab4]
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x8ffa94]
mov dword [eax*4 + 0x8ffa90], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5daa68]
xor edx, esi
mov edi, dword [eax*4 + 0x8ffab8]
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x8ffa98]
mov dword [eax*4 + 0x8ffa94], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5daa68]
xor edx, ebp
mov esi, dword [eax*4 + 0x8ffabc]
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x8ffa9c]
mov dword [eax*4 + 0x8ffa98], edx
mov ebp, dword [eax*4 + 0x8ffac0]
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5daa68]
xor edx, edi
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x8ffaa0]
mov dword [eax*4 + 0x8ffa9c], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5daa68]
xor edx, esi
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x8ffaa4]
mov dword [eax*4 + 0x8ffaa0], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5daa68]
xor edx, ebp
shr ecx, 1
xor edx, ecx
mov dword [eax*4 + 0x8ffaa4], edx
add eax, 6
cmp eax, 0x12
jl 0x4b5cf0
cmp eax, 0x19
jge 0x4b5e16
lea ecx, [eax*4 + 0x8ffa90]
mov eax, dword [ecx]
mov esi, dword [ecx - 0x48]
mov edx, eax
and edx, 1
mov edi, dword [edx*4 + 0x5daa68]
shr eax, 1
xor eax, edi
xor eax, esi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8ffaf4
jl 0x4b5df2
xor eax, eax
mov ecx, dword [eax*4 + 0x8ffa90]
mov edx, ecx
and edx, 0x56b64a
shl edx, 7
xor ecx, edx
mov edx, ecx
and edx, 0xffffb716
shl edx, 0xf
xor ecx, edx
inc eax
mov dword [0x8ffaf4], eax
pop edi
mov eax, ecx
shr eax, 0x10
pop esi
xor eax, ecx
pop ebp
ret