Function at 0x140038a58
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0x3677d71d
add rsp, 0x3677d635
xor r15d, r15d
mov rbx, rcx
mov dword [rbp + 0x67], r15d
call fcn.14002fd20
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0xb0]
mov rcx, qword [0x1400d9b90]
mov rdx, rax
call fcn.14002d0e4
mov rcx, rax
call fcn.14002fb2c
mov ecx, dword [rbx + 0xb5c]
mov rsi, rax
nop
add ecx, 0x6193b8bc
sub ecx, 0x6193b8b8
cmp dword [rbx + 0xb58], ecx
je 0x140038ca5
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x140038ca5
cmp byte [rcx + 0x310], r15b
je 0x140038ca5
mov qword [rsp + 0x118], rdi
lea rdx, [rbp - 0x49]
mov qword [rsp + 0x120], r12
mov rcx, rbx
mov qword [rsp + 0xe0], r14
call fcn.1400394c0
mov r9, qword [rbx + 0xb48]
lea rdx, [rbp - 9]
mov rdi, qword [rsi + 0x50]
lea rcx, [rbp - 0x49]
xor r8d, r8d
call fcn.140049a40
mov rdx, rax
mov rcx, rdi
call fcn.1400322bc
mov rcx, qword [rbp - 9]
mov r12d, eax
lea rax, [rbp - 1]
cmp rcx, rax
jne 0x140038a69
lea rdi, [rbp - 1]
xor eax, eax
mov ecx, 0x2a44e8ba
xor ecx, 0x2d2c0f06
add ecx, 0x6ac4f38c
sub ecx, 0x722ddb18
rep stosb byte [rdi], al
jmp 0x140038a6e
call fcn.14007fbb0
mov r14, qword [rbp - 0x11]
cmp qword [rbx + 0xb48], r14
je 0x140038b60
xorps xmm0, xmm0
mov qword [rsp + 0x128], r13
mov r13, qword [rsi + 0x50]
lea rax, [rsp + 0x28]
mov rsi, qword [rbp - 0x49]
lea rdx, [r14 + 1]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
movups xmmword [rsp + 0x28], xmm0
movups xmmword [rbp - 0x71], xmm0
movups xmmword [rbp - 0x61], xmm0
call fcn.140016528
mov edx, 0x9700154
add edx, 0x8cad9b6
add edx, 0x1c9e9c46
test r14, r14
je 0x140038b19
mov rdi, rax
sub rsi, rax
mov r8, r14
mov r9d, 0x4820dd11
sub r9d, 0x418f1ffe
sub r9d, 0x691bc14
nop word [rax + rax]
movzx ecx, dx
lea rdi, [rdi + 2]
and cx, r9w
ror edx, 8
xor cx, word [rsi + rdi - 2]
mov word [rdi - 2], cx
sub r8, 1
jne 0x140038af8
mov word [rax + r14*2], r15w
mov rcx, r13
mov rdx, qword [rbx + 0xb48]
mov rax, qword [rsp + 0x20]
lea rdx, [rax + rdx*2]
call fcn.14003253c
mov r13, qword [rsp + 0x128]
mov esi, eax
mov r15d, 0xff5174a
sub r15d, 0x13aecd7
add r15d, 0x66ae93cf
xor r15d, 0x7568be43
jmp 0x140038b63
mov esi, r15d
mov r14, qword [rsp + 0xe0]
test r15b, 1
je 0x140038bb2
mov rcx, qword [rsp + 0x20]
lea rax, [rsp + 0x28]
cmp rcx, rax
jne 0x140038bad
lea rdi, [rsp + 0x28]
xor eax, eax
mov ecx, 0x586b4673
sub ecx, 0x2b5c7530
add ecx, 0x329af64d
xor ecx, 0x5fa9c7a0
rep stosb byte [rdi], al
jmp 0x140038bb2
call fcn.14007fbb0
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.140036780
lea rdx, [rbp + 0x67]
mov rcx, rbx
mov edi, dword [rax]
sub edi, r12d
sub edi, dword [rbx + 0xb58]
call fcn.140036780
cmp esi, edi
cmovle edi, esi
mov ecx, dword [rax]
mov eax, dword [rbx + 0xb5c]
sub ecx, edi
sub ecx, r12d
nop
sub eax, 0x7aa45229
add eax, 0x7aa4522d
mov dword [rbx + 0xb58], ecx
cmp ecx, eax
jle 0x140038c0b
mov dword [rbx + 0xb58], eax
jmp 0x140038c61
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.140036780
mov ecx, dword [rbx + 0xb58]
add ecx, r12d
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
neg edx
sub edx, 0xfffffffc
neg edx
cmp ecx, edx
jle 0x140038c61
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.140036780
mov edx, dword [rax]
sub edx, dword [rbx + 0xb60]
sub edx, r12d
nop
add edx, 0x508ee09b
sub edx, 0x508ee09f
mov dword [rbx + 0xb58], edx
mov rcx, qword [rbp - 0x49]
lea rax, [rbp - 0x41]
mov r12, qword [rsp + 0x120]
cmp rcx, rax
jne 0x140038c98
lea rdi, [rbp - 0x41]
xor eax, eax
mov ecx, 0xd302b22
xor ecx, 0xf145d
xor ecx, 0xd3f3f4f
rep stosb byte [rdi], al
jmp 0x140038c9d
call fcn.14007fbb0
mov rdi, qword [rsp + 0x118]
add rsp, 0x2458f9ba
sub rsp, 0x2458f8d2
pop r15
pop rsi
pop rbx
pop rbp
ret