Function at 0x14007ae70
Capabilities:
Encrypt data using des

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x20
mov r12, rcx
mov ecx, 0x78
mov rsi, r8
mov r13d, edx
call fcn.14000fdf0
lea r9, str.91__
lea r10, [0x1400f6901]
lea r8, [0x1400f6902]
lea r11, [0x1400f6903]
sub r9, rax
sub r10, rax
sub r8, rax
mov rbx, rax
mov rdi, rax
mov ebp, recv
sub r11, rax
lea r14, [0x140000000]
nop dword [rax + rax]
movzx eax, byte [r9 + rdi]
dec eax
movsxd rdx, eax
mov rax, rdx
and edx, 7
sar rax, 3
movzx ecx, byte [rax + rsi]
test byte [r14 + rdx*4 + 0xf6978], cl
setne al
mov byte [rdi], al
movzx eax, byte [r10 + rdi]
dec eax
movsxd rdx, eax
mov rax, rdx
and edx, 7
sar rax, 3
movzx ecx, byte [rax + rsi]
test byte [r14 + rdx*4 + 0xf6978], cl
setne al
mov byte [rdi + 1], al
movzx eax, byte [r8 + rdi]
dec eax
movsxd rdx, eax
mov rax, rdx
and edx, 7
sar rax, 3
movzx ecx, byte [rax + rsi]
test byte [r14 + rdx*4 + 0xf6978], cl
setne al
mov byte [rdi + 2], al
movzx eax, byte [r11 + rdi]
dec eax
movsxd rdx, eax
mov rax, rdx
and edx, 7
sar rax, 3
movzx ecx, byte [rax + rsi]
test byte [r14 + rdx*4 + 0xf6978], cl
setne al
add rdi, 4
sub rbp, 1
mov byte [rdi - 1], al
jne 0x14007aee0
xor r11d, r11d
lea esi, [rbp + 0x1c]
lea rbp, [0x1400f6948]
mov rdi, r11
nop word [rax + rax]
xor eax, eax
mov edx, r11d
mov r8, r11
mov qword [rbx + 0x70], rax
nop dword [rax]
movzx ecx, byte [rdi + r14 + 0xf6938]
mov eax, 0x38
add ecx, edx
cmp edx, esi
cmovl eax, esi
cmp ecx, eax
jl 0x14007afcc
add ecx, 0xffffffe4
movsxd rax, ecx
inc r8
inc edx
cmp r8, 0x38
movzx ecx, byte [rax + rbx]
mov byte [r8 + rbx + 0x37], cl
jl 0x14007afb0
mov r9d, r11d
mov r10, rbp
nop dword [rax]
movzx eax, byte [r10]
cmp byte [rax + rbx + 0x37], r11b
je 0x14007b022
mov eax, 0xaaaaaaab
mul r9d
mov eax, r9d
shr edx, 2
lea ecx, [rdx + rdx*2]
add ecx, ecx
sub eax, ecx
movsxd rcx, eax
mov eax, dword [r14 + rcx*4 + 0xf6978]
sar eax, 2
or byte [rdx + rbx + 0x70], al
inc r9d
inc r10
cmp r9d, 0x30
jl 0x14007aff0
movzx eax, byte [rbx + 0x72]
movzx ecx, byte [rbx + 0x70]
inc rdi
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x74]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x76]
shl ecx, 8
or ecx, eax
mov rax, qword [r12 + 0x90]
mov dword [rax + rdi*8 - 8], ecx
movzx eax, byte [rbx + 0x73]
movzx ecx, byte [rbx + 0x71]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x75]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0x77]
shl ecx, 8
or ecx, eax
cmp rdi, 0x10
mov rax, qword [r12 + 0x90]
mov dword [rax + rdi*8 - 4], ecx
jl 0x14007afa0
cmp r13d, 1
jne 0x14007b0f2
mov edx, 0x7c
nop dword [rax]
mov rax, qword [r12 + 0x90]
lea r8, [rax + rdx - 4]
lea r9, [r11 + rax]
cmp r9, r8
je 0x14007b0c2
mov eax, dword [r8]
mov ecx, dword [r9]
mov dword [r9], eax
mov dword [r8], ecx
mov rax, qword [r12 + 0x90]
lea r9, [rax + rdx]
lea r10, [r11 + rax + 4]
cmp r10, r9
je 0x14007b0e4
mov eax, dword [r9]
mov ecx, dword [r10]
mov dword [r10], eax
mov dword [r9], ecx
sub rdx, 8
add r11, 8
cmp rdx, 0x3c
jg 0x14007b0a0
xor edx, edx
mov rcx, rbx
lea r8d, [rdx + 0x78]
call fcn.14001ed20
mov rcx, rbx
call fcn.14000fdf8
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop r13
pop r12
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [rcx - 8]
mov rbx, rcx
add rcx, 0xfffffffffffffff8
mov rdi, rdx
call qword [rax + 0x38]
xor edx, edx
test al, al
lea rcx, [rbx + 0x10]
mov r8, rdi
sete dl
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x14007ae70