Function at 0x140046573
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, 0x4b53294b
add rsp, 0x4b532873
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], 0x7290ecc
xor qword [rdx + 0x18], 0x50931b93
xor qword [rdx + 0x18], 0x5c8d2ede
sub qword [rdx + 0x18], 0xb373b80
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.14000ed40
mov r8, rax
mov ecx, 0x4c5cb3a
xor ecx, 0x1ad27609
sub ecx, 0x79c43c9
mov r9d, 0x7ce85e39
sub r9d, 0x7bf99ac0
sub r9d, 0xeec27a
test rsi, rsi
je 0x1400465a0
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 0x14004657f
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x140046a55
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x7a8fe8ee
xor edx, 0x20f30f69
sub edx, 0x215a6565
xor edx, 0x39228228
mov rcx, r14
call 0x140096e20
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff2fbffc2a
add r15, 0x31da94ca
sub r15, 0x23a7c6c0
add r15, 0x7fffffff
add r15, 0x420d35cc
test rax, rax
je 0x140046622
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x140046639
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x14004662a
lea rdi, [rbx + 1]
mov eax, 0x56cb51e6
xor eax, 0x3d4e3d94
xor eax, 0x6b856c70
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.140095da0
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.140096f10
cmp byte [r13 + 0x884], 0
je 0x140046710
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.140038af0
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.140033e50
cmp eax, dword [rdi]
jle 0x140046710
mov edx, 0x64f53b10
sub edx, 0x26d5687e
sub edx, 0x3e1fd272
mov rcx, rsi
call fcn.140096fd0
test rax, rax
jne 0x1400466f2
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x1400466d4
cmp rax, 1
jbe 0x1400468fd
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 0x14004668c
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 0x14004672d
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.14000ed40
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x41e62b47
xor edx, 0x6222bc4f
sub edx, 0x6f9a0e9
xor edx, 0xab18f75
popf
mov rdi, r14
jbe 0x1400467b9
mov r8, rsi
mov r9d, 0x437b9905
add r9d, 0x94bb637
sub r9d, 0x4cc74e3d
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 0x140046794
mov rax, qword [r12 + 8]
test rax, rax
je 0x14004693e
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x140046935
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140096260
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x1400468ad
nop
movabs rsi, 0xffffffff6b20e367
sub rsi, 0x196b0c60
add rsi, 0x7fffffff
add rsi, 0x2e4a28c2
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.14000ed40
mov rdi, r13
cmp qword [rbx], r13
jbe 0x14004688d
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 0x140046875
mov rcx, qword [r12 + 8]
inc r15
add rbx, 0x40
cmp r15, rcx
jb 0x140046831
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x140046929
test rcx, rcx
je 0x140046920
xor ebx, ebx
nop
mov rax, qword [r12]
mov rcx, qword [rbx + rax]
lea rdi, [rax + 8]
add rdi, rbx
cmp rcx, rdi
jne 0x140046909
xor eax, eax
mov ecx, 0x6738a2df
xor ecx, 0x4f6d34b1
add ecx, 0x1f4d277b
xor ecx, 0x47a2bdd9
rep stosb byte [rdi], al
jmp 0x14004690e
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x140046713
call fcn.140095ef0
inc r14
sub rbx, 0xffffffffffffffc0
cmp r14, qword [r12 + 8]
jb 0x1400468c5
mov rcx, qword [r12]
call fcn.140095ef0
mov qword [r12], r13
xor r14d, r14d
jmp 0x140046965
mov r13, qword [r12]
jmp 0x140046965
mov r13, qword [r12]
test r13, r13
jne 0x140046965
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140096260
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.14000ed40
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x1400469d9
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 0x1400469c0
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x140046a0e
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x5a4a518f
xor ecx, 0xebfc44b
xor ecx, 0x67f3ee05
xor ecx, 0x33067bf1
rep stosb byte [rdi], al
jmp 0x140046a13
call fcn.140095ef0
mov rcx, rsi
call fcn.140095db0
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140046a49
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x884], 0
je 0x140046a49
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x1400465c1
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 0x140046aa4
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x63405ac2
add ecx, 0x10f7d185
xor ecx, 0x74382c77
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.140095ef0
mov rax, r12
sub rsp, 0x208701b8
add rsp, 0x20870290
pop r14
pop r12
pop rdi
pop rbp
ret