Function at 0x616829
Capabilities:
Encode data using xor

Disassembly:
sbb al, 0x68
xchg byte es:[ebx], dh
imul ecx, dword [esi + 0x1c6cc3e0], 0xb4fe1f7b
cwde
mov ebx, 0x27929f31
push 0x63b223a9
int1
push esp
and bl, bh
sti
jecxz 0x6069de
stosd dword es:[edi], eax
test dword [eax - 0x38ebff6c], ecx
sub al, 0xfd
fdiv qword [edi - 0x3678892]
daa
xor bh, bl
mov ebp, 0x5e38f5fb
sbb byte [ecx + 0x10], ah
push esi
inc esp
push 0xb0dacab3
pop es
outsd dx, dword [esi]
inc edx
pop edi
pop ebx
push ecx
adc byte [edi - 0x329e067c], dh
scasb al, byte es:[edi]
mov dl, 0x35
fdivr qword [edi + ebp]
das
and al, 0x59
js 0x606949
sub dword [ecx + esi*8 - 0x3ba2a194], 0xfb48d783
loop 0x6069a4
fisttp dword [ecx]
test eax, 0xd4f817e4
ror dword fs:[0xe11f2781], 0xf6
in al, 0x17
clc
aam 0x64
ror dword [0xe11f2781], 0xf6
and dword [edi], 0xd3f6e11f
or al, 0xac
ror dword [esp + ebp*4], cl
sti
cmp ebp, dword gs:[ecx]
pop es
not dword [bp + di]
or dword [edx - 0x6b8fb834], eax
sbb eax, 0xa3b3f6fa
add dl, byte [esi + 0x16]
lodsd eax, dword [esi]
pop edx
imul ecx, dword [esi], 0xffffffc0
loope 0x6069bb
xchg dword [edx], edi
mov bl, 0x3a
push ds
add ah, ah
push es
jb 0x606a58
jmp 0x60699d
sbb al, 0x6e
push edx
mov eax, dword [0x5223986a]
xlatb
adc al, 0x7b
insd dword es:[edi], dx
jbe 0x606a21
add edx, edx
lea esp, [edi]
nop
out dx, al
mov bh, 0x50
jae 0x606a78
rol byte [ebx], 0x47
idiv dl
ja 0x6069b4
mov ebx, esp
aaa
xchg edx, eax
or eax, 0x1431f260
fisub word [ebx + 0x25]
cmp ebx, eax
scasd eax, dword es:[edi]
dec ecx
out dx, eax
xchg esp, eax
mov ebp, 0x57c7e490
mov cl, 0x2e
xchg dl, cl
in eax, dx
lodsb al, byte [esi]
sub dword [eax + 0x2f973e3c], eax
inc esp
sub al, 0x16
xor dword [edi - 0x3f], edi
fistp word [ecx + 0x55b166ef]
add byte [edx + 0x750bc7c0], dl
popal
mov bl, byte [esi + 0x48]
add edx, edi
xchg ecx, eax
sub ch, 0xc1
xor dword [esi + 0xa], ecx
adc bh, bh
lea edx, [eax + 2]
invalid
retf 0xaced
push eax
add dh, al
jp 0x606a2d
add dword [esi + 0x7bd8c457], edx
invalid
xchg esp, eax
xchg edi, eax
invalid
add dword [ebp - 0xc], ebx
mov eax, edx
add ebx, edx
sub eax, dword [eax]
add cl, dl
clc
sub esi, eax
lea edi, [edi + 1]
sub esi, edi
lea ecx, [esi + esi]
push ecx
push eax
add byte [eax], al
call fcn.00616afd
push ebx
add esp, esi
push eax
push dword [ebp + 0xc]
push eax
inc dword [eax]
add al, ch
int 2
add byte [eax], al
xchg byte [ecx], al
cld
mov ecx, dword [ebp - 8]
push dword [ebp + 8]
add byte [eax], al
push ss
xor esi, esi
mov word [ecx], si
add dword [ebx], ebp
xlatb
mul byte [esi - 0x77]
xor dword [ecx], eax
sub edx, edi
mov esi, dword [ebp - 0x10]
add esi, edx
add byte [eax], al
add byte [eax], al
jne 0x61681e
call 0x1f1c195
mov edx, eax
mov dword [ebp - 8], eax
add esp, 0
add dl, dl
jne 0x6167e2
push ebx
call fcn.006169e1
pop ecx
lea ebx, [ebx + eax*2]
add dword [eax], 0
cmp ebx, dword [ebp - 0x20]
jb 0x6069f3
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp]
add al, ch
idiv edi
inc dword [edi]
add eax, ebp
mov eax, ebx
pop ebx
pop edi
pop esi
mov eax, dword [eax]
add dl, al
or byte [eax], al
push ebp
mov ecx, dword [esi + 1]
movsx eax, byte [ebp + 8]
push esi
mov esi, ecx
add byte [eax], al
rcl byte [eax - 0x18], 7
add cl, byte [ecx + 1]
mov eax, esi
pop esi
pop ebp
ret 4