Function at 0x4bae00
Capabilities:
Encode data using xor

Disassembly:
test byte [0x908ef8], 1
push ebp
push esi
push edi
jne 0x4bafb8
mov edx, dword [0x908ef8]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
or edx, 1
mov dword [0x908ef8], edx
call edi
xor eax, 0x95f24dab
mov dword [0x908e90], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
call edi
xor esi, eax
xor esi, 0xb685215
mov dword [0x908e94], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, eax
call edi
xor esi, eax
xor esi, 0xe76ccae7
push 0
mov dword [0x908e98], esi
call fcn.005514a0
add esp, 4
mov esi, eax
call edi
xor esi, eax
xor esi, 0xaf3ec239
mov dword [0x908e9c], esi
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov esi, eax
call edi
xor esi, eax
mov eax, dword [0x908e90]
mov ecx, eax
xor ecx, 0x24a590ad
mov dword [0x908ea4], ecx
mov ecx, dword [0x908e94]
mov edx, ecx
xor edx, 0x69e4b5ef
mov dword [0x908ea8], edx
mov edx, dword [0x908e98]
mov edi, edx
xor edi, 0xbf456141
mov dword [0x908eac], edi
mov edi, dword [0x908e9c]
xor esi, 0x715fad23
mov ebp, edi
xor ebp, 0x96bc1b7b
mov dword [0x908eb0], ebp
mov ebp, esi
xor ebp, 0xa7bdf825
mov dword [0x908eb4], ebp
mov ebp, eax
xor ebp, 0xc1de75b7
mov dword [0x908eb8], ebp
mov ebp, ecx
xor ebp, 0x8858a9c9
mov dword [0x908ebc], ebp
mov ebp, edx
xor ebp, 0x2da87693
mov dword [0x908ec0], ebp
mov ebp, edi
xor ebp, 0xb657f9dd
mov dword [0x908ec4], ebp
mov ebp, esi
xor ebp, 0xffdc8a9f
mov dword [0x908ec8], ebp
mov ebp, eax
xor ebp, 0x8121da71
mov dword [0x908ecc], ebp
mov ebp, ecx
xor ebp, 0x8b823ecb
mov dword [0x908ed0], ebp
mov ebp, edx
xor ebp, 0x885d05f5
mov dword [0x908ed4], ebp
mov ebp, edi
xor ebp, 0x4e20cd47
mov dword [0x908ed8], ebp
mov ebp, esi
mov dword [0x908ea0], esi
xor ebp, 0x5a9ad5d9
xor eax, 0x512c0c03
xor ecx, 0xea857ccd
xor edx, 0x4cc1d30f
xor edi, 0x8891a8a1
xor esi, 0xa6b7aadb
mov dword [0x908edc], ebp
mov dword [0x908ee0], eax
mov dword [0x908ee4], ecx
mov dword [0x908ee8], edx
mov dword [0x908eec], edi
mov dword [0x908ef0], esi
mov eax, dword [0x908ef4]
cmp eax, 0x19
jne 0x4bb0f8
xor eax, eax
jmp 0x4bafd0
mov ecx, dword [eax*4 + 0x908e90]
mov edi, dword [eax*4 + 0x908eac]
mov esi, dword [eax*4 + 0x908eb0]
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e3ce8]
xor edx, edi
mov ebp, dword [eax*4 + 0x908eb4]
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x908e94]
mov dword [eax*4 + 0x908e90], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e3ce8]
xor edx, esi
mov edi, dword [eax*4 + 0x908eb8]
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x908e98]
mov dword [eax*4 + 0x908e94], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e3ce8]
xor edx, ebp
mov esi, dword [eax*4 + 0x908ebc]
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x908e9c]
mov dword [eax*4 + 0x908e98], edx
mov ebp, dword [eax*4 + 0x908ec0]
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e3ce8]
xor edx, edi
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x908ea0]
mov dword [eax*4 + 0x908e9c], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e3ce8]
xor edx, esi
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x908ea4]
mov dword [eax*4 + 0x908ea0], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e3ce8]
xor edx, ebp
shr ecx, 1
xor edx, ecx
mov dword [eax*4 + 0x908ea4], edx
add eax, 6
cmp eax, 0x12
jl 0x4bafd0
cmp eax, 0x19
jge 0x4bb0f6
lea ecx, [eax*4 + 0x908e90]
mov eax, dword [ecx]
mov esi, dword [ecx - 0x48]
mov edx, eax
and edx, 1
mov edi, dword [edx*4 + 0x5e3ce8]
shr eax, 1
xor eax, edi
xor eax, esi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x908ef4
jl 0x4bb0d2
xor eax, eax
mov ecx, dword [eax*4 + 0x908e90]
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 [0x908ef4], eax
pop edi
mov eax, ecx
shr eax, 0x10
pop esi
xor eax, ecx
pop ebp
ret