Function at 0x4bd1e0
Capabilities:
Encode data using xor

Disassembly:
test byte [0x90c1c8], 1
push ebp
push esi
push edi
jne 0x4bd398
mov edx, dword [0x90c1c8]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
or edx, 1
mov dword [0x90c1c8], edx
call edi
xor eax, 0x95f24dab
mov dword [0x90c160], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
call edi
xor esi, eax
xor esi, 0xb685215
mov dword [0x90c164], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov esi, eax
call edi
xor esi, eax
xor esi, 0xe76ccae7
push 0
mov dword [0x90c168], esi
call fcn.00553fe2
add esp, 4
mov esi, eax
call edi
xor esi, eax
xor esi, 0xaf3ec239
mov dword [0x90c16c], esi
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov esi, eax
call edi
xor esi, eax
mov eax, dword [0x90c160]
mov ecx, eax
xor ecx, 0x24a590ad
mov dword [0x90c174], ecx
mov ecx, dword [0x90c164]
mov edx, ecx
xor edx, 0x69e4b5ef
mov dword [0x90c178], edx
mov edx, dword [0x90c168]
mov edi, edx
xor edi, 0xbf456141
mov dword [0x90c17c], edi
mov edi, dword [0x90c16c]
xor esi, 0x715fad23
mov ebp, edi
xor ebp, 0x96bc1b7b
mov dword [0x90c180], ebp
mov ebp, esi
xor ebp, 0xa7bdf825
mov dword [0x90c184], ebp
mov ebp, eax
xor ebp, 0xc1de75b7
mov dword [0x90c188], ebp
mov ebp, ecx
xor ebp, 0x8858a9c9
mov dword [0x90c18c], ebp
mov ebp, edx
xor ebp, 0x2da87693
mov dword [0x90c190], ebp
mov ebp, edi
xor ebp, 0xb657f9dd
mov dword [0x90c194], ebp
mov ebp, esi
xor ebp, 0xffdc8a9f
mov dword [0x90c198], ebp
mov ebp, eax
xor ebp, 0x8121da71
mov dword [0x90c19c], ebp
mov ebp, ecx
xor ebp, 0x8b823ecb
mov dword [0x90c1a0], ebp
mov ebp, edx
xor ebp, 0x885d05f5
mov dword [0x90c1a4], ebp
mov ebp, edi
xor ebp, 0x4e20cd47
mov dword [0x90c1a8], ebp
mov ebp, esi
mov dword [0x90c170], esi
xor ebp, 0x5a9ad5d9
xor eax, 0x512c0c03
xor ecx, 0xea857ccd
xor edx, 0x4cc1d30f
xor edi, 0x8891a8a1
xor esi, 0xa6b7aadb
mov dword [0x90c1ac], ebp
mov dword [0x90c1b0], eax
mov dword [0x90c1b4], ecx
mov dword [0x90c1b8], edx
mov dword [0x90c1bc], edi
mov dword [0x90c1c0], esi
mov eax, dword [0x90c1c4]
cmp eax, 0x19
jne 0x4bd4d8
xor eax, eax
jmp 0x4bd3b0
mov ecx, dword [eax*4 + 0x90c160]
mov edi, dword [eax*4 + 0x90c17c]
mov esi, dword [eax*4 + 0x90c180]
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e6d00]
xor edx, edi
mov ebp, dword [eax*4 + 0x90c184]
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x90c164]
mov dword [eax*4 + 0x90c160], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e6d00]
xor edx, esi
mov edi, dword [eax*4 + 0x90c188]
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x90c168]
mov dword [eax*4 + 0x90c164], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e6d00]
xor edx, ebp
mov esi, dword [eax*4 + 0x90c18c]
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x90c16c]
mov dword [eax*4 + 0x90c168], edx
mov ebp, dword [eax*4 + 0x90c190]
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e6d00]
xor edx, edi
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x90c170]
mov dword [eax*4 + 0x90c16c], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e6d00]
xor edx, esi
shr ecx, 1
xor edx, ecx
mov ecx, dword [eax*4 + 0x90c174]
mov dword [eax*4 + 0x90c170], edx
mov edx, ecx
and edx, 1
mov edx, dword [edx*4 + 0x5e6d00]
xor edx, ebp
shr ecx, 1
xor edx, ecx
mov dword [eax*4 + 0x90c174], edx
add eax, 6
cmp eax, 0x12
jl 0x4bd3b0
cmp eax, 0x19
jge 0x4bd4d6
lea ecx, [eax*4 + 0x90c160]
mov eax, dword [ecx]
mov esi, dword [ecx - 0x48]
mov edx, eax
and edx, 1
mov edi, dword [edx*4 + 0x5e6d00]
shr eax, 1
xor eax, edi
xor eax, esi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x90c1c4
jl 0x4bd4b2
xor eax, eax
mov ecx, dword [eax*4 + 0x90c160]
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 [0x90c1c4], eax
pop edi
mov eax, ecx
shr eax, 0x10
pop esi
xor eax, ecx
pop ebp
ret