Function at 0x14007f510
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x40], 0xfffffffffffffffe
mov qword [rsp + 0xb0], rbx
mov rax, qword [0x140515010]
xor rax, rsp
mov qword [rbp - 8], rax
mov rdi, r9
mov r14, r8
mov rsi, rdx
mov qword [rbp - 0x38], rdx
xor r12d, r12d
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], recv
mov byte [rbp - 0x30], r12b
mov qword [rbp - 0x10], 0xffffffffffffffff
test r9, r9
jne 0x14007f582
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rdx + 0x10], xmm1
jmp 0x14007f88d
lea rbx, [r9 + r9]
test rbx, rbx
jne 0x14007f595
mov qword [rbp - 0x20], rbx
mov byte [rbp + rbx - 0x30], bl
jmp 0x14007f5bf
lea rcx, [rbp - 0x30]
cmp rbx, 0xf
ja 0x14007f5b4
mov qword [rbp - 0x20], rbx
mov r8, rbx
xor edx, edx
call fcn.140215640
mov byte [rbp + rbx - 0x30], 0
jmp 0x14007f5bf
mov r9, rbx
mov rdx, rbx
call fcn.14007cc80
mov r9d, 1
lea r8, [0x14068d010]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.140145ec0
mov rbx, rdi
shr rbx, 3
mov r15, r12
mov r13d, 0x37
test rbx, rbx
je 0x14007f7c4
mov rax, qword [r14 + r15*8]
xor rax, qword [rbp - 0x10]
mov qword [rbp - 0x38], rax
mov r9d, 1
lea r8, [0x14068d010]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x38]
call fcn.140145ec0
mov rax, qword [rbp - 0x38]
xor qword [rbp - 0x10], rax
lea r10, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae r10, qword [rbp - 0x30]
add r10, r12
movzx edx, al
shr dl, 4
and al, 0xf
mov ecx, 0x30
cmp dl, 0xa
cmovae ecx, r13d
add cl, dl
mov byte [r10], cl
mov ecx, 0x30
cmp al, 0xa
cmovae ecx, r13d
add cl, al
mov byte [r10 + 1], cl
movzx edx, byte [rbp - 0x37]
movzx ecx, dl
shr cl, 4
and dl, 0xf
mov eax, 0x30
cmp cl, 0xa
cmovae eax, r13d
add al, cl
mov byte [r10 + 2], al
mov eax, 0x30
cmp dl, 0xa
cmovae eax, r13d
add al, dl
mov byte [r10 + 3], al
movzx edx, byte [rbp - 0x36]
movzx ecx, dl
shr cl, 4
and dl, 0xf
mov eax, 0x30
cmp cl, 0xa
cmovae eax, r13d
add al, cl
mov byte [r10 + 4], al
mov eax, 0x30
cmp dl, 0xa
cmovae eax, r13d
add al, dl
mov byte [r10 + 5], al
movzx edx, byte [rbp - 0x35]
movzx ecx, dl
shr cl, 4
and dl, 0xf
mov eax, 0x30
cmp cl, 0xa
cmovae eax, r13d
add al, cl
mov byte [r10 + 6], al
mov eax, 0x30
cmp dl, 0xa
cmovae eax, r13d
add al, dl
mov byte [r10 + 7], al
movzx edx, byte [rbp - 0x34]
movzx ecx, dl
shr cl, 4
and dl, 0xf
mov eax, 0x30
cmp cl, 0xa
cmovae eax, r13d
add al, cl
mov byte [r10 + 8], al
mov eax, 0x30
cmp dl, 0xa
cmovae eax, r13d
add al, dl
mov byte [r10 + 9], al
movzx edx, byte [rbp - 0x33]
movzx ecx, dl
shr cl, 4
and dl, 0xf
mov eax, 0x30
cmp cl, 0xa
cmovae eax, r13d
add al, cl
mov byte [r10 + 0xa], al
mov eax, 0x30
cmp dl, 0xa
cmovae eax, r13d
add al, dl
mov byte [r10 + 0xb], al
movzx edx, byte [rbp - 0x32]
movzx ecx, dl
shr cl, 4
and dl, 0xf
mov eax, 0x30
cmp cl, 0xa
cmovae eax, r13d
add al, cl
mov byte [r10 + 0xc], al
mov eax, 0x30
cmp dl, 0xa
cmovae eax, r13d
add al, dl
mov byte [r10 + 0xd], al
movzx edx, byte [rbp - 0x31]
movzx eax, dl
shr al, 4
and dl, 0xf
mov ecx, 0x30
cmp al, 0xa
cmovae ecx, r13d
add cl, al
mov eax, 0x30
cmp dl, 0xa
cmovae eax, r13d
add al, dl
mov byte [r10 + 0xe], cl
mov byte [r10 + 0xf], al
inc r15
add r12, 0x10
cmp r15, rbx
jb 0x14007f5f2
xor r12d, r12d
and edi, 7
je 0x14007f87e
mov r9d, 1
lea r8, [0x14068d010]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.140145ec0
mov rdx, r12
test rdi, rdi
je 0x14007f817
lea r8, [rbx*8]
lea rcx, [rbp - 0x10]
sub r8, rcx
add r8, r14
lea rcx, [rbp - 0x10]
add rcx, rdx
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
inc rdx
cmp rdx, rdi
jb 0x14007f801
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rax, qword [rbp - 0x30]
shl rbx, 4
add rbx, rax
mov rax, r12
test rdi, rdi
je 0x14007f87e
nop dword [rax]
nop dword [rax + rax]
movzx r8d, byte [rbp + rax - 0x10]
movzx ecx, r8b
shr cl, 4
and r8b, 0xf
mov edx, 0x30
cmp cl, 0xa
cmovae edx, r13d
add dl, cl
mov ecx, 0x30
cmp r8b, 0xa
cmovae ecx, r13d
add cl, r8b
mov byte [rbx + rax*2], dl
mov byte [rbx + rax*2 + 1], cl
inc rax
cmp rax, rdi
jb 0x14007f840
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rsi], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rsi + 0x10], xmm1
mov rax, rsi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140087670
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret