Function at 0x1400a4b80
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbp
push r13
lea rbp, [r11 - 0x148]
sub rsp, 0x238
mov rax, qword [0x14049f410]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov rax, qword [rbp + 0x170]
mov r13, rdx
mov qword [rbp - 0x78], rax
mov dword [rsp + 0x5c], r9d
mov dword [rsp + 0x58], r8d
mov qword [rsp + 0x78], rdx
mov qword [rbp - 0x80], rcx
test rdx, rdx
je 0x1400a54db
mov qword [r11 + 0x20], rbx
mov ebx, dword [rdx + 4]
test ebx, ebx
je 0x1400a54d4
mov qword [r11 - 0x20], rdi
mov edi, dword [rdx + 8]
test edi, edi
je 0x1400a54cd
cmp dword [rdx], 0
je 0x1400a54cd
cmp qword [rdx + 0x18], 0
je 0x1400a4c03
cmp dword [rdx + 0x10], 0
jne 0x1400a4c32
cmp qword [rdx + 0x28], 0
je 0x1400a4c10
cmp dword [rdx + 0x20], 0
jne 0x1400a4c32
cmp qword [rdx + 0x38], 0
je 0x1400a4c1d
cmp dword [rdx + 0x30], 0
jne 0x1400a4c32
cmp qword [rdx + 0x48], 0
je 0x1400a54cd
cmp dword [rdx + 0x40], 0
je 0x1400a54cd
xorps xmm0, xmm0
mov qword [rsp + 0x220], r12
mov r12, qword [rcx + 8]
mov edx, ebx
imul edx, edi
mov rcx, r12
mov qword [rsp + 0x70], r12
movups xmmword [rbp + 0x40], xmm0
mov rax, qword [r12]
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
call qword [rax + 8]
test rax, rax
je 0x1400a54c6
mov qword [rsp + 0x230], rsi
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x218], r14
mov qword [rsp + 0x210], r15
mov dword [rbp + 0x44], ebx
mov dword [rbp + 0x48], edi
mov dword [rbp + 0x40], 0x40000001
mov qword [rbp + 0x58], rax
mov dword [rbp + 0x50], ebx
call fcn.14008b7e0
mov ecx, dword [r13]
mov r9, rax
mov eax, dword [r13 + 4]
mov dword [rsp + 0x50], eax
mov eax, dword [r13 + 8]
mov dword [rsp + 0x54], eax
mov qword [rsp + 0x48], 0
cmp ecx, 0x20200001
ja 0x1400a4d02
lea eax, [rcx - 0x10200001]
test eax, 0xefffffff
je 0x1400a4d17
lea eax, [rcx - 0x20000001]
cmp eax, 1
ja 0x1400a4d26
lea r8, [rsp + 0x48]
xor edx, edx
mov rcx, r13
call fcn.14008ab00
jmp 0x1400a4d26
lea eax, [rcx - 0x30100001]
test eax, 0xffeffffe
jne 0x1400a4d26
cmp ecx, 0x30200002
je 0x1400a4d26
lea r8, [rsp + 0x48]
xor edx, edx
mov rcx, r13
call fcn.14007b980
mov r14d, dword [rbp + 0x48]
mov ecx, 0x50
mov r15d, dword [rbp + 0x44]
mov eax, r14d
cmp r15d, r14d
cmovg eax, r15d
cmp eax, ecx
cmovg ecx, eax
mov eax, 0x66666667
shl ecx, 8
imul ecx
mov ecx, 1
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov r9d, edx
sar r9d, 0x1f
add r9d, edx
sar r9d, 7
inc r9d
sar r9d, 1
test r9d, r9d
jle 0x1400a4d9f
mov ecx, r9d
call fcn.14006a800
mov ecx, 1
cmp eax, ecx
jl 0x1400a4d8f
mov eax, eax
add ecx, ecx
sub rax, 1
jne 0x1400a4d87
lea eax, [rcx + rcx]
sub eax, r9d
sub r9d, ecx
cmp r9d, eax
jle 0x1400a4d9f
add ecx, ecx
xor edx, edx
mov eax, r15d
div ecx
xor edx, edx
mov edi, eax
mov eax, r14d
div ecx
mov ecx, dword [r13]
shr ecx, 0x1c
mov esi, eax
lea eax, [rcx - 2]
cmp eax, 1
ja 0x1400a4dcb
and edi, 0xfffffffe
cmp ecx, 3
jne 0x1400a4dcb
and esi, 0xfffffffe
xorps xmm0, xmm0
xor ebx, ebx
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
test edi, edi
je 0x1400a5469
test esi, esi
je 0x1400a5469
mov rax, qword [r12]
mov edx, esi
imul edx, edi
mov rcx, r12
call qword [rax + 8]
test rax, rax
je 0x1400a4e30
mov ecx, edi
mov edx, 0x40000001
jmp 0x1400a4e5c
xorps xmm0, xmm0
mov ebx, 0xfffffffd
movups xmmword [rbp - 0x70], xmm0
mov esi, dword [rbp - 0x68]
mov ecx, dword [rbp - 0x6c]
mov edx, dword [rbp - 0x70]
movups xmmword [rbp - 0x60], xmm0
mov rax, qword [rbp - 0x58]
mov edi, dword [rbp - 0x60]
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
test ebx, ebx
jne 0x1400a546e
mov dword [rbp + 0xa4], ecx
lea rcx, [rbp + 0xa0]
mov dword [rbp + 0xa8], esi
mov dword [rbp + 0xa0], edx
mov qword [rbp + 0xb8], rax
mov dword [rbp + 0xb0], edi
call fcn.14008b7e0
xor edi, edi
mov dword [rsp + 0x50], r15d
mov r8, rax
mov qword [rsp + 0x48], rdi
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x54], r14d
lea rcx, [rbp + 0x40]
call fcn.1400612d0
mov ebx, eax
test eax, eax
jne 0x1400a503a
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.14006da90
xorps xmm0, xmm0
lea rcx, [rbp + 0xa0]
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
call fcn.14008b7e0
mov qword [rsp + 0x60], rax
mov ebx, edi
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov ecx, dword [rax + 4]
mov r15d, dword [rax]
mov r14d, r15d
mov r8d, dword [rax + 8]
shr r14d, 0x14
and r14d, 3
mov dword [rsp + 0x40], r8d
inc r14d
mov dword [rsp + 0x44], ecx
test ecx, ecx
je 0x1400a5029
test r8d, r8d
je 0x1400a5029
test r15d, r15d
je 0x1400a5029
cmp r15d, 0x30200001
jg 0x1400a5005
je 0x1400a4fea
cmp r15d, 0x20100001
jg 0x1400a4fa7
je 0x1400a4f94
cmp r15d, 0x10000001
je 0x1400a5070
cmp r15d, 0x10200001
je 0x1400a4f84
lea eax, [r15 - 0x20000001]
cmp eax, 1
ja 0x1400a5029
lea edi, [rcx + rcx]
jmp 0x1400a5073
mov edi, ecx
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], r8d
jmp 0x1400a5073
lea esi, [rcx + rcx]
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x38], esi
mov edi, ecx
jmp 0x1400a5073
cmp r15d, 0x20200001
je 0x1400a4fd3
lea eax, [r15 - 0x30100001]
cmp eax, 1
ja 0x1400a5029
mov eax, r8d
mov dword [rsp + 0x38], ecx
cdq
mov edi, ecx
sub eax, edx
sar eax, 1
mov dword [rsp + 0x30], eax
jmp 0x1400a5073
mov eax, ecx
mov dword [rsp + 0x30], r8d
cdq
mov edi, ecx
sub eax, edx
sar eax, 1
mov dword [rsp + 0x38], eax
jmp 0x1400a5073
mov eax, ecx
mov edi, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x38], eax
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x30], eax
jmp 0x1400a5073
cmp r15d, 0x50000004
jg 0x1400a5052
cmp r15d, 0x50000003
jge 0x1400a5067
cmp r15d, 0x40000001
je 0x1400a504e
cmp r15d, 0x50000001
je 0x1400a5070
mov ebx, 0xfffffffc
lea rdx, [rbp - 0x20]
mov rcx, r12
call fcn.14006da90
lea rdx, [rbp + 0xa0]
mov rcx, r12
call fcn.14006da90
jmp 0x1400a546e
mov edi, ecx
jmp 0x1400a5073
cmp r15d, 0x50000009
je 0x1400a5070
lea eax, [r15 - 0x5000000b]
cmp eax, 1
ja 0x1400a5029
lea edi, [rcx*4]
jmp 0x1400a5073
lea edi, [rcx + rcx*2]
mov rax, qword [r12]
xorps xmm0, xmm0
mov edx, edi
mov rcx, r12
imul edx, r8d
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
call qword [rax + 8]
test rax, rax
je 0x1400a5104
mov esi, 1
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x60], edi
cmp r14d, esi
jbe 0x1400a50eb
mov ecx, dword [rsp + 0x30]
lea rdi, [rbp - 0x50]
imul ecx, dword [rsp + 0x38]
mov dword [rsp + 0x30], ecx
mov rax, qword [r12]
mov edx, ecx
mov rcx, r12
call qword [rax + 8]
test rax, rax
je 0x1400a5109
mov ecx, dword [rsp + 0x30]
inc esi
mov qword [rdi + 8], rax
mov eax, dword [rsp + 0x38]
mov dword [rdi], eax
add rdi, 0x10
cmp esi, r14d
jb 0x1400a50c1
mov ecx, dword [rsp + 0x44]
mov eax, r15d
mov r9d, dword [rsp + 0x40]
mov dword [rbp - 0x6c], ecx
mov dword [rbp - 0x68], r9d
mov dword [rbp - 0x70], r15d
jmp 0x1400a5164
test r14d, r14d
je 0x1400a5132
mov edi, r14d
lea rbx, [rbp - 0x58]
xor r14d, r14d
mov rdx, qword [rbx]
test rdx, rdx
je 0x1400a5128
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
mov qword [rbx], r14
add rbx, 0x10
sub rdi, 1
jne 0x1400a5113
xorps xmm0, xmm0
mov ebx, 0xfffffffd
movups xmmword [rbp - 0x70], xmm0
mov r9d, dword [rbp - 0x68]
xor eax, eax
mov ecx, dword [rbp - 0x6c]
mov r15d, dword [rbp - 0x70]
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x44], ecx
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
test ebx, ebx
jne 0x1400a502e
shr eax, 0x14
and eax, 3
add eax, 1
mov qword [rsp + 0x30], rax
je 0x1400a5243
mov rdx, qword [rsp + 0x60]
lea rax, [rbp - 0x70]
sub rax, rdx
lea r10, [rbp - 0x68]
xor ecx, ecx
mov qword [rsp + 0x68], rax
sub r10, rdx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x48], r10
lea r14, [rdx + 0x10]
nop dword [rax + rax]
movsxd rdx, dword [rax + r14]
mov ebx, r9d
cmp dword [r14], edx
mov r8d, edx
cmovl r8d, dword [r14]
test rcx, rcx
je 0x1400a51d7
mov eax, r15d
and eax, 0xf0000000
cmp eax, 0x30000000
jne 0x1400a51d7
sar ebx, 1
mov rdi, qword [r14 + 8]
mov r12, rdx
mov rsi, qword [r10 + r14]
movsxd r13, r8d
nop word [rax + rax]
mov r8, r13
mov rdx, rdi
mov rcx, rsi
call fcn.1400fddb8
movsxd rax, dword [r14]
add rsi, r12
add rdi, rax
sub ebx, 1
jne 0x1400a51f0
mov rcx, qword [rsp + 0x38]
add r14, 0x10
mov r9d, dword [rsp + 0x40]
inc rcx
mov rax, qword [rsp + 0x68]
mov r10, qword [rsp + 0x48]
mov qword [rsp + 0x38], rcx
cmp rcx, qword [rsp + 0x30]
jl 0x1400a51b0
mov r12, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
jmp 0x1400a524b
test ebx, ebx
jne 0x1400a502e
xorps xmm0, xmm0
mov dword [rbp - 0x20], r15d
xor ecx, ecx
mov eax, r15d
shr eax, 0x14
mov dword [rbp + 0x3c], ecx
and eax, 3
mov ecx, dword [rsp + 0x44]
mov dword [rbp - 0x1c], ecx
mov ecx, dword [rsp + 0x40]
mov dword [rbp - 0x18], ecx
movups xmmword [rbp - 0x14], xmm0
movups xmmword [rbp - 4], xmm0
movups xmmword [rbp + 0xc], xmm0
movups xmmword [rbp + 0x1c], xmm0
movups xmmword [rbp + 0x2c], xmm0
add eax, 1
je 0x1400a52ae
xor r14d, r14d
mov edx, eax
mov ecx, r14d
nop
mov rax, qword [rbp + rcx - 0x58]
mov qword [rbp + rcx - 8], rax
mov eax, dword [rbp + rcx - 0x60]
mov dword [rbp + rcx - 0x10], eax
lea rcx, [rcx + 0x10]
sub rdx, 1
jne 0x1400a5290
jmp 0x1400a52b1
xor r14d, r14d
lea rcx, [rbp - 0x20]
call fcn.14008b7e0
mov r15, qword [rbp - 0x80]
mov rdx, rax
mov edi, dword [rsp + 0x58]
mov rcx, r15
mov r9d, edi
mov dword [rsp + 0x20], 1
xor r8d, r8d
call fcn.140082990
mov ebx, eax
test eax, eax
jne 0x1400a502e
mov r10d, dword [rbp - 0x18]
imul r10d, dword [rbp - 0x1c]
mov r8, qword [rbp - 8]
mov r11, qword [rbp + 0xb8]
sub r11, r8
nop dword [rax]
movzx eax, byte [r8]
movzx edx, byte [r11 + r8]
lea r8, [r8 + 1]
sub edx, eax
mov ecx, edx
sar ecx, 0x1f
movzx eax, cl
xor al, dl
sub al, cl
mov byte [r8 - 1], al
sub r10d, 1
jne 0x1400a5300
lea rcx, [rbp - 0x20]
call fcn.14008b7e0
mov rdx, rax
mov dword [rsp + 0x20], 1
mov r9d, edi
xor r8d, r8d
mov rcx, r15
call fcn.140082990
mov ebx, eax
test eax, eax
jne 0x1400a502e
mov r8d, dword [rbp - 0x18]
imul r8d, dword [rbp - 0x1c]
mov rcx, qword [rbp - 8]
mov r9d, dword [rsp + 0x5c]
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
cmp eax, r9d
cmovg eax, r9d
imul eax, eax, 0xff
cdq
idiv r9d
not al
mov byte [rcx - 1], al
sub r8d, 1
jne 0x1400a5370
mov esi, dword [r13 + 8]
mov ebx, r14d
mov r14, qword [rbp - 0x78]
mov edi, dword [r13 + 4]
test r14, r14
je 0x1400a5029
test edi, edi
je 0x1400a5029
test esi, esi
je 0x1400a5029
xorps xmm0, xmm0
mov edx, edi
movups xmmword [r14], xmm0
mov rcx, r12
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x40], xmm0
mov rax, qword [r12]
imul edx, esi
call qword [rax + 8]
test rax, rax
je 0x1400a5410
mov qword [r14 + 0x18], rax
mov dword [r14 + 0x10], edi
mov dword [r14 + 4], edi
mov dword [r14 + 8], esi
mov dword [r14], 0x40000001
jmp 0x1400a5443
mov rdx, qword [r14 + 0x18]
mov ebx, 0xfffffffd
test rdx, rdx
je 0x1400a5428
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x10]
xorps xmm0, xmm0
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm0
movups xmmword [r14 + 0x20], xmm0
movups xmmword [r14 + 0x30], xmm0
movups xmmword [r14 + 0x40], xmm0
test ebx, ebx
jne 0x1400a502e
lea rcx, [rbp - 0x20]
call fcn.14008b7e0
mov rdx, rax
mov r8, r14
mov rcx, r15
call fcn.140080d30
mov ebx, eax
jmp 0x1400a502e
mov ebx, 0xfffffffc
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.14006da90
mov r15, qword [rsp + 0x210]
mov eax, ebx
mov r14, qword [rsp + 0x218]
mov rsi, qword [rsp + 0x230]
mov r12, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x228]
mov rbx, qword [rsp + 0x268]
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.1400fcc70
add rsp, 0x238
pop r13
pop rbp
ret
mov eax, 0xfffffffd
jmp 0x1400a5494
mov eax, 0x61
jmp 0x1400a549c
mov eax, 0x61
jmp 0x1400a54a4
mov eax, 0x61
jmp 0x1400a54ac