Function at 0x14047e380
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rsi
mov r13, r13
xchg rdi, r12
mov qword [rsp + 0x20], r12
xchg rdi, r12
nop
push r9
mov qword [rsp], rbp
lea rbp, [rsp - 0x360]
neg rsp
sub rsp, 0xfffffffffffffba0
neg rsp
mov eax, edx
movzx edi, r8b
xchg r12, rsi
mov r12, rcx
xchg r12, rsi
lea rdx, [rbp + 0x150]
mov r8, r8
mov ecx, eax
mov r8d, 0x614e0dae
sub r8d, 0xf204278
sub r8d, 0x48ff5281
xor r8d, 0x92e79b1
call fcn.140079d40
test al, al
mov dword [rsp - 0x2c], 0x5fffe1c2
je 0x14047ea94
xchg r8, rbx
mov qword [rsp + 0x470], r8
xchg r8, rbx
mov qword [rsp + 0x478], r14
test dil, dil
mov rsi, rsi
jne 0x14047e754
mov edx, 0x37206cac
sub edx, 0x14f51a28
add edx, 0x24d040bb
xor edx, 0x1c7b8bf6
sub edx, 0x5a80186d
lea rcx, [rbp + 0x150]
call fcn.140097690
xchg rdi, rdi
mov rdi, rax
test rax, rax
je 0x14047e46b
xchg r10, r10
nop
add rdi, 0x20c1069a
sub rdi, 0x20c10698
jmp 0x14047e475
lea rdi, [rbp + 0x150]
mov r15, r15
lea rax, [rsp + 0x38]
xor edx, edx
mov r8d, 0x1d59404f
xor r8d, 0x4b0f9dfc
sub r8d, 0x1da72eaf
sub r8d, 0xb4d293a
xor r8d, 0x2d6284ca
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x38]
mov rbx, rbx
call fcn.140096bf0
nop
movabs rbx, 0xffffffff0853a0fd
add rbx, 0x47c936ac
xor rbx, 0x56129521
add rbx, 0x7fffffff
add rbx, 0x79f1bd78
xchg rbx, rax
mov rbx, rax
xchg rbx, rax
inc rax
cmp word [rdi + rax*2], 0
jne 0x14047e4de
xchg r10, r10
xchg r13, rcx
mov r13, qword [rsp + 0x30]
xchg r13, rcx
lea r14, [rax + 1]
mov r11, r11
xchg rsp, rax
mov qword [rbp + 0x38], rsp
xchg rsp, rax
lea rax, [rsp + 0x38]
cmp rcx, rax
xchg r11, r11
je 0x14047e51f
call fcn.1400966a0
cmp r14, 0x80
mov rcx, rcx
jbe 0x14047e56f
lea rcx, [r14 + r14]
call fcn.140096970
mov dword [rsp - 0x2c], 0x18e8f797
xchg r12, rax
mov qword [rsp + 0x30], r12
xchg r12, rax
test rax, rax
jne 0x14047e58a
mov dword [rsp - 0x38], 0xfc9e2b4
lea r14, [rsp + 0x38]
xchg r12, r14
mov qword [rsp + 0x30], r12
xchg r12, r14
jmp 0x14047e604
lea rax, [rsp + 0x38]
xchg r13, rax
mov qword [rsp + 0x30], r13
xchg r13, rax
lea rax, [rsp + 0x38]
mov dword [rsp - 0x24], 0x782cd0bc
xor edx, edx
mov r8d, 0x25233bd5
add r8d, 0x12ecc2b9
sub r8d, 0xfb14607
sub r8d, 0x285eb787
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
call fcn.140096bf0
mov dword [rsp - 0x2c], 0x7d0101cd
xchg r14, r8
mov r8, qword [rsp + 0x30]
xchg r14, r8
test r14, r14
je 0x14047e604
xchg r9, r8
mov r8, qword [rbp + 0x38]
xchg r8, r9
mov r8, rdi
xchg rbp, rbp
xchg rcx, r14
mov r14, rcx
xchg rcx, r14
lea rdx, [r9 + 1]
mov dword [rsp - 0x14], 0xaf693c3
call fcn.1400975c0
xchg r8, r14
mov r8, qword [rsp + 0x30]
xchg r8, r14
xorps xmm0, xmm0
mov rsp, rsp
lea rdi, [rbp + 0x150]
xor eax, eax
mov ecx, 0x7b071205
xor ecx, 0x252fdd2b
sub ecx, 0x159dc30b
xor ecx, 0x488b0e2b
rep stosb byte [rdi], al
mov r8, r8
lea rax, [rsi + 8]
mov qword [rsi], rax
xchg r10, rax
movups xmmword [r10], xmm0
xchg r10, rax
xchg r8, rax
movups xmmword [r8 + 0x10], xmm0
xchg r8, rax
xchg r13, rax
movups xmmword [r13 + 0x20], xmm0
xchg r13, rax
nop dword [rax + rax]
mov dword [rsp - 0xc], ebx
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x14047e65c
mov dword [rsp - 0x1c], ebp
xchg rdx, rbx
mov rbx, rdx
xchg rbx, rdx
xchg rdx, rbx
mov qword [rsi + 0x38], rdx
xchg rdx, rbx
mov rcx, rsi
call fcn.14000ed40
mov dword [rsp - 0x10], 0x3ab92ec6
xor edx, edx
mov r8, rax
mov edi, 0x3a11960b
add edi, 0xfb9d796
add edi, 0x122afbb5
xor edi, 0x2a4e363b
cmp qword [rsi + 0x38], rdx
mov dword [rsp - 0x3c], 0x436ad259
jbe 0x14047e726
sub r14, rax
mov r9d, 0x6c7c31f9
sub r9d, 0x14eff91e
sub r9d, 0x451c94bc
xor r9d, 0x126fa4e0
nop dword [rax]
nop word [rax + rax]
mov dword [rsp - 0x28], ebp
movzx eax, di
lea r8, [r8 + 2]
and ax, r9w
mov dword [rsp - 0x34], ebp
ror edi, 3
ror edi, 3
ror edi, 1
ror edi, 1
xor ax, word [r14 + r8 - 2]
inc rdx
mov r8, r8
mov word [r8 - 2], ax
cmp rdx, qword [rsi + 0x38]
jb 0x14047e6ef
xchg rdx, rdx
xchg r13, rcx
mov r13, qword [rsp + 0x30]
xchg rcx, r13
lea rax, [rsp + 0x38]
mov rcx, rcx
cmp rcx, rax
jne 0x14047ea87
lea rdi, [rsp + 0x38]
mov dword [rsp - 0x44], 0x14374201
jmp 0x14047ea12
lea rax, [rbp + 0x48]
xor edx, edx
mov r8d, 0x145c937b
xor r8d, 0x36dcbae7
add r8d, 0x84e7461
sub r8d, 0x2ace9cfd
xchg r9, rax
mov qword [rbp + 0x40], r9
xchg r9, rax
lea rcx, [rbp + 0x48]
call fcn.140096bf0
nop
movabs rbx, 0xffffffff3e1adb1d
add rbx, 0x3d342afc
sub rbx, 0x4514d2b0
add rbx, 0x7fffffff
add rbx, 0x49c5cc97
lea rcx, [rbp + 0x150]
xchg r15, rax
mov r15, rbx
xchg r15, rax
nop dword [rax]
mov dword [rsp - 0x18], 0x66a36179
inc rax
cmp word [rcx + rax*2], 0
jne 0x14047e7ca
mov rbx, rbx
mov rcx, qword [rbp + 0x40]
lea rdi, [rax + 1]
xchg rsi, rax
mov qword [rbp + 0x148], rsi
xchg rsi, rax
lea rax, [rbp + 0x48]
cmp rcx, rax
mov dword [rsp - 0x44], esi
je 0x14047e804
call fcn.1400966a0
cmp rdi, 0x80
mov dword [rsp - 0x18], 0x7d2cdfb
jbe 0x14047e849
lea rcx, [rdi + rdi]
call fcn.140096970
mov qword [rbp + 0x40], rax
mov dword [rsp - 0x30], ebx
test rax, rax
jne 0x14047e859
lea r14, [rbp + 0x48]
mov rbp, rbp
xchg r14, rdx
mov qword [rbp + 0x40], rdx
xchg rdx, r14
jmp 0x14047e8d8
lea rax, [rbp + 0x48]
xchg rcx, rax
mov qword [rbp + 0x40], rcx
xchg rcx, rax
lea rax, [rbp + 0x48]
xor edx, edx
mov dword [rsp - 0x34], esp
mov r8d, 0x4b0939b7
sub r8d, 0x281a3878
xor r8d, 0x2522ffe
add r8d, 0x1fbc4cb
xor r8d, 0x22b8f28c
mov rcx, rax
call fcn.140096bf0
mov rbp, rbp
xchg r14, rsi
mov rsi, qword [rbp + 0x40]
xchg r14, rsi
test r14, r14
xchg rbp, rbp
je 0x14047e8d8
xchg r9, r10
mov r10, qword [rbp + 0x148]
xchg r9, r10
lea r8, [rbp + 0x150]
mov dword [rsp - 0x24], edi
xchg rbp, r14
mov rcx, rbp
xchg rbp, r14
lea rdx, [r9 + 1]
mov dword [rsp - 0x20], 0x22512265
call fcn.1400975c0
mov r14, qword [rbp + 0x40]
xorps xmm0, xmm0
lea rdi, [rbp + 0x150]
mov dword [rsp - 0x44], ebx
xor eax, eax
mov ecx, 0x7f240dcc
sub ecx, 0x243451e3
xor ecx, 0x4a22649f
sub ecx, 0x10cddd6e
rep stosb byte [rdi], al
xchg rdx, rdx
lea rax, [rsi + 8]
mov qword [rsi], rax
xchg r9, rax
movups xmmword [r9], xmm0
xchg r9, rax
xchg r10, rax
movups xmmword [r10 + 0x10], xmm0
xchg r10, rax
movups xmmword [rax + 0x20], xmm0
inc rbx
xchg rcx, rcx
cmp word [r14 + rbx*2], 0
jne 0x14047e920
xchg r15, rbx
mov rdx, r15
xchg rbx, r15
xchg rbp, rbx
mov qword [rsi + 0x38], rbp
xchg rbp, rbx
mov rcx, rsi
call fcn.14000ed40
mov rcx, rcx
xor edx, edx
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
mov edi, 0x57eab040
xor edi, 0x66c3c47d
add edi, 0x253a0a97
add edi, 0xbff7092
add edi, 0xf557007
cmp qword [rsi + 0x38], rdx
jbe 0x14047e9ef
mov dword [rsp - 0x34], 0x22f217ef
sub r14, rax
mov r9d, 0x3bde8cd0
xor r9d, 0x49e4e782
sub r9d, 0x3370cfe0
xor r9d, 0x3ec99b8d
nop word [rax + rax]
mov rbx, rbx
movzx eax, di
lea rcx, [rcx + 2]
and ax, r9w
mov dword [rsp - 0x1c], 0x54b00393
ror edi, 5
ror edi, 2
ror edi, 1
xor ax, word [r14 + rcx - 2]
mov r12, r12
inc rdx
mov word [rcx - 2], ax
cmp rdx, qword [rsi + 0x38]
mov dword [rsp - 0x28], 0x432e87dd
jb 0x14047e9b2
xchg rdi, rcx
mov rdi, qword [rbp + 0x40]
xchg rdi, rcx
lea rax, [rbp + 0x48]
cmp rcx, rax
jne 0x14047ea87
mov dword [rsp - 0x3c], 0x72f84885
lea rdi, [rbp + 0x48]
xor eax, eax
mov ecx, 0x5436b8bd
xor ecx, 0x5f27b70d
add ecx, 0xf487591
sub ecx, 0x1a598441
rep stosb byte [rdi], al
mov dword [rsp - 0x18], edx
mov rbx, qword [rsp + 0x470]
xchg rcx, r14
mov rcx, qword [rsp + 0x478]
xchg r14, rcx
lea r11, [rsp + 0x460]
mov dword [rsp - 0x1c], 0x3975a179
xchg rdx, rsi
mov rax, rdx
xchg rsi, rdx
xchg rsi, r13
mov r13, qword [r11 + 0x20]
xchg r13, rsi
xchg r12, rdi
mov r12, qword [r11 + 0x28]
xchg r12, rdi
xchg r11, r8
mov rsp, r8
xchg r11, r8
nop
mov rbp, qword [rsp]
add rsp, 8
ret
call fcn.1400966a0
mov r11, r11
jmp 0x14047ea31
lea rdi, [rsi + 8]
mov dword [rsp + 0x20], 0x60dadfe0
sub dword [rsp + 0x20], 0x40b2cdf8
xor dword [rsp + 0x20], 0x67516091
sub dword [rsp + 0x20], 0x360c20e5
add dword [rsp + 0x20], 0x968d9bd
mov qword [rsi], rdi
xchg r8, r8
xorps xmm0, xmm0
xchg rdi, rdx
movups xmmword [rdx], xmm0
xchg rdi, rdx
mov dword [rsp + 0x24], 0x692d32f1
xor dword [rsp + 0x24], 0x79b2bec8
add dword [rsp + 0x24], 0x5fdf83d8
sub dword [rsp + 0x24], 0x50afe00e
xchg r10, rdi
movups xmmword [r10 + 0x10], xmm0
xchg rdi, r10
mov byte [rsp + 0x28], 0xa
add byte [rsp + 0x28], 0x67
sub byte [rsp + 0x28], 1
xor byte [rsp + 0x28], 0x1d
xor byte [rsp + 0x28], 0x3e
xchg rdi, r10
movups xmmword [r10 + 0x20], xmm0
xchg r10, rdi
mov qword [rsi + 0x38], 0x586267aa
sub qword [rsi + 0x38], 0x6e91e89
sub qword [rsi + 0x38], 0x3e7c3966
xor qword [rsi + 0x38], 0x12fd0fb2
mov rcx, qword [rsi]
cmp rcx, rdi
mov rbx, rbx
je 0x14047eb55
call fcn.1400966a0
xchg rdi, rcx
mov qword [rsi], rcx
xchg rdi, rcx
xorps xmm0, xmm0
mov dword [rsp - 0x1c], 0x22f32c78
xchg r12, rdi
movups xmmword [r12], xmm0
xchg rdi, r12
xor edx, edx
mov r14, r14
xchg rdi, rcx
movups xmmword [rcx + 0x10], xmm0
xchg rcx, rdi
xchg rdi, rbp
movups xmmword [rbp + 0x20], xmm0
xchg rdi, rbp
xchg r10, rcx
mov r10, qword [rsi]
xchg rcx, r10
cmp qword [rsi + 0x38], rdx
jbe 0x14047ea47
nop word [rax + rax]
xchg rsp, rsp
movzx eax, byte [rsp + rdx + 0x20]
mov word [rcx + rdx*2], ax
inc rdx
cmp rdx, qword [rsi + 0x38]
mov dword [rsp - 0x14], 0x7a32d139
jb 0x14047ebae
jmp 0x14047ea47