Function at 0x140046f03
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rdi
push r12
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xd8
mov qword [rax - 0x28], rbx
xorps xmm0, xmm0
mov qword [rax - 0x30], rsi
xor r14d, r14d
mov qword [rdx], r14
mov r12, rdx
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], 0x6c05aa3c
sub qword [rdx + 0x18], 0x51227a6
sub qword [rdx + 0x18], 0x5bd43c6d
sub qword [rdx + 0x18], 0xb1f4628
mov rsi, qword [rcx + 0x870]
mov rbx, qword [rcx + 0x838]
mov qword [rax - 0x38], r13
mov r13, rcx
lea rax, [rbp - 0x29]
lea rdx, [rsi + 1]
mov qword [rbp - 0x31], rax
lea rcx, [rbp - 0x31]
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
call fcn.14000ee60
mov r8, rax
mov ecx, 0x2d6db253
add ecx, 0x2de12636
xor ecx, 0xac984a0
mov r9d, 0x3c9cd5d7
xor r9d, 0x6cdb2d68
xor r9d, 0x7a416487
sub r9d, 0x2a069b39
test rsi, rsi
je 0x140046f30
mov rdx, rax
sub rbx, rax
mov rdi, rsi
movzx eax, cx
lea rdx, [rdx + 2]
and ax, r9w
ror ecx, 8
xor ax, word [rbx + rdx - 2]
mov word [rdx - 2], ax
sub rdi, 1
jne 0x140046f0f
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x1400473f1
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x7fc3cb0b
xor edx, 0x4b730327
add edx, 0x408490c2
sub edx, 0x753558e4
mov rcx, r14
call 0x140099600
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff52ad6e81
xor r15, 0x410310f
add r15, 0x7fffffff
add r15, 0x2942a072
test rax, rax
je 0x140046fab
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x140046fc2
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x140046fb3
lea rdi, [rbx + 1]
mov eax, 0x16ab89d7
xor eax, 0x57e3d78d
sub eax, 0x41485e58
mul rdi
cmovb rax, r15
mov rcx, rax
call fcn.1400985f0
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.1400996c0
cmp byte [r13 + 0x88c], 0
je 0x140047099
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.140038dd0
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.1400340e0
cmp eax, dword [rdi]
jle 0x140047099
mov edx, 0x269e105d
xor edx, 0x137f78c9
sub edx, 0x35e16874
mov rcx, rsi
call fcn.140099790
test rax, rax
jne 0x14004707b
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x14004705d
cmp rax, 1
jbe 0x14004728e
dec rax
lea rax, [rsi + rax*2]
mov word [rax], bx
sub rax, rsi
sar rax, 1
lea rax, [r14 + rax*2]
mov qword [rbp + 0x6f], rax
cmp byte [r13 + 0x88c], bl
jne 0x140047015
xor r14d, r14d
xorps xmm0, xmm0
lea rax, [rbp - 0x69]
mov qword [rbp - 0x71], rax
mov rdx, r15
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x1400470b6
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.14000ee60
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x44c26439
sub edx, 0x271ce123
add edx, 0x1059e05
add edx, 0x32dc3b0e
popf
mov rdi, r14
jbe 0x140047149
mov r8, rsi
mov r9d, 0x73d3afd7
sub r9d, 0x44ea70c2
add r9d, 0x24236292
xor r9d, 0x530ca158
sub r8, rax
nop word [rax + rax]
movzx ecx, dx
lea rax, [rax + 2]
and cx, r9w
ror edx, 8
xor cx, word [r8 + rax - 2]
inc rdi
mov word [rax - 2], cx
cmp rdi, qword [rbp - 0x39]
jb 0x140047124
mov rax, qword [r12 + 8]
test rax, rax
je 0x1400472da
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x1400472d1
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400989e0
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x140047244
nop
movabs rsi, 0xffffffff27188e52
xor rsi, 0x44f8d797
sub rsi, 0x4f82f6a
add rsi, 0x7fffffff
xor rsi, 0x2117d592
lea rbx, [rax + 0x38]
sub rsi, rax
xor r13d, r13d
nop dword [rax]
mov r14, qword [r12]
lea rax, [rbx - 0x30]
mov qword [rbx - 0x38], rax
lea rcx, [rbx - 0x38]
xorps xmm0, xmm0
add r14, rsi
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rdx, qword [r14 + rbx + 0x38]
mov qword [rbx], rdx
call fcn.14000ee60
mov rdi, r13
cmp qword [rbx], r13
jbe 0x140047224
nop word [rax + rax]
mov rcx, qword [r14 + rbx]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx]
jb 0x14004720c
mov rcx, qword [r12 + 8]
inc r15
add rbx, 0x40
cmp r15, rcx
jb 0x1400471c8
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x1400472c5
test rcx, rcx
je 0x1400472bc
xor ebx, ebx
nop
mov rax, qword [r12]
mov rcx, qword [rbx + rax]
lea rdi, [rax + 8]
add rdi, rbx
cmp rcx, rdi
jne 0x14004729a
xor eax, eax
mov ecx, 0x68dc87ae
sub ecx, 0x51ad565d
xor ecx, 0x172f3161
rep stosb byte [rdi], al
jmp 0x14004729f
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x14004709c
call fcn.140098730
inc r14
nop
add rbx, 0x6957db65
sub rbx, 0x6957db25
cmp r14, qword [r12 + 8]
jb 0x14004725c
mov rcx, qword [r12]
call fcn.140098730
mov qword [r12], r13
xor r14d, r14d
jmp 0x140047301
mov r13, qword [r12]
jmp 0x140047301
mov r13, qword [r12]
test r13, r13
jne 0x140047301
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400989e0
mov r13, rax
mov qword [r12], rax
mov rax, qword [r12 + 8]
xorps xmm0, xmm0
mov rbx, rax
shl rbx, 6
add rbx, r13
inc rax
mov rcx, rbx
mov qword [r12 + 8], rax
lea rax, [rbx + 8]
mov qword [rbx], rax
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
mov rax, qword [rbp - 0x39]
mov qword [rbx + 0x38], rax
mov rdx, qword [rbp - 0x39]
call fcn.14000ee60
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x140047375
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp - 0x71]
movzx edx, word [rcx + rdi*2]
mov word [rax + rdi*2], dx
inc rdi
cmp rdi, qword [rbx + 0x38]
jb 0x14004735c
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x1400473aa
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x78e912c7
sub ecx, 0xb21566f
sub ecx, 0x4e619196
sub ecx, 0x1f662a92
rep stosb byte [rdi], al
jmp 0x1400473af
call fcn.140098730
mov rcx, rsi
call fcn.140098600
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x1400473e5
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x88c], 0
je 0x1400473e5
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x140046f51
mov r14, qword [rbp - 0x31]
mov r15, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
lea rax, [rbp - 0x29]
mov rsi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
cmp r14, rax
jne 0x14004744d
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x4cd515c9
add ecx, 0x309001b0
sub ecx, 0x3622d77f
xor ecx, 0x47423fca
rep stosb byte [rdi], al
mov rax, r12
add rsp, 0x5fb1232a
sub rsp, 0x5fb12252
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.140098730
mov rax, r12
sub rsp, 0x40b1f57e
add rsp, 0x40b1f656
pop r14
pop r12
pop rdi
pop rbp
ret