Function at 0x4dbf78
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov ecx, dword [ebp + 0xc]
push esi
push edi
push 6
pop edx
mov eax, 0x80
push 0x40
sub ecx, eax
pop esi
je 0x4dbfb0
sub ecx, esi
je 0x4dbfab
sub ecx, esi
je 0x4dbfa2
or eax, 0xffffffff
jmp 0x4dc196
mov dword [ebp - 4], 8
jmp 0x4dbfb7
mov dword [ebp - 4], edx
jmp 0x4dbfb7
mov dword [ebp - 4], 4
mov edi, dword [ebp + 0x10]
mov ecx, edi
sub ecx, eax
je 0x4dbfda
sub ecx, esi
je 0x4dbfd5
sub ecx, esi
je 0x4dbfcc
push 0xfffffffffffffffe
jmp 0x4dbff9
mov dword [ebp + 0x10], 8
jmp 0x4dbfe1
mov dword [ebp + 0x10], edx
jmp 0x4dbfe1
mov dword [ebp + 0x10], 4
cmp dword [ebp + 0xc], edi
mov ecx, dword [ebp + 0xc]
jge 0x4dbfeb
mov ecx, edi
sub ecx, eax
je 0x4dc011
sub ecx, esi
je 0x4dc008
sub ecx, esi
je 0x4dbfff
push 0xfffffffffffffffd
pop eax
jmp 0x4dc196
mov dword [ebp + 0xc], 0xe
jmp 0x4dc018
mov dword [ebp + 0xc], 0xc
jmp 0x4dc018
mov dword [ebp + 0xc], 0xa
push ebx
xor ebx, ebx
xor esi, esi
cmp dword [ebp - 4], ebx
jle 0x4dc087
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x24]
push 4
lea eax, [ebp + esi - 0x24]
sub ecx, edx
pop edi
mov dl, byte [ecx + eax]
mov byte [eax], dl
add eax, 8
dec edi
jne 0x4dc031
inc esi
cmp esi, dword [ebp - 4]
jl 0x4dc022
cmp dword [ebp - 4], ebx
jle 0x4dc087
mov eax, dword [ebp + 0xc]
lea esi, [eax + 1]
imul esi, dword [ebp + 0x10]
cmp ebx, esi
jge 0x4dc087
mov eax, ebx
push 4
cdq
idiv dword [ebp + 0x10]
lea ecx, [ebp + ebx - 0x24]
mov edi, eax
mov eax, ebx
cdq
idiv dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
shl edi, 5
add eax, edi
pop edi
add edx, eax
mov al, byte [ecx]
add ecx, 8
mov byte [edx], al
add edx, 8
dec edi
jne 0x4dc074
inc ebx
cmp ebx, dword [ebp - 4]
jl 0x4dc051
mov eax, dword [ebp + 0xc]
inc eax
imul eax, dword [ebp + 0x10]
cmp ebx, eax
mov dword [ebp + 8], eax
jge 0x4dc193
mov dword [ebp + 0xc], 0x10050008
xor eax, eax
lea ecx, [ebp - 0x24]
lea esi, [eax + 1]
push 4
mov eax, esi
pop edi
cdq
idiv edi
mov eax, dword [ebp - 4]
lea eax, [eax + edx*8]
movzx eax, byte [ebp + eax - 0x25]
mov al, byte [eax + 0x1004fdf8]
xor byte [ecx], al
mov eax, esi
add ecx, 8
cmp eax, edi
jl 0x4dc0a6
mov eax, dword [ebp + 0xc]
add dword [ebp + 0xc], edi
push 1
mov al, byte [eax]
pop ecx
xor byte [ebp - 0x24], al
cmp dword [ebp - 4], 8
je 0x4dc100
cmp dword [ebp - 4], ecx
jle 0x4dc14b
push 4
lea eax, [ebp + ecx - 0x24]
pop esi
mov dl, byte [eax - 1]
xor byte [eax], dl
add eax, 8
dec esi
jne 0x4dc0ed
inc ecx
cmp ecx, dword [ebp - 4]
jl 0x4dc0e6
jmp 0x4dc14b
push 4
lea eax, [ebp + ecx - 0x24]
pop esi
mov dl, byte [eax - 1]
xor byte [eax], dl
add eax, 8
dec esi
jne 0x4dc107
inc ecx
cmp ecx, 4
jl 0x4dc100
push 4
lea eax, [ebp - 0x20]
pop ecx
movzx edx, byte [eax - 1]
mov dl, byte [edx + 0x1004fdf8]
xor byte [eax], dl
add eax, 8
dec ecx
jne 0x4dc11e
push 5
pop ecx
push 4
lea eax, [ebp + ecx - 0x24]
pop esi
mov dl, byte [eax - 1]
xor byte [eax], dl
add eax, 8
dec esi
jne 0x4dc13a
inc ecx
cmp ecx, 8
jl 0x4dc133
xor esi, esi
cmp dword [ebp - 4], esi
jle 0x4dc18a
cmp ebx, dword [ebp + 8]
jge 0x4dc193
mov eax, ebx
push 4
cdq
idiv dword [ebp + 0x10]
lea ecx, [ebp + esi - 0x24]
mov edi, eax
mov eax, ebx
cdq
idiv dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
shl edi, 5
add eax, edi
pop edi
add edx, eax
mov al, byte [ecx]
add ecx, 8
mov byte [edx], al
add edx, 8
dec edi
jne 0x4dc176
inc esi
inc ebx
cmp esi, dword [ebp - 4]
jl 0x4dc152
cmp ebx, dword [ebp + 8]
jl 0x4dc0a1
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret