Function at 0x8d1520
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
mov eax, dword [0x6d7a68]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, ecx
movzx ecx, byte [edi + 0xc]
imul ecx, ecx, 0x1010101
xor eax, eax
jmp 0x8d1550
mov edx, dword [eax + 0x6cfe80]
xor edx, ecx
mov dword [ebp + eax - 0x204], edx
add eax, 4
cmp eax, 0xfc
jle 0x8d1550
xor eax, eax
jmp 0x8d1570
movzx ecx, byte [ebp + eax - 0x204]
movzx edx, byte [ecx + 0x6cfe80]
movzx ecx, byte [ebp + eax - 0x203]
mov byte [ebp + eax - 0x104], dl
movzx edx, byte [ecx + 0x6cfe80]
movzx ecx, byte [ebp + eax - 0x202]
mov byte [ebp + eax - 0x103], dl
movzx edx, byte [ecx + 0x6cfe80]
movzx ecx, byte [ebp + eax - 0x201]
mov byte [ebp + eax - 0x102], dl
movzx edx, byte [ecx + 0x6cfe80]
mov byte [ebp + eax - 0x101], dl
add eax, 4
cmp eax, 0xff
jle 0x8d1570
movzx ecx, byte [edi + 8]
imul ecx, ecx, 0x1010101
xor eax, eax
mov edi, edi
xor dword [ebp + eax*4 - 0x104], ecx
add eax, 1
cmp eax, 0x3f
jle 0x8d15e0
mov al, byte [edi]
mov cl, byte [edi + 4]
movzx edx, al
xor esi, esi
movzx ecx, cl
lea eax, [edi + 0x14]
push ebx
movzx ebx, byte [ebp + esi - 0x104]
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6cff80]
mov dword [eax - 4], ebx
movzx ebx, byte [ebp + esi - 0x103]
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6cff80]
mov dword [eax], ebx
movzx ebx, byte [ebp + esi - 0x102]
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6cff80]
mov dword [eax + 4], ebx
movzx ebx, byte [ebp + esi - 0x101]
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6cff80]
mov dword [eax + 8], ebx
add esi, 4
add eax, 0x10
cmp esi, 0xff
jle 0x8d1600
movzx ecx, byte [edi + 0xd]
imul ecx, ecx, 0x1010101
xor eax, eax
lea ecx, [ecx]
mov edx, dword [eax + 0x6cfd80]
xor edx, ecx
mov dword [ebp + eax - 0x204], edx
add eax, 4
cmp eax, 0xfc
jle 0x8d16b0
xor eax, eax
jmp 0x8d16d0
movzx ecx, byte [ebp + eax - 0x204]
movzx edx, byte [ecx + 0x6cfe80]
movzx ecx, byte [ebp + eax - 0x203]
mov byte [ebp + eax - 0x104], dl
movzx edx, byte [ecx + 0x6cfe80]
movzx ecx, byte [ebp + eax - 0x202]
mov byte [ebp + eax - 0x103], dl
movzx edx, byte [ecx + 0x6cfe80]
movzx ecx, byte [ebp + eax - 0x201]
mov byte [ebp + eax - 0x102], dl
movzx edx, byte [ecx + 0x6cfe80]
mov byte [ebp + eax - 0x101], dl
add eax, 4
cmp eax, 0xff
jle 0x8d16d0
movzx ecx, byte [edi + 9]
imul ecx, ecx, 0x1010101
xor eax, eax
mov edi, edi
xor dword [ebp + eax*4 - 0x104], ecx
add eax, 1
cmp eax, 0x3f
jle 0x8d1740
mov al, byte [edi + 1]
mov cl, byte [edi + 5]
movzx edx, al
xor esi, esi
movzx ecx, cl
lea eax, [edi + 0x414]
jmp 0x8d1770
movzx ebx, byte [ebp + esi - 0x104]
movzx ebx, byte [ebx + 0x6cfe80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6d0380]
mov dword [eax - 4], ebx
movzx ebx, byte [ebp + esi - 0x103]
movzx ebx, byte [ebx + 0x6cfe80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6d0380]
mov dword [eax], ebx
movzx ebx, byte [ebp + esi - 0x102]
movzx ebx, byte [ebx + 0x6cfe80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6d0380]
mov dword [eax + 4], ebx
movzx ebx, byte [ebp + esi - 0x101]
movzx ebx, byte [ebx + 0x6cfe80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6d0380]
mov dword [eax + 8], ebx
add esi, 4
add eax, 0x10
cmp esi, 0xff
jle 0x8d1770
movzx ecx, byte [edi + 0xe]
imul ecx, ecx, 0x1010101
xor eax, eax
lea ecx, [ecx]
mov edx, dword [eax + 0x6cfd80]
xor edx, ecx
mov dword [ebp + eax - 0x204], edx
add eax, 4
cmp eax, 0xfc
jle 0x8d1820
xor eax, eax
jmp 0x8d1840
movzx ecx, byte [ebp + eax - 0x204]
movzx edx, byte [ecx + 0x6cfd80]
movzx ecx, byte [ebp + eax - 0x203]
mov byte [ebp + eax - 0x104], dl
movzx edx, byte [ecx + 0x6cfd80]
movzx ecx, byte [ebp + eax - 0x202]
mov byte [ebp + eax - 0x103], dl
movzx edx, byte [ecx + 0x6cfd80]
movzx ecx, byte [ebp + eax - 0x201]
mov byte [ebp + eax - 0x102], dl
movzx edx, byte [ecx + 0x6cfd80]
mov byte [ebp + eax - 0x101], dl
add eax, 4
cmp eax, 0xff
jle 0x8d1840
movzx ecx, byte [edi + 0xa]
imul ecx, ecx, 0x1010101
xor eax, eax
mov edi, edi
xor dword [ebp + eax*4 - 0x104], ecx
add eax, 1
cmp eax, 0x3f
jle 0x8d18b0
mov al, byte [edi + 2]
mov cl, byte [edi + 6]
movzx edx, al
xor esi, esi
movzx ecx, cl
lea eax, [edi + 0x814]
jmp 0x8d18e0
movzx ebx, byte [ebp + esi - 0x104]
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfe80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6d0780]
mov dword [eax - 4], ebx
movzx ebx, byte [ebp + esi - 0x103]
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfe80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6d0780]
mov dword [eax], ebx
movzx ebx, byte [ebp + esi - 0x102]
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfe80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6d0780]
mov dword [eax + 4], ebx
movzx ebx, byte [ebp + esi - 0x101]
movzx ebx, byte [ebx + 0x6cfd80]
xor ebx, ecx
movzx ebx, byte [ebx + 0x6cfe80]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x6d0780]
mov dword [eax + 8], ebx
add esi, 4
add eax, 0x10
cmp esi, 0xff
jle 0x8d18e0
movzx ecx, byte [edi + 0xf]
imul ecx, ecx, 0x1010101
xor eax, eax
pop ebx
mov edi, edi
mov edx, dword [eax + 0x6cfe80]
xor edx, ecx
mov dword [ebp + eax - 0x204], edx
add eax, 4
cmp eax, 0xfc
jle 0x8d1990
xor eax, eax
jmp 0x8d19b0
movzx ecx, byte [ebp + eax - 0x204]
movzx edx, byte [ecx + 0x6cfd80]
movzx ecx, byte [ebp + eax - 0x203]
mov byte [ebp + eax - 0x104], dl
movzx edx, byte [ecx + 0x6cfd80]
movzx ecx, byte [ebp + eax - 0x202]
mov byte [ebp + eax - 0x103], dl
movzx edx, byte [ecx + 0x6cfd80]
movzx ecx, byte [ebp + eax - 0x201]
mov byte [ebp + eax - 0x102], dl
movzx edx, byte [ecx + 0x6cfd80]
mov byte [ebp + eax - 0x101], dl
add eax, 4
cmp eax, 0xff
jle 0x8d19b0
movzx ecx, byte [edi + 0xb]
imul ecx, ecx, 0x1010101
xor eax, eax
mov edi, edi
xor dword [ebp + eax*4 - 0x104], ecx
add eax, 1
cmp eax, 0x3f
jle 0x8d1a20
mov al, byte [edi + 3]
mov cl, byte [edi + 7]
movzx edx, al
xor esi, esi
movzx ecx, cl
lea eax, [edi + 0xc14]
jmp 0x8d1a50
movzx edi, byte [ebp + esi - 0x104]
movzx edi, byte [edi + 0x6cfe80]
xor edi, ecx
movzx edi, byte [edi + 0x6cfe80]
xor edi, edx
mov edi, dword [edi*4 + 0x6d0b80]
mov dword [eax - 4], edi
movzx edi, byte [ebp + esi - 0x103]
movzx edi, byte [edi + 0x6cfe80]
xor edi, ecx
movzx edi, byte [edi + 0x6cfe80]
xor edi, edx
mov edi, dword [edi*4 + 0x6d0b80]
mov dword [eax], edi
movzx edi, byte [ebp + esi - 0x102]
movzx edi, byte [edi + 0x6cfe80]
xor edi, ecx
movzx edi, byte [edi + 0x6cfe80]
xor edi, edx
mov edi, dword [edi*4 + 0x6d0b80]
mov dword [eax + 4], edi
movzx edi, byte [ebp + esi - 0x101]
movzx edi, byte [edi + 0x6cfe80]
xor edi, ecx
movzx edi, byte [edi + 0x6cfe80]
xor edi, edx
mov edi, dword [edi*4 + 0x6d0b80]
mov dword [eax + 8], edi
add esi, 4
add eax, 0x10
cmp esi, 0xff
jle 0x8d1a50
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0067de1d
mov esp, ebp
pop ebp
ret