Function at 0x140236c50
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xc8
call fcn.14024e1d0
sub rsp, rax
mov rax, qword [0x140371698]
xor rax, rsp
mov qword [rsp + 0x70], rax
cmp dword [0x14038316c], 0
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x90], r15
mov r15d, edx
movaps xmmword [rsp + 0x80], xmm6
movaps xmm6, xmm2
mov qword [rsp + 0x50], rcx
je 0x140236cfa
mov edx, 0x13
lea r8, str..crypto_randmd_rand.c
mov r9d, 0xd8
lea ecx, [rdx - 0xe]
call fcn.14022ea60
call fcn.14022eb10
xor edi, edi
lea r8, str..crypto_randmd_rand.c
cmp dword [0x140383170], eax
mov r13d, edi
mov r9d, 0xda
sete r13b
lea edx, [rdi + 0x13]
mov dword [rsp + 0x20], r13d
lea ecx, [rdi + 6]
call fcn.14022ea60
test r13d, r13d
jne 0x140236d1d
jmp 0x140236d03
xor edi, edi
mov r13d, edi
mov dword [rsp + 0x20], edi
mov edx, 0x12
lea r8, str..crypto_randmd_rand.c
mov r9d, 0xdf
lea ecx, [rdx - 9]
call fcn.14022ea60
movsxd rcx, dword [0x140383154]
mov rax, qword [0x140383158]
mov rsi, rcx
movups xmm0, xmmword [0x140383178]
add ecx, r15d
mov qword [rsp + 0x28], rax
mov eax, dword [0x140383188]
mov dword [rsp + 0x68], eax
mov dword [0x140383154], ecx
movups xmmword [rsp + 0x58], xmm0
cmp ecx, 0x3ff
jl 0x140236d87
mov eax, 0x7fdff7fd
mov dword [0x140383150], 0x3ff
imul ecx
sub edx, ecx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3ff
add ecx, eax
mov dword [0x140383154], ecx
jmp 0x140236d9f
mov eax, dword [0x140383150]
cmp eax, 0x3ff
jge 0x140236d9f
cmp ecx, eax
cmovg eax, ecx
mov dword [0x140383150], eax
mov eax, 0x66666667
mov ecx, r15d
imul r15d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*4]
shl eax, 2
sub ecx, eax
mov eax, edi
test ecx, ecx
setg al
add eax, edx
add dword [0x14038315c], eax
test r13d, r13d
jne 0x140236de9
lea edx, [r13 + 0x12]
mov r9d, 0xff
lea ecx, [rdx - 8]
lea r8, str..crypto_randmd_rand.c
call fcn.14022ea60
lea rcx, [rsp + 0x30]
call fcn.14023d780
test r15d, r15d
jle 0x140236f6d
mov r13, qword [rsp + 0x50]
lea ecx, [r15 - 1]
mov qword [rsp + 0xe0], rbx
mov eax, 0xcccccccd
mul ecx
mov qword [rsp + 0xc0], rbp
mov rbx, rsi
mov qword [rsp + 0xa8], r12
shr edx, 4
mov qword [rsp + 0x98], r14
mov r14d, 0x14
lea r12d, [rdx + 1]
nop dword [rax]
cmp r15d, 0x14
mov ebp, r15d
cmovg ebp, r14d
call fcn.14023d900
mov rdx, rax
lea rcx, [rsp + 0x30]
xor r8d, r8d
call fcn.14023d580
mov r8, r14
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.14023d6d0
lea r14d, [rsi - 0x3ff]
movsxd rdx, esi
add r14d, ebp
lea rcx, [rsp + 0x30]
test r14d, r14d
jle 0x140236eb4
mov eax, ebp
sub eax, r14d
movsxd r8, eax
lea rax, [0x140383190]
add rdx, rax
call fcn.14023d6d0
movsxd r8, r14d
lea rcx, [rsp + 0x30]
lea r14, [0x140383190]
mov rdx, r14
jmp 0x140236ec1
lea r14, [0x140383190]
movsxd r8, ebp
add rdx, r14
call fcn.14023d6d0
movsxd rbp, ebp
lea rcx, [rsp + 0x30]
mov r8, rbp
mov rdx, r13
call fcn.14023d6d0
mov r8d, 8
lea rdx, [rsp + 0x28]
lea rcx, [rsp + 0x30]
call fcn.14023d6d0
xor r8d, r8d
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.14023d4e0
inc dword [rsp + 0x2c]
add r13, rbp
mov rcx, rdi
test rbp, rbp
jle 0x140236f34
nop
movzx eax, byte [rsp + rcx + 0x58]
inc esi
xor byte [rbx + r14], al
inc rbx
cmp rbx, 0x3ff
jl 0x140236f2c
mov esi, edi
mov rbx, rdi
inc rcx
cmp rcx, rbp
jl 0x140236f10
sub r15d, 0x14
mov r14d, 0x14
sub r12, 1
jne 0x140236e40
mov r13d, dword [rsp + 0x20]
mov r14, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xe0]
lea rcx, [rsp + 0x30]
call fcn.14023d6f0
mov r15, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xb8]
test r13d, r13d
jne 0x140236fa5
lea edx, [r13 + 0x12]
mov r9d, 0x12a
lea ecx, [rdx - 9]
lea r8, str..crypto_randmd_rand.c
call fcn.14022ea60
movdqu xmm1, xmmword [0x140383178]
mov ecx, 4
lea rdx, [0x140383178]
movdqu xmm0, xmmword [rsp + 0x58]
pxor xmm1, xmm0
movdqu xmmword [0x140383178], xmm1
nop dword [rax + rax]
movzx eax, byte [rsp + rdi + 0x68]
xor byte [rdi + rdx + 0x10], al
lea rdi, [rdi + 1]
sub rcx, 1
jne 0x140236fd0
movsd xmm0, qword [0x140287f30]
movsd xmm1, qword [0x140383160]
comisd xmm0, xmm1
mov rdi, qword [rsp + 0xb0]
jbe 0x14023700d
addsd xmm1, xmm6
movsd qword [0x140383160], xmm1
movaps xmm6, xmmword [rsp + 0x80]
test r13d, r13d
mov r13, qword [rsp + 0xa0]
jne 0x14023703c
mov edx, 0x12
lea r8, str..crypto_randmd_rand.c
mov r9d, 0x135
lea ecx, [rdx - 8]
call fcn.14022ea60
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.14024d520
add rsp, 0xc8
ret