Function at 0x140046c40
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]
add rsp, 0xffffffffffffff28
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], 0x4c3ea498
xor qword [rdx + 0x18], 0x76939f3d
sub qword [rdx + 0x18], 0x3aad3ba4
mov rsi, qword [rcx + 0x868]
mov rbx, qword [rcx + 0x830]
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.14000ed30
mov r8, rax
mov ecx, 0x57a06aec
sub ecx, 0x51b89b61
sub ecx, 0xf4670a
mov r9d, 0x71ef80e7
sub r9d, 0x5563f1da
xor r9d, 0x12b32e53
sub r9d, 0xe38a05f
test rsi, rsi
je 0x1400468d8
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 0x1400468b7
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x140046d81
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x1d5686c3
add edx, 0x5139f23b
sub edx, 0x4381cc9
sub edx, 0x6a585c2b
mov rcx, r14
call 0x140097070
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff0abf45bd
add r15, 0x3d6281ea
add r15, 0x7fffffff
add r15, 0x37de3859
test rax, rax
je 0x140046953
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x14004696a
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x14004695b
lea rdi, [rbx + 1]
mov eax, 0x66855ad9
sub eax, 0x2d028e61
sub eax, 0x3982cc76
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.140096050
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.140097150
cmp byte [r13 + 0x884], 0
je 0x140046a41
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.140039090
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.1400344a0
cmp eax, dword [rdi]
jle 0x140046a41
mov edx, 0x1757568c
add edx, 0x2948773a
sub edx, 0x409fcda6
mov rcx, rsi
call fcn.140097220
test rax, rax
jne 0x140046a23
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x140046a05
cmp rax, 1
jbe 0x140046c2f
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 + 0x884], bl
jne 0x1400469bd
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 0x140046a5e
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.14000ed30
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x121221ce
add edx, 0x3659a6bc
add edx, 0x287623f1
sub edx, 0x6bee83fa
popf
mov rdi, r14
jbe 0x140046af1
mov r8, rsi
mov r9d, 0x2c7d72c
xor r9d, 0x4ec0b4bc
xor r9d, 0x342ba9a0
sub r9d, 0x782cc931
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 0x140046acc
mov rax, qword [r12 + 8]
test rax, rax
je 0x140046c70
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x140046c67
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400964f0
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x140046be5
nop
movabs rsi, 0xffffffff0f92b3e0
add rsi, 0x655e26ac
add rsi, 0x7fffffff
add rsi, 0xb0f253d
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.14000ed30
mov rdi, r13
cmp qword [rbx], r13
jbe 0x140046bc5
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 0x140046bad
mov rcx, qword [r12 + 8]
inc r15
sub rbx, 0xffffffffffffffc0
cmp r15, rcx
jb 0x140046b69
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x140046c5b
test rcx, rcx
je 0x140046c52
xor ebx, ebx
nop
mov rax, qword [r12]
mov rcx, qword [rbx + rax]
lea rdi, [rax + 8]
add rdi, rbx
cmp rcx, rdi
jne 0x140046c3b
xor eax, eax
mov ecx, 0x1dad0853
add ecx, 0x4a6ef0a3
sub ecx, 0x681bf8c6
rep stosb byte [rdi], al
jmp 0x140046c40
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x140046a44
call fcn.140096230
inc r14
add rbx, 0x40
cmp r14, qword [r12 + 8]
jb 0x140046bfd
mov rcx, qword [r12]
call fcn.140096230
mov qword [r12], r13
xor r14d, r14d
jmp 0x140046c97
mov r13, qword [r12]
jmp 0x140046c97
mov r13, qword [r12]
test r13, r13
jne 0x140046c97
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.1400964f0
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.14000ed30
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x140046d0b
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 0x140046cf2
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x140046d3a
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x1c35ae68
add ecx, 0x1df25fab
sub ecx, 0x3a280de3
rep stosb byte [rdi], al
jmp 0x140046d3f
call fcn.140096230
mov rcx, rsi
call fcn.140096060
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140046d75
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x140046d75
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x1400468f9
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 0x140046dd6
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x83ecd9f
xor ecx, 0x77e460fe
sub ecx, 0x419c53eb
sub ecx, 0x3e3e5946
rep stosb byte [rdi], al
mov rax, r12
sub rsp, 0xffffffffffffff28
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.140096230
mov rax, r12
neg rsp
add rsp, 0xffffffffffffff28
neg rsp
pop r14
pop r12
pop rdi
pop rbp
ret