Function at 0x4da5de
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0x75d580]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 2
pop edx
and dword [esi + 0xc0], 0
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x21c], edx
movzx ebx, byte [esi + edx + 0x2c9c]
xor edi, edi
mov eax, ebx
mov dword [ebp - 0x208], edi
shr eax, 1
and ebx, 1
dec eax
mov dword [ebp - 0x214], edx
or ebx, 2
mov dword [ebp - 0x228], eax
mov ecx, eax
shl ebx, cl
lea ecx, [ebx + 0x8e7]
add ebx, edx
lea ecx, [esi + ecx*4]
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x218], ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x20c], ecx
mov ecx, eax
shl dword [ebp - 0x210], cl
test eax, eax
je 0x4da6dd
mov edi, dword [ebp - 0x22c]
mov ebx, eax
mov eax, dword [ebp - 0x214]
mov esi, eax
mov edx, dword [ebp - 0x20c]
and esi, 1
shr eax, 1
add edx, edx
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x218]
movzx ecx, word [edx + eax]
mov eax, esi
neg eax
shr ecx, 4
shr eax, 4
and eax, 0x7f
xor ecx, eax
mov eax, dword [ebp - 0x208]
add eax, dword [edi + ecx*4 + 0x748]
mov dword [ebp - 0x208], eax
lea eax, [edx + esi]
mov dword [ebp - 0x20c], eax
sub ebx, 1
jne 0x4da672
mov ebx, dword [ebp - 0x224]
mov esi, edi
mov edx, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x208]
jmp 0x4da6e3
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x218]
movzx ecx, word [ecx + eax*2]
mov eax, ecx
xor ecx, 0x7f0
shr eax, 4
shr ecx, 4
mov eax, dword [esi + eax*4 + 0x748]
mov ecx, dword [esi + ecx*4 + 0x748]
add eax, edi
mov dword [ebp + ebx*4 - 0x204], eax
add ecx, edi
mov eax, dword [ebp - 0x210]
add eax, ebx
inc edx
mov dword [ebp - 0x21c], edx
mov dword [ebp + eax*4 - 0x204], ecx
cmp edx, 0x40
jb 0x4da60d
lea eax, [esi + 0x219c]
mov dword [ebp - 0x228], 4
lea ebx, [ebp - 0x200]
mov dword [ebp - 0x208], eax
sub ebx, esi
lea edx, [esi + 0x121c]
lea eax, [esi + 0x1624]
mov dword [ebp - 0x224], edx
sub ebx, 0x161c
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], ebx
mov ecx, dword [esi + 0xc8]
inc ecx
shr ecx, 1
mov dword [ebp - 0x230], ecx
je 0x4da8d5
mov dword [ebp - 0x214], edx
mov edx, dword [ebp - 0x208]
push 0x20
pop eax
mov dword [ebp - 0x218], eax
lea edi, [edx + 0x40]
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x21c], edi
jmp 0x4da7b6
mov edx, dword [ebp - 0x208]
mov edi, eax
mov ecx, eax
and ecx, 1
shr edi, 1
neg ecx
shr ecx, 4
and ecx, 0x7f
movzx eax, word [edx + edi*2]
shr eax, 4
xor eax, ecx
mov ecx, edi
and ecx, 1
shr edi, 1
neg ecx
shr ecx, 4
mov ebx, dword [esi + eax*4 + 0x748]
and ecx, 0x7f
movzx eax, word [edx + edi*2]
shr eax, 4
xor eax, ecx
mov ecx, edi
and ecx, 1
shr edi, 1
neg ecx
shr ecx, 4
add ebx, dword [esi + eax*4 + 0x748]
and ecx, 0x7f
movzx eax, word [edx + edi*2]
shr eax, 4
xor eax, ecx
add ebx, dword [esi + eax*4 + 0x748]
mov esi, edi
shr edi, 1
and esi, 1
mov eax, edi
neg esi
shr eax, 1
shr esi, 4
and esi, 0x7f
movzx edx, word [edx + eax*2]
mov eax, edi
and eax, 1
shr edx, 4
neg eax
shr eax, 4
and eax, 0x7f
xor edx, eax
mov eax, dword [ebp - 0x208]
movzx ecx, word [eax + edi*2]
mov edi, dword [ebp - 0x21c]
shr ecx, 4
xor ecx, esi
mov esi, dword [ebp - 0x22c]
mov eax, dword [esi + edx*4 + 0x748]
add eax, dword [esi + ecx*4 + 0x748]
movzx ecx, word [edi]
add ebx, eax
mov edx, dword [ebp - 0x214]
mov eax, ecx
shr eax, 4
xor ecx, 0x7f0
shr ecx, 4
add edi, 2
mov dword [ebp - 0x21c], edi
mov eax, dword [esi + eax*4 + 0x748]
add eax, ebx
mov dword [edx], eax
mov eax, dword [esi + ecx*4 + 0x748]
add eax, ebx
mov dword [edx + 4], eax
add edx, 8
mov eax, dword [ebp - 0x218]
inc eax
mov dword [ebp - 0x214], edx
sub dword [ebp - 0x220], 1
mov dword [ebp - 0x218], eax
jne 0x4da7b0
mov edx, dword [ebp - 0x224]
mov ebx, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x230]
push 7
pop edi
mov dword [ebp - 0x230], 0x20
cmp ecx, edi
jbe 0x4da901
mov ebx, dword [ebp - 0x230]
add dword [edx + edi*8], ebx
add dword [edx + edi*8 + 4], ebx
add ebx, 0x10
inc edi
cmp edi, ecx
jb 0x4da8ec
mov ebx, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x210]
mov eax, dword [edx]
push 4
mov dword [ecx - 8], eax
lea edi, [ecx + 8]
mov eax, dword [edx + 4]
mov dword [ecx - 4], eax
mov eax, dword [edx + 8]
mov dword [ecx], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 4], eax
pop eax
mov dword [ebp - 0x220], eax
movzx eax, byte [esi + eax + 0x2c9c]
mov ecx, dword [edx + eax*4]
mov eax, dword [edi + ebx - 4]
add eax, ecx
mov dword [edi], eax
mov eax, dword [edi + ebx]
lea edi, [edi + 8]
add eax, ecx
mov ecx, 0x80
mov dword [edi - 4], eax
mov eax, dword [ebp - 0x220]
add eax, 2
mov dword [ebp - 0x220], eax
cmp eax, ecx
jb 0x4da929
add dword [ebp - 0x208], ecx
mov edi, 0x200
add dword [ebp - 0x210], edi
add edx, 0x100
sub ebx, edi
mov dword [ebp - 0x224], edx
sub dword [ebp - 0x228], 1
mov dword [ebp - 0x20c], ebx
jne 0x4da775
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0048a267
leave
ret