Function at 0x140047a30
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], 0x7ac4fa57
sub qword [rdx + 0x18], 0x29b6d2b2
xor qword [rdx + 0x18], 0x5c52d9e4
sub qword [rdx + 0x18], 0xd5cfe40
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.14000ee10
mov r8, rax
mov ecx, 0x4583d30
add ecx, 0x3e4e199a
sub ecx, 0x22fe36f2
sub ecx, 0x4f7cfc1
mov r9d, 0x2d7b47f2
add r9d, 0xfd3266a
sub r9d, 0x3d4e6d5d
test rsi, rsi
je 0x1400476cf
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 0x1400476ae
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x31]
cmp word [r14], 0
je 0x140047b89
mov qword [rsp + 0xb8], r15
nop dword [rax + rax]
mov edx, 0x8a73bc1
add edx, 0x2ac66678
xor edx, 0x444c6ac6
sub edx, 0x7721c8f5
mov rcx, r14
call 0x14009a140
mov qword [rbp + 0x6f], rax
nop
movabs r15, 0xffffffff375bf0d0
xor r15, 0x2f89baf9
add r15, 0x26bda1d4
add r15, 0x7fffffff
xor r15, 0x40701403
test rax, rax
je 0x140047751
mov rbx, rax
sub rbx, r14
sar rbx, 1
jmp 0x140047768
mov rbx, r15
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x140047759
lea rdi, [rbx + 1]
mov eax, 0x500e8fe4
sub eax, 0x7025680
sub eax, 0x32d04772
sub eax, 0x163bf1f0
mul rdi
cmovo rax, r15
mov rcx, rax
call fcn.140099070
mov r9, rbx
mov qword [rbp + 0x7f], rax
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rsi, rax
call fcn.14009a230
cmp byte [r13 + 0x88c], 0
je 0x14004784a
xor ebx, ebx
nop word [rax + rax]
lea rdx, [rbp + 7]
mov rcx, r13
call fcn.140039770
mov rcx, qword [rbp + 0x77]
mov rdx, rsi
mov rdi, rax
call fcn.1400348c0
cmp eax, dword [rdi]
jle 0x14004784a
mov edx, 0x616fe549
xor edx, 0x32f440d2
xor edx, 0x11f7b08f
sub edx, 0x426c14f4
mov rcx, rsi
call fcn.14009a300
test rax, rax
jne 0x14004782c
mov rax, r15
inc rax
cmp word [rsi + rax*2], bx
jne 0x14004780e
cmp rax, 1
jbe 0x140047a37
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 0x1400477c0
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 0x140047867
lea rcx, [rbp - 0x71]
mov qword [rbp - 0x39], rdx
call fcn.14000ee10
cmp qword [rbp - 0x39], 0
pushf
mov edx, 0x60e5d70d
sub edx, 0x23321365
sub edx, 0x92296a1
xor edx, 0x2e217d10
popf
mov rdi, r14
jbe 0x1400478f3
mov r8, rsi
mov r9d, 0x4f20d04e
sub r9d, 0xa1ee090
xor r9d, 0x4501ef41
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 0x1400478ce
mov rax, qword [r12 + 8]
test rax, rax
je 0x140047a78
mov rcx, qword [r12 + 0x10]
cmp rax, rcx
jb 0x140047a6f
add rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140099540
mov rcx, qword [r12 + 8]
mov r13, rax
mov qword [rbp - 0x79], rax
mov r15, r14
test rcx, rcx
je 0x1400479ed
nop
movabs rsi, 0xffffffff61575efd
sub rsi, 0x2e13edbe
add rsi, 0x7fffffff
xor rsi, 0x4cbc8ef6
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.14000ee10
mov rdi, r13
cmp qword [rbx], r13
jbe 0x1400479c7
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 0x1400479af
mov rcx, qword [r12 + 8]
inc r15
neg rbx
add rbx, 0xffffffffffffffc0
neg rbx
cmp r15, rcx
jb 0x14004796b
mov rsi, qword [rbp + 0x7f]
xor r14d, r14d
mov r13, qword [rbp - 0x79]
cmp qword [r12], 0
je 0x140047a63
test rcx, rcx
je 0x140047a5a
xor ebx, ebx
nop
mov rax, qword [r12]
mov rcx, qword [rbx + rax]
lea rdi, [rax + 8]
add rdi, rbx
cmp rcx, rdi
jne 0x140047a43
xor eax, eax
mov ecx, 0x2af6310c
xor ecx, 0x3b014950
xor ecx, 0x11f7786c
rep stosb byte [rdi], al
jmp 0x140047a48
xor r14d, r14d
mov qword [rbp + 0x6f], r14
jmp 0x14004784d
call fcn.140099240
inc r14
sub rbx, 0xffffffffffffffc0
cmp r14, qword [r12 + 8]
jb 0x140047a05
mov rcx, qword [r12]
call fcn.140099240
mov qword [r12], r13
xor r14d, r14d
jmp 0x140047a9f
mov r13, qword [r12]
jmp 0x140047a9f
mov r13, qword [r12]
test r13, r13
jne 0x140047a9f
mov rcx, qword [r12 + 0x18]
mov qword [r12 + 0x10], rcx
shl rcx, 6
call fcn.140099540
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.14000ee10
cmp qword [rbx + 0x38], 0
mov rdi, r14
jbe 0x140047b13
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 0x140047afa
mov rcx, qword [rbp - 0x71]
lea rax, [rbp - 0x69]
cmp rcx, rax
jne 0x140047b42
lea rdi, [rbp - 0x69]
xor eax, eax
mov ecx, 0x607cdf66
add ecx, 0x13b79c03
xor ecx, 0x74347b59
rep stosb byte [rdi], al
jmp 0x140047b47
call fcn.140099240
mov rcx, rsi
call fcn.140099080
mov rax, qword [rbp + 0x6f]
test rax, rax
je 0x140047b7d
mov r13, qword [rbp + 0x67]
cmp byte [r13 + 0x88c], 0
je 0x140047b7d
cmp word [rax + 2], 0
lea r14, [rax + 2]
jne 0x1400476f0
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 0x140047be5
xor eax, eax
lea rdi, [rbp - 0x29]
mov ecx, 0x2fa577df
sub ecx, 0x1d41c9
xor ecx, 0xaa2ddae
sub ecx, 0x252aeb88
rep stosb byte [rdi], al
mov rax, r12
add rsp, 0x22d6187
sub rsp, 0x22d60af
pop r14
pop r12
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.140099240
mov rax, r12
sub rsp, 0xffffffffffffff28
pop r14
pop r12
pop rdi
pop rbp
ret