Function at 0x14047da70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov dword [rsp - 0x28], esp
push rbp
lea rbp, [rsp - 0x360]
neg rsp
sub rsp, 0xfffffffffffffba0
neg rsp
mov eax, edx
mov dword [rsp - 0x30], esp
movzx edi, r8b
xchg r11, rcx
mov rsi, r11
xchg r11, rcx
lea rdx, [rbp + 0x150]
mov ecx, eax
mov r8d, 0x74dd2ef8
sub r8d, 0x122bc1db
sub r8d, 0x19e7dcff
sub r8d, 0x48c98f1a
call fcn.140079d30
test al, al
mov dword [rsp - 0x24], esi
je 0x14047e125
mov qword [rsp + 0x470], rbx
xchg r12, r14
mov qword [rsp + 0x478], r12
xchg r14, r12
test dil, dil
xchg rbp, rbp
jne 0x14047de09
mov edx, 0x22dd57b9
add edx, 0x29758987
add edx, 0x29de7073
xor edx, 0x763151ef
lea rcx, [rbp + 0x150]
xchg r13, r13
call fcn.140097220
xchg rdi, rax
mov rax, rdi
xchg rdi, rax
test rax, rax
je 0x14047db50
mov dword [rsp - 0x3c], 0x5e24a7c1
nop
add rdi, 0x4b1420ea
sub rdi, 0x4b1420e8
jmp 0x14047db57
lea rdi, [rbp + 0x150]
lea rax, [rsp + 0x38]
xor edx, edx
mov dword [rsp - 0x3c], ecx
mov r8d, 0x107bf96b
xor r8d, 0x3665abc4
sub r8d, 0x42943c4
add r8d, 0x15ad62f2
sub r8d, 0x37a270dd
xchg rcx, rax
mov qword [rsp + 0x30], rcx
xchg rcx, rax
lea rcx, [rsp + 0x38]
call fcn.140096790
xchg r13, r13
nop
movabs rbx, 0xffffffff31bbe593
add rbx, 0x2ff3246e
sub rbx, 0x410981dc
add rbx, 0x7fffffff
add rbx, 0x5f5a77db
mov rax, rbx
inc rax
mov dword [rsp - 0x28], ecx
cmp word [rdi + rax*2], 0
jne 0x14047dbc4
xchg r11, rcx
mov r11, qword [rsp + 0x30]
xchg rcx, r11
lea r14, [rax + 1]
mov dword [rsp - 0x30], esi
xchg r9, rax
mov qword [rbp + 0x38], r9
xchg r9, rax
lea rax, [rsp + 0x38]
cmp rcx, rax
je 0x14047dc07
xchg r8, r8
call fcn.140096230
cmp r14, 0x80
jbe 0x14047dc47
lea rcx, [r14 + r14]
mov rsi, rsi
call fcn.1400964f0
mov qword [rsp + 0x30], rax
test rax, rax
jne 0x14047dc5d
mov dword [rsp - 0x1c], edx
lea r14, [rsp + 0x38]
xchg r14, r12
mov qword [rsp + 0x30], r12
xchg r12, r14
jmp 0x14047dccf
lea rax, [rsp + 0x38]
xchg r8, rax
mov qword [rsp + 0x30], r8
xchg r8, rax
lea rax, [rsp + 0x38]
xchg r10, r10
xor edx, edx
mov r8d, 0x22b8560d
sub r8d, 0x1f80b74b
xor r8d, 0x1e7ed43b
sub r8d, 0x1d4949f9
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
call fcn.140096790
xchg r14, rcx
mov rcx, qword [rsp + 0x30]
xchg r14, rcx
test r14, r14
mov dword [rsp - 0x20], 0x6778dc7a
je 0x14047dccf
xchg rsi, r9
mov rsi, qword [rbp + 0x38]
xchg r9, rsi
xchg r8, r10
mov r10, rdi
xchg r8, r10
xchg r9, rcx
mov r9, r14
xchg r9, rcx
lea rdx, [r9 + 1]
call fcn.140097150
mov r14, qword [rsp + 0x30]
xchg r11, r11
xorps xmm0, xmm0
lea rdi, [rbp + 0x150]
xor eax, eax
mov ecx, 0x3b113649
xor ecx, 0x4561c8fb
sub ecx, 0x355b00c0
xor ecx, 0x4915fffa
rep stosb byte [rdi], al
lea rax, [rsi + 8]
xchg rdi, rax
mov qword [rsi], rdi
xchg rdi, rax
movups xmmword [rax], xmm0
xchg r13, r13
xchg r14, rax
movups xmmword [r14 + 0x10], xmm0
xchg r14, rax
movups xmmword [rax + 0x20], xmm0
mov r12, r12
nop dword [rax + rax]
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x14047dd1d
mov r8, r8
xchg rdx, r11
mov r11, rbx
xchg r11, rdx
mov qword [rsi + 0x38], rbx
xchg r8, rsi
mov rcx, r8
xchg r8, rsi
call fcn.14000ed30
xchg r15, r15
xor edx, edx
xchg r8, rax
mov rax, r8
xchg r8, rax
mov edi, 0x175a5eae
sub edi, 0x3dbfcfb
add edi, 0x26aad0a8
sub edi, 0x3535c9da
cmp qword [rsi + 0x38], rdx
mov dword [rsp - 0x10], edi
jbe 0x14047dde2
sub r14, rax
mov r9d, 0x4569488c
sub r9d, 0x321370f6
sub r9d, 0xfb84c05
xor r9d, 0x5200d21e
xor r9d, 0x519d5970
nop dword [rax]
nop word [rax + rax]
movzx eax, di
xchg r15, r15
lea r8, [r8 + 2]
and ax, r9w
ror edi, 6
ror edi, 1
ror edi, 1
xor ax, word [r14 + r8 - 2]
inc rdx
mov dword [rsp - 0x38], 0x6cc021c6
mov word [r8 - 2], ax
cmp rdx, qword [rsi + 0x38]
jb 0x14047ddad
xchg r11, rcx
mov r11, qword [rsp + 0x30]
xchg r11, rcx
lea rax, [rsp + 0x38]
mov dword [rsp - 0x20], esp
cmp rcx, rax
jne 0x14047e118
lea rdi, [rsp + 0x38]
jmp 0x14047e0a5
lea rax, [rbp + 0x48]
xor edx, edx
mov r8d, 0x56983d30
add r8d, 0x2761d7df
sub r8d, 0x3c5a383f
sub r8d, 0x419fdbd0
xchg rsp, rax
mov qword [rbp + 0x40], rsp
xchg rsp, rax
lea rcx, [rbp + 0x48]
mov dword [rsp - 0x3c], 0x36751c4d
call fcn.140096790
nop
movabs rbx, 0xffffffff670c78b7
sub rbx, 0x46175e3b
xor rbx, 0x626ff069
add rbx, 0x7fffffff
add rbx, 0x3d6515eb
lea rcx, [rbp + 0x150]
xchg rdi, rax
mov rdi, rbx
xchg rdi, rax
nop dword [rax]
xchg r12, r12
inc rax
cmp word [rcx + rax*2], 0
jne 0x14047de82
mov dword [rsp - 0x30], ecx
mov rcx, qword [rbp + 0x40]
lea rdi, [rax + 1]
mov qword [rbp + 0x148], rax
mov dword [rsp - 0x3c], 0x2b964842
lea rax, [rbp + 0x48]
cmp rcx, rax
je 0x14047dec0
call fcn.140096230
xchg r11, r11
cmp rdi, 0x80
jbe 0x14047defb
lea rcx, [rdi + rdi]
mov r15, r15
call fcn.1400964f0
xchg r10, rax
mov qword [rbp + 0x40], r10
xchg r10, rax
test rax, rax
jne 0x14047df0b
mov dword [rsp - 0x44], edx
lea r14, [rbp + 0x48]
mov qword [rbp + 0x40], r14
jmp 0x14047df7e
lea rax, [rbp + 0x48]
xchg r12, rax
mov qword [rbp + 0x40], r12
xchg r12, rax
lea rax, [rbp + 0x48]
xor edx, edx
mov r8d, 0x31cbeaa8
xor r8d, 0xe9a43e9
sub r8d, 0x119a64cf
sub r8d, 0x2db74372
xchg r10, rax
mov rcx, r10
xchg r10, rax
call fcn.140096790
xchg r14, r14
mov r14, qword [rbp + 0x40]
test r14, r14
je 0x14047df7e
mov dword [rsp - 0x2c], ecx
xchg r11, r9
mov r11, qword [rbp + 0x148]
xchg r9, r11
lea r8, [rbp + 0x150]
mov dword [rsp - 0x28], 0x89c178
xchg r15, r14
mov rcx, r15
xchg r14, r15
lea rdx, [r9 + 1]
mov dword [rsp - 0x2c], edx
call fcn.140097150
mov r14, qword [rbp + 0x40]
xorps xmm0, xmm0
lea rdi, [rbp + 0x150]
xchg r8, r8
xor eax, eax
mov ecx, 0x4b733ec1
sub ecx, 0x226c939d
xor ecx, 0x5a98d4d7
sub ecx, 0x739e7deb
rep stosb byte [rdi], al
lea rax, [rsi + 8]
mov qword [rsi], rax
mov dword [rsp - 0x18], ebp
movups xmmword [rax], xmm0
xchg r15, rax
movups xmmword [r15 + 0x10], xmm0
xchg r15, rax
xchg r15, rax
movups xmmword [r15 + 0x20], xmm0
xchg r15, rax
inc rbx
cmp word [r14 + rbx*2], 0
jne 0x14047dfc6
mov dword [rsp - 0xc], ebp
mov rdx, rbx
mov qword [rsi + 0x38], rbx
xchg rcx, r12
mov r12, rsi
xchg rcx, r12
call fcn.14000ed30
xor edx, edx
mov dword [rsp - 0x18], esi
xchg rbp, rax
mov rcx, rbp
xchg rbp, rax
mov edi, 0x2522f6f3
xor edi, 0x22127e43
add edi, 0x1eb53fa2
xor edi, 0x784a6af9
xor edi, 0x595cca2a
cmp qword [rsi + 0x38], rdx
mov dword [rsp - 0xc], 0x3acf652c
jbe 0x14047e084
sub r14, rax
mov r9d, 0x29231a7c
sub r9d, 0x8b2b283
add r9d, 0x24c9cf72
sub r9d, 0x453a366c
nop word [rax + rax]
xchg rsp, rsp
movzx eax, di
lea rcx, [rcx + 2]
and ax, r9w
xchg r15, r15
ror edi, 2
ror edi, 5
ror edi, 1
xor ax, word [r14 + rcx - 2]
inc rdx
mov word [rcx - 2], ax
xchg r14, r14
cmp rdx, qword [rsi + 0x38]
jb 0x14047e054
xchg rsi, rcx
mov rsi, qword [rbp + 0x40]
xchg rcx, rsi
lea rax, [rbp + 0x48]
xchg rsp, rsp
cmp rcx, rax
jne 0x14047e118
lea rdi, [rbp + 0x48]
mov r8, r8
xor eax, eax
mov ecx, 0x71d4e836
sub ecx, 0xe8b1d8b
xor ecx, 0x38d94295
add ecx, 0x14724c82
sub ecx, 0x7002d3c0
rep stosb byte [rdi], al
mov dword [rsp - 0x24], 0x31309cb2
mov rbx, qword [rsp + 0x470]
mov r14, qword [rsp + 0x478]
lea r11, [rsp + 0x460]
mov rsi, rsi
xchg rsi, rax
mov rsi, rax
xchg rsi, rax
xchg rsp, rsi
mov rsp, qword [r11 + 0x20]
xchg rsp, rsi
xchg rdi, r10
mov r10, qword [r11 + 0x28]
xchg rdi, r10
xchg rsp, rdx
mov rdx, r11
xchg rsp, rdx
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret
call fcn.140096230
xchg rsp, rsp
jmp 0x14047e0ce
lea rdi, [rsi + 8]
mov dword [rsp + 0x20], 0x515207ec
xor dword [rsp + 0x20], 0x62febf58
sub dword [rsp + 0x20], 0xebc0ffd
sub dword [rsp + 0x20], 0x1a3f391d
xor dword [rsp + 0x20], 0x652c7227
mov qword [rsi], rdi
xorps xmm0, xmm0
mov r15, r15
xchg rdi, rcx
movups xmmword [rcx], xmm0
xchg rdi, rcx
mov dword [rsp + 0x24], 0x403d7020
add dword [rsp + 0x24], 0x1c0cd6c8
xor dword [rsp + 0x24], 0x3175425
xor dword [rsp + 0x24], 0x3f19ef58
add dword [rsp + 0x24], 0xa3f0a5a
xchg rdi, r8
movups xmmword [r8 + 0x10], xmm0
xchg rdi, r8
mov byte [rsp + 0x28], 0x74
sub byte [rsp + 0x28], 0x11
xor byte [rsp + 0x28], 0x5d
add byte [rsp + 0x28], 0x31
add byte [rsp + 0x28], 0x50
xchg rdi, rsi
movups xmmword [rsi + 0x20], xmm0
xchg rsi, rdi
mov qword [rsi + 0x38], 0x18bd85be
add qword [rsi + 0x38], 0x26fd74af
add qword [rsi + 0x38], 0x3f67a355
sub qword [rsi + 0x38], 0x172e7d09
xor qword [rsi + 0x38], 0x67f420b0
xchg rbp, rcx
mov rbp, qword [rsi]
xchg rbp, rcx
cmp rcx, rdi
mov dword [rsp - 0x28], ebx
je 0x14047e1fc
call fcn.140096230
mov qword [rsi], rdi
xorps xmm0, xmm0
mov dword [rsp - 0xc], ecx
xchg r8, rdi
movups xmmword [r8], xmm0
xchg r8, rdi
xor edx, edx
mov dword [rsp - 0x38], ebp
xchg rsp, rdi
movups xmmword [rsp + 0x10], xmm0
xchg rdi, rsp
xchg rbp, rdi
movups xmmword [rbp + 0x20], xmm0
xchg rbp, rdi
mov rcx, qword [rsi]
xchg rbp, rbp
cmp qword [rsi + 0x38], rdx
jbe 0x14047e0de
nop word [rax + rax]
mov rbx, rbx
movzx eax, byte [rsp + rdx + 0x20]
mov word [rcx + rdx*2], ax
inc rdx
mov r8, r8
cmp rdx, qword [rsi + 0x38]
jb 0x14047e249
jmp 0x14047e0de