Function at 0x6bddf0
Capabilities:
Encode data using xor

Disassembly:
push ecx
push esi
mov esi, ecx
mov ecx, dword [esp + 0x10]
shr ecx, 5
lea eax, [ecx - 4]
cmp eax, 0xa
mov dword [esp + 4], esi
ja 0x6be16e
push ebx
push ebp
xor eax, eax
test ecx, ecx
push edi
jbe 0x6bde35
mov edx, dword [esp + 0x18]
sub edx, 0x1b26c08
mov edi, edi
mov edi, dword [edx + eax*4 + 0x1b26c08]
mov dword [eax*4 + 0x1b26c08], edi
add eax, 1
cmp eax, ecx
jb 0x6bde20
lea eax, [ecx + 1]
cmp eax, 0xf
mov dword [ecx*4 + 0x1b26c08], ecx
jae 0x6bde56
mov ecx, 0xf
lea edi, [eax*4 + 0x1b26c08]
sub ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
xor edi, edi
add esi, 8
xor ecx, ecx
lea ecx, [ecx]
lea eax, [edi + 8]
xor edx, edx
jmp 0x6bde70
mov ebx, dword [edx + 0x98a034]
mov ebx, dword [ebx*4 + 0x1b26c08]
mov ebp, dword [edx + 0x98a070]
xor ebx, dword [ebp*4 + 0x1b26c08]
lea ebp, [eax - 8]
rol ebx, 3
xor ebx, ebp
xor dword [edx + 0x1b26c08], ebx
mov ebx, dword [edx + 0x98a074]
mov ebx, dword [ebx*4 + 0x1b26c08]
mov ebp, dword [edx + 0x98a038]
xor ebx, dword [ebp*4 + 0x1b26c08]
lea ebp, [eax - 4]
rol ebx, 3
xor ebx, ebp
xor dword [edx + 0x1b26c0c], ebx
mov ebx, dword [ecx + eax + 0x98a034]
mov ebx, dword [ebx*4 + 0x1b26c08]
mov ebp, dword [ecx + eax + 0x98a070]
xor ebx, dword [ebp*4 + 0x1b26c08]
mov ebp, dword [ecx + eax + 0x98a074]
rol ebx, 3
xor ebx, dword [ecx + eax + 0x1b26c08]
add edx, 0x14
xor ebx, eax
mov dword [ecx + eax + 0x1b26c08], ebx
mov ebx, dword [ecx + eax + 0x98a038]
mov ebx, dword [ebx*4 + 0x1b26c08]
xor ebx, dword [ebp*4 + 0x1b26c08]
lea ebp, [eax + 4]
rol ebx, 3
xor ebx, ebp
xor dword [ecx + eax + 0x1b26c0c], ebx
mov ebx, dword [ecx + eax + 0x98a03c]
mov ebx, dword [ebx*4 + 0x1b26c08]
mov ebp, dword [ecx + eax + 0x98a078]
xor ebx, dword [ebp*4 + 0x1b26c08]
lea ebp, [eax + 8]
rol ebx, 3
xor ebx, ebp
xor dword [ecx + eax + 0x1b26c10], ebx
add eax, 0x14
cmp edx, 0x3c
jb 0x6bde70
mov edx, 4
lea esp, [esp]
xor eax, eax
mov ebx, dword [eax + 0x989ff8]
mov ebx, dword [ebx*4 + 0x1b26c08]
and ebx, 0x1ff
mov ebx, dword [ebx*4 + 0x9897f8]
add ebx, dword [eax + 0x1b26c08]
add eax, 0x14
rol ebx, 9
mov dword [eax + 0x1b26bf4], ebx
mov ebx, dword [eax + 0x989fe8]
mov ebx, dword [ebx*4 + 0x1b26c08]
and ebx, 0x1ff
mov ebx, dword [ebx*4 + 0x9897f8]
add ebx, dword [eax + 0x1b26bf8]
rol ebx, 9
mov dword [eax + 0x1b26bf8], ebx
mov ebx, dword [eax + 0x989fec]
mov ebx, dword [ebx*4 + 0x1b26c08]
and ebx, 0x1ff
mov ebx, dword [ebx*4 + 0x9897f8]
add ebx, dword [eax + 0x1b26bfc]
rol ebx, 9
mov dword [eax + 0x1b26bfc], ebx
mov ebx, dword [eax + 0x989ff0]
mov ebx, dword [ebx*4 + 0x1b26c08]
and ebx, 0x1ff
mov ebx, dword [ebx*4 + 0x9897f8]
add ebx, dword [eax + 0x1b26c00]
rol ebx, 9
mov dword [eax + 0x1b26c00], ebx
mov ebx, dword [eax + 0x989ff4]
mov ebx, dword [ebx*4 + 0x1b26c08]
and ebx, 0x1ff
mov ebx, dword [ebx*4 + 0x9897f8]
add ebx, dword [eax + 0x1b26c04]
rol ebx, 9
cmp eax, 0x3c
mov dword [eax + 0x1b26c04], ebx
jb 0x6bdf62
sub edx, 1
jne 0x6bdf60
mov edx, dword [0x98a0ac]
mov eax, dword [edx*4 + 0x1b26c08]
mov dword [esi - 4], eax
mov edx, dword [0x98a0b0]
mov eax, dword [edx*4 + 0x1b26c08]
mov dword [esi], eax
mov edx, dword [0x98a0b4]
mov eax, dword [edx*4 + 0x1b26c08]
mov dword [esi + 4], eax
mov edx, dword [0x98a0b8]
mov eax, dword [edx*4 + 0x1b26c08]
mov dword [esi + 8], eax
mov edx, dword [0x98a0bc]
mov eax, dword [edx*4 + 0x1b26c08]
mov dword [esi + 0xc], eax
mov edx, dword [0x98a0c0]
mov eax, dword [edx*4 + 0x1b26c08]
mov dword [esi + 0x10], eax
mov edx, dword [0x98a0c4]
mov eax, dword [edx*4 + 0x1b26c08]
mov dword [esi + 0x14], eax
mov edx, dword [0x98a0c8]
mov eax, dword [edx*4 + 0x1b26c08]
mov dword [esi + 0x18], eax
mov edx, dword [0x98a0cc]
mov eax, dword [edx*4 + 0x1b26c08]
mov dword [esi + 0x1c], eax
mov edx, dword [0x98a0d0]
mov eax, dword [edx*4 + 0x1b26c08]
mov dword [esi + 0x20], eax
add edi, 1
sub ecx, 1
add esi, 0x28
cmp edi, 4
jb 0x6bde60
mov esi, dword [esp + 0x10]
add esi, 0x18
mov edi, 0x10
mov ecx, dword [esi]
mov edx, ecx
or edx, 3
mov eax, edx
shr eax, 1
mov ebx, edx
not ebx
xor eax, ebx
and eax, 0x7fffffff
mov ebx, eax
shr ebx, 2
mov ebp, eax
shr ebp, 1
and ebx, ebp
and eax, ebx
mov ebx, eax
mov ebp, eax
shr ebx, 6
shr ebp, 3
and ebx, ebp
and eax, ebx
je 0x6be161
add eax, eax
lea ebx, [eax + eax]
or eax, ebx
and ecx, 3
lea ebx, [eax*4]
or eax, ebx
mov ebx, dword [ecx*4 + 0x98a0e8]
mov cl, byte [esi - 4]
rol ebx, cl
mov ecx, eax
shl ecx, 4
or ecx, eax
and ebx, ecx
and ebx, 0xfffffffc
xor edx, ebx
mov dword [esi], edx
add esi, 8
sub edi, 1
jne 0x6be101
pop edi
pop ebp
pop ebx
pop esi
pop ecx
ret 8