Function at 0x1400a5040
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rsi
nop
push 0x152049b2
mov qword [rsp], rbp
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov dword [rsp - 0x10], 0x351d529b
xchg rsi, rcx
mov rcx, rsi
xchg rcx, rsi
mov rcx, qword [rcx]
mov dword [rsp - 0x40], ebx
call fcn.140093b00
test rax, rax
jne 0x1400a50ab
xchg rsi, rdx
mov rdx, qword [rsp + 0x1d8]
xchg rdx, rsi
add rsp, 0x48c3a23c
sub rsp, 0x48c3a08c
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret
mov qword [rsp + 0x1c0], rbx
mov dword [rsp - 0x30], 0x48e629bd
lea rcx, [rbp - 0x58]
mov rbx, qword [rax + 0x50]
xor edx, edx
mov dword [rsp - 0x18], 0x6bae9b81
lea rax, [rbp - 0x58]
xchg rdi, rdx
mov qword [rsp + 0x1c8], rdx
xchg rdx, rdi
mov r8d, 0x30c27a5a
sub r8d, 0xd58078b
add r8d, 0x34ca426a
sub r8d, 0x5834b439
xchg r10, rax
mov qword [rbp - 0x60], r10
xchg r10, rax
mov qword [rsp + 0x1d0], r14
xchg rsi, rsi
call fcn.1400b7560
nop
movabs rdi, 0xffffffff02589dc7
add rdi, 0x7746a580
xor rdi, 0x51d738f3
add rdi, 0x2d82dee2
add rdi, 0x7fffffff
add rdi, 0x2a34a56a
xchg rbx, rax
mov rbx, rdi
xchg rbx, rax
inc rax
cmp word [rbx + rax*2], 0
mov dword [rsp - 0x14], 0x3c359a3a
jne 0x1400a5147
xchg rcx, rsp
mov rsp, qword [rbp - 0x60]
xchg rsp, rcx
lea r14, [rax + 1]
xchg r13, rax
mov qword [rbp + 0xa8], r13
xchg r13, rax
lea rax, [rbp - 0x58]
xchg r13, r13
cmp rcx, rax
je 0x1400a518f
call fcn.1400b6f90
mov dword [rsp - 0x28], ebp
cmp r14, 0x80
jbe 0x1400a51ce
lea rcx, [r14 + r14]
mov dword [rsp - 0x20], 0x3510eb14
call fcn.1400b71e0
mov qword [rbp - 0x60], rax
test rax, rax
xchg rcx, rcx
jne 0x1400a51e6
lea rax, [rbp - 0x58]
xchg rdx, rax
mov qword [rbp - 0x60], rdx
xchg rdx, rax
jmp 0x1400a5249
lea rax, [rbp - 0x58]
xchg rcx, rax
mov qword [rbp - 0x60], rcx
xchg rcx, rax
lea rax, [rbp - 0x58]
mov dword [rsp - 0x18], 0x3ab81dea
xor edx, edx
mov r8d, 0x72ce26bf
sub r8d, 0x17a16d1e
xor r8d, 0x4c993506
sub r8d, 0xb04fd24
sub r8d, 0xcb08e83
mov rcx, rax
call fcn.1400b7560
xchg rsi, rcx
mov rsi, qword [rbp - 0x60]
xchg rsi, rcx
test rcx, rcx
mov dword [rsp - 0x34], 0x6f2f6696
je 0x1400a5249
mov r9, qword [rbp + 0xa8]
xchg rbx, r8
mov rbx, r8
xchg r8, rbx
lea rdx, [r9 + 1]
call fcn.1400b8170
mov rdi, rdi
lea rcx, [rbp - 0x80]
call fcn.14009f470
mov rbx, qword [rbp - 0x60]
mov dword [rsp - 0x24], 0x5952e6f4
lea rax, [rsp + 0x48]
xchg r14, rbx
mov rbx, qword [rsp + 0x1d0]
xchg r14, rbx
xorps xmm0, xmm0
xchg r13, rax
mov qword [rsp + 0x40], r13
xchg r13, rax
xchg rsp, r15
movups xmmword [r15 + 0x48], xmm0
xchg rsp, r15
xchg rsp, r15
movups xmmword [r15 + 0x58], xmm0
xchg rsp, r15
movups xmmword [rsp + 0x68], xmm0
nop word [rax + rax]
mov r8, r8
inc rdi
cmp word [rbx + rdi*2], 0
jne 0x1400a52a1
xchg rbp, rbp
xchg rdx, rcx
mov rcx, rdi
xchg rcx, rdx
mov qword [rsp + 0x78], rdi
lea rcx, [rsp + 0x40]
call fcn.140010f10
mov dword [rsp - 0x14], 0x622b88ec
xor edi, edi
mov edx, 0x1bf1bf09
xor edx, 0x5bc76e43
add edx, 0x3de7f489
xor edx, 0x10864f2
sub edx, 0x4de6739a
cmp qword [rsp + 0x78], rdi
mov rdi, rdi
jbe 0x1400a5375
sub rbx, rax
mov r8d, 0x68abe60f
sub r8d, 0x5f5e16c0
add r8d, 0x9a543ab
xor r8d, 0x5d8c734d
sub r8d, 0x4f7f60b8
nop dword [rax]
mov dword [rsp - 0x30], 0x77c5f801
nop word [rax + rax]
movzx ecx, dx
lea rax, [rax + 2]
mov dword [rsp - 0x20], edx
and cx, r8w
ror edx, 2
ror edx, 4
ror edx, 1
ror edx, 1
xor cx, word [rbx + rax - 2]
inc rdi
mov dword [rsp - 0x44], 0x72b6b31f
mov word [rax - 2], cx
cmp rdi, qword [rsp + 0x78]
jb 0x1400a5339
mov dword [rsp - 0x24], esi
mov byte [rsp + 0x38], 0x47
sub byte [rsp + 0x38], 0x13
xor byte [rsp + 0x38], 0x57
sub byte [rsp + 0x38], 0x63
lea rdx, [rsp + 0x40]
mov dword [rsp + 0x30], 0x7b2f4d27
sub dword [rsp + 0x30], 0x16735baf
sub dword [rsp + 0x30], 0x3a79329c
sub dword [rsp + 0x30], 0x1f07aa18
sub dword [rsp + 0x30], 0xb3b1464
lea rcx, [rbp - 0x80]
mov dword [rsp + 0x28], 0x42ddc003
sub dword [rsp + 0x28], 0xe528ed7
xor dword [rsp + 0x28], 0x748aab28
sub dword [rsp + 0x28], 0x40019a03
mov r9d, 0x410a53dd
sub r9d, 0x1d3ee440
add r9d, 0x26503cf2
sub r9d, 0x4a1bac0f
mov r8d, 0x1d872005
xor r8d, 0x19ae51b8
add r8d, 0x712e1eb6
sub r8d, 0x3aa42a2f
sub r8d, 0x3aa165bb
mov dword [rsp + 0x20], 0x15655b9c
add dword [rsp + 0x20], 0x361f287
add dword [rsp + 0x20], 0x156fd35e
xor dword [rsp + 0x20], 0xb0b835a
sub dword [rsp + 0x20], 0x253ca2d8
call fcn.1400a0410
mov rcx, qword [rsp + 0x40]
mov rdx, rdx
movzx ebx, al
lea rax, [rsp + 0x48]
cmp rcx, rax
jne 0x1400a5490
mov dword [rsp - 0x24], 0x14c0b88a
lea rdi, [rsp + 0x48]
xor eax, eax
mov ecx, 0xf900dc5
add ecx, 0x5e947253
sub ecx, 0x1a678fa3
sub ecx, 0x4a1c315f
xor ecx, 0x9a0bf26
rep stosb byte [rdi], al
jmp 0x1400a5499
call fcn.1400b6f90
mov dword [rsp - 0x2c], esi
test bl, bl
je 0x1400a5502
lea r8, [rsi + 0x10]
lea rdx, [rsi + 8]
mov dword [rsp - 0x14], ebx
lea rcx, [rbp - 0x80]
call fcn.1400a0c10
test al, al
xchg rdi, rdi
je 0x1400a5502
xchg r15, rcx
mov r15, rsi
xchg rcx, r15
call fcn.1400a4fd0
test al, al
mov r15, r15
je 0x1400a5502
xchg r12, rdx
mov r12, qword [rsi]
xchg rdx, r12
mov rcx, qword [rsi + 0x18]
mov r13, r13
call fcn.140092670
mov bl, 0x3d
add bl, 7
xor bl, 0xb
add bl, 0
sub bl, 0x4e
jmp 0x1400a5507
xor bl, bl
mov rbp, rbp
lea rcx, [rbp - 0x80]
call fcn.14009f490
mov rcx, qword [rbp - 0x60]
lea rax, [rbp - 0x58]
mov dword [rsp - 0x2c], ebx
cmp rcx, rax
jne 0x1400a554f
lea rdi, [rbp - 0x58]
mov r14, r14
xor eax, eax
mov ecx, 0x37f11c41
add ecx, 0xd24e8ba
add ecx, 0x198f6970
sub ecx, 0x5ea56d6b
rep stosb byte [rdi], al
mov r9, r9
jmp 0x1400a5557
call fcn.1400b6f90
xchg r10, r10
mov rdi, qword [rsp + 0x1c8]
movzx eax, bl
xchg r15, rbx
mov r15, qword [rsp + 0x1c0]
xchg r15, rbx
mov rsi, qword [rsp + 0x1d8]
xchg rdi, rdi
sub rsp, 0x593c5ca8
add rsp, 0x593c5e58
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret