Function at 0x140043790
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbp
push rdi
push r14
push r15
lea rbp, [rax - 0x5f]
neg rsp
sub rsp, 0xffffffffffffff48
neg rsp
mov qword [rax + 0x18], rbx
xorps xmm0, xmm0
mov qword [rax - 0x28], rsi
xor r14d, r14d
mov qword [rdx], r14
mov r15, rdx
mov qword [rdx + 8], r14
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], 0x51b5f737
sub qword [rdx + 0x18], 0x40c5b7dc
add qword [rdx + 0x18], 0x3678bf6d
xor qword [rdx + 0x18], 0x4768fec9
mov rsi, qword [rcx + 0x868]
mov rbx, qword [rcx + 0x830]
mov qword [rax - 0x30], r12
mov r12, r8
mov qword [rax - 0x38], r13
mov r13, rcx
lea rax, [rbp - 0x51]
lea rdx, [rsi + 1]
mov qword [rbp - 0x59], rax
lea rcx, [rbp - 0x59]
movups xmmword [rbp - 0x51], xmm0
movups xmmword [rbp - 0x41], xmm0
movups xmmword [rbp - 0x31], xmm0
call fcn.1400166e8
mov r8, rax
mov ecx, 0x7578fe78
xor ecx, 0x1581b832
sub ecx, 0x5ef5807f
xor ecx, 0x482a8b17
mov r9d, 0x7a833716
xor r9d, 0x5181e65
sub r9d, 0x78573ab
sub r9d, 0x7815b4c9
test rsi, rsi
je 0x14004389a
mov rdx, rax
sub rbx, rax
mov rdi, rsi
nop word [rax + rax]
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 0x140043879
mov word [r8 + rsi*2], r14w
mov r14, qword [rbp - 0x59]
cmp word [r14], 0
je 0x140043b8b
nop
movabs rbx, 0xffffffff67b65d4e
sub rbx, 0x122f6691
xor rbx, 0x203fc98b
add rbx, 0x7fffffff
xor rbx, 0xa46c0ca
nop dword [rax + rax]
mov edx, 0x5ead922c
sub edx, 0x2c052bd3
add edx, 0x2d596a8a
sub edx, 0x6001d0d9
mov rcx, r14
call 0x140084d80
mov r15, rax
test rax, rax
je 0x140043916
mov rsi, rax
sub rsi, r14
sar rsi, 1
jmp 0x140043928
mov rsi, rbx
inc rsi
cmp word [r14 + rsi*2], 0
jne 0x140043919
lea rdi, [rsi + 1]
mov eax, 0x64fcf7f0
sub eax, 0x1b175eb5
xor eax, 0x150be284
xor eax, 0x5cee7bbd
mul rdi
cmovo rax, rbx
mov rcx, rax
call fcn.140083d30
mov r9, rsi
mov r8, r14
mov rdx, rdi
mov rcx, rax
mov rbx, rax
call fcn.140084e70
cmp byte [r13 + 0x880], 0
je 0x140043a27
lea rdx, [rbp + 0x67]
mov rcx, r13
call fcn.14003a0f0
mov rdx, rbx
mov rcx, r12
mov rdi, rax
call fcn.140035edc
cmp eax, dword [rdi]
jle 0x140043a27
mov edx, 0x6e8ffc85
sub edx, 0x5da62afc
sub edx, 0x10e9d169
mov rcx, rbx
call fcn.140084f40
test rax, rax
jne 0x1400439fc
nop
movabs rax, 0xffffffff06cbe8cb
add rax, 0x3dc1bf0e
sub rax, 0x3d2d33a5
add rax, 0x7fffffff
add rax, 0x789f8bcc
nop dword [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x1400439dd
cmp rax, 1
jbe 0x140043a1d
dec rax
lea rax, [rbx + rax*2]
xor edi, edi
mov word [rax], di
sub rax, rbx
sar rax, 1
lea r15, [r14 + rax*2]
cmp byte [r13 + 0x880], dil
jne 0x140043971
jmp 0x140043a29
xor edi, edi
mov r15d, edi
jmp 0x140043a29
xor edi, edi
xorps xmm0, xmm0
lea rax, [rbp - 0x19]
mov qword [rbp - 0x21], rax
nop
movabs rdx, 0xffffffff453522e4
xor rdx, 0x550436e1
add rdx, 0x7fffffff
add rdx, 0x6fceebfb
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm0
nop dword [rax + rax]
inc rdx
cmp word [rbx + rdx*2], 0
jne 0x140043a68
lea rcx, [rbp - 0x21]
mov qword [rbp + 0x17], rdx
call fcn.1400166e8
cmp qword [rbp + 0x17], 0
pushf
mov edx, 0x65c55d46
sub edx, 0x1be28d42
add edx, 0x467ed8
popf
jbe 0x140043aea
mov r8, rbx
mov r9d, 0x2b322366
sub r9d, 0x45c080d
add r9d, 0x6dbb2e9
sub r9d, 0x2db1cd43
sub r8, rax
nop
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 + 0x17]
jb 0x140043ac5
mov rcx, qword [rbp + 0x6f]
lea rdx, [rbp - 0x21]
call fcn.140043210
mov rcx, qword [rbp - 0x21]
lea rax, [rbp - 0x19]
cmp rcx, rax
jne 0x140043b2c
lea rdi, [rbp - 0x19]
xor eax, eax
mov ecx, 0x3234e77
add ecx, 0x34f5274e
sub ecx, 0x1bdecf59
xor ecx, 0x1c39a65c
rep stosb byte [rdi], al
jmp 0x140043b31
call fcn.140083f00
mov rcx, rbx
call fcn.140083d40
test r15, r15
je 0x140043b83
cmp byte [r13 + 0x880], 0
je 0x140043b83
cmp word [r15 + 2], 0
lea r14, [r15 + 2]
pushf
movabs rbx, 0xffffffff7aabba54
xor rbx, 0x62617923
add rbx, 0x7fffffff
xor rbx, 0x67353c89
popf
jne 0x1400438dd
mov r14, qword [rbp - 0x59]
mov r15, qword [rbp + 0x6f]
mov r13, qword [rsp + 0xa0]
lea rax, [rbp - 0x51]
mov r12, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xf0]
cmp r14, rax
jne 0x140043be9
xor eax, eax
lea rdi, [rbp - 0x51]
mov ecx, 0x6091f5e5
sub ecx, 0x50c0a1b2
sub ecx, 0xfd15403
rep stosb byte [rdi], al
mov rax, r15
add rsp, 0x55079758
sub rsp, 0x550796a0
pop r15
pop r14
pop rdi
pop rbp
ret
mov rcx, r14
call fcn.140083f00
mov rax, r15
add rsp, 0xb8
pop r15
pop r14
pop rdi
pop rbp
ret