Function at 0x1d4d223
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x4024
call fcn.01e27940
mov eax, dword [0x1e94008]
xor eax, esp
mov dword [esp + 0x4020], eax
mov al, byte [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0xc]
mov byte [esp + 8], al
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x18], ecx
test ebx, ebx
je 0x1d4d377
cmp byte [ebp + 0x14], 0
je 0x1d4d1a3
sub esp, 8
mov dl, 1
mov eax, esp
mov ecx, str.Ignoring_incoming_data_due_to_bMute_n
and dword [eax + 4], 0xff0fffff
mov byte [eax + 7], 0
and dword [eax + 4], 0xfff00000
mov dword [eax], 0
call fcn.01d520d0
add esp, 8
jmp 0x1d4d377
movzx eax, al
mov esi, ebx
dec eax
shr esi, 1
cmp eax, 5
ja case.default.0x1d4d1b4
jmp dword [eax*4 + 0x1d4d390]
mov eax, 0x2000
cmp esi, eax
cmovl eax, esi
mov esi, eax
lea eax, [esi + esi]
push eax
push ecx
lea eax, [esp + 0x30]
push eax
call fcn.01e27b10
add esp, 0xc
jmp case.default.0x1d4d1b4
sub esp, 8
mov dl, 1
mov eax, esp
mov ecx, 0x1e57914
and dword [eax + 4], 0xff0fffff
mov byte [eax + 7], 0
and dword [eax + 4], 0xfff00000
mov dword [eax], 0
call fcn.01d520d0
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4020]
xor ecx, esp
call fcn.01e029b1
mov esp, ebp
pop ebp
ret 0x10
push dword [esp + 0x10]
mov ecx, edi
call fcn.01d4dc70
mov esi, eax
test esi, esi
je 0x1d4d24a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
cmp eax, dword [edi + 0xbbf0]
je 0x1d4d2a2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
push dword [edi + 0xbbf0]
mov ecx, edi
push dword [esp + 0x14]
call fcn.01d4dba0
mov esi, eax
test esi, esi
jne 0x1d4d2a2
sub esp, 8
mov dl, 1
mov eax, esp
mov ecx, str.No_decoder_available__abandoning_voice_n
and dword [eax + 4], 0xff0fffff
mov byte [eax + 7], 0
and dword [eax + 4], 0xfff00000
mov dword [eax], esi
call fcn.01d520d0
add esp, 8
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4020]
xor ecx, esp
call fcn.01e029b1
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [esi]
lea ecx, [esp + 0x28]
push 0x4000
push ecx
push ebx
push dword [esp + 0x24]
mov ecx, esi
call dword [eax + 0x14]
mov esi, eax
mov ecx, dword [0x1e9ec1c]
xor ebx, ebx
cmp dword [ecx + 0x38], ebx
jne 0x1d4d2e5
mov ecx, dword [0x1e9e874]
cmp dword [ecx + 0x38], ebx
je 0x1d4d2e5
push esi
lea eax, [esp + 0x2c]
push eax
lea ecx, [edi + 8]
call fcn.01d4dda0
movsx ebx, ax
jmp 0x1d4d306
xor ecx, ecx
test esi, esi
jle 0x1d4d306
nop dword [eax + eax]
movsx eax, word [esp + ecx*2 + 0x28]
cdq
xor eax, edx
sub eax, edx
cmp ebx, eax
cmovg eax, ebx
inc ecx
mov ebx, eax
cmp ecx, esi
jl 0x1d4d2f0
movsd xmm0, qword [0x1e7e110]
xorps xmm2, xmm2
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
movsd qword [esp + 0x18], xmm0
mulsd xmm1, qword [0x1e7de70]
movsd qword [esp + 0x10], xmm2
comisd xmm1, xmm0
movsd qword [esp + 0x20], xmm1
jbe 0x1d4d33f
lea eax, [esp + 0x18]
jmp 0x1d4d34e
comisd xmm2, xmm1
lea eax, [esp + 0x10]
lea ecx, [esp + 0x20]
cmovbe eax, ecx
movsd xmm0, qword [eax]
mov ecx, edi
mov eax, dword [edi + 0xbbd8]
cvtpd2ps xmm0, xmm0
mov dword [edi + 0xbbe0], eax
lea eax, [esp + 0x28]
push esi
push eax
movss dword [edi + 0xbbdc], xmm0
call fcn.01d4da80
mov ecx, dword [esp + 0x402c]
mov al, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.01e029b1
mov esp, ebp
pop ebp
ret 0x10