Function at 0x1400a5290
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
movaps xmmword [rsp + 0x230], xmm6
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x1b0], rdx
mov rbx, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
lea rax, [rsp + 0x220]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
lea rax, [rsp + 0x1f9]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
lea rax, [rcx + 0x10]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x130]
mov rax, qword [rax]
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], rax
xor edi, edi
lea rsi, [rsp + 0x190]
mov rcx, rsi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1400a08ca
mov rax, qword [rsp + 0x68]
movups xmm0, xmmword [rsi]
movups xmmword [rax], xmm0
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0x138], rbx
mov rax, qword [rsp + 0x138]
movups xmm0, xmmword [rax]
lea rdx, [rsp + 0x210]
movaps xmmword [rdx], xmm0
mov rax, qword [rsp + 0x68]
movups xmm0, xmmword [rax]
lea r8, [rsp + 0x200]
movaps xmmword [r8], xmm0
lea rsi, [rsp + 0x190]
mov rcx, rsi
call fcn.1400a013c
mov rax, qword [rsi]
mov qword [rsp + 0x140], rax
mov rcx, qword [rsp + 0x140]
mov edx, 0x15180
call fcn.14002a52a
mov qword [rsp + 0x148], rax
imul rax, qword [rsp + 0x148], 0x15180
mov qword [rsp + 0x150], rax
seto byte [rsp + 0x158]
mov rax, qword [rsp + 0x150]
mov al, byte [rsp + 0x158]
mov byte [rsp + 0x4f], al
lea rax, [0x1400ff6f0]
movsxd rcx, dword [rdi + rax]
xor dword [rsp + rcx*4 + 0x90], 0x78c104ba
add rdi, 4
cmp rdi, 0x4c
jne 0x1400a53fa
mov rax, qword [rsp + 0x50]
lea rcx, [rax + 0x28]
mov qword [rsp + 0x1d8], rcx
lea rcx, [rax + 0x40]
mov qword [rsp + 0x1d0], rcx
lea rcx, [rax + 0x50]
mov qword [rsp + 0x1c8], rcx
lea rcx, [rax + 0x58]
mov qword [rsp + 0x1c0], rcx
add rax, 0x60
mov qword [rsp + 0x1b8], rax
mov eax, 0x5fcc2877
lea r14, [0x1400fefa0]
xorps xmm6, xmm6
lea rbx, [0x1400ff088]
lea rdi, [0x1400ff040]
lea rsi, [0x1400ff078]
lea r13, [0x1400ff6a0]
lea r12, [0x1400ff740]
lea r15, [0x1400fefe0]
lea rbp, [0x1400ff010]
xor ecx, ecx
mov qword [rsp + 0x128], rcx
xor ecx, ecx
mov qword [rsp + 0x120], rcx
xor ecx, ecx
mov qword [rsp + 0x118], rcx
xor ecx, ecx
mov qword [rsp + 0x110], rcx
xor ecx, ecx
mov qword [rsp + 0x108], rcx
xor ecx, ecx
mov qword [rsp + 0x100], rcx
xor ecx, ecx
mov qword [rsp + 0xf8], rcx
xor ecx, ecx
mov qword [rsp + 0xf0], rcx
xor ecx, ecx
mov qword [rsp + 0xe8], rcx
cmp eax, 0x490510eb
jle 0x1400a553d
cmp eax, 0x62405f71
jle 0x1400a55d6
cmp eax, 0x6fb1eea2
jle 0x1400a56b3
cmp eax, 0x6fb1eea3
je 0x1400a5804
cmp eax, 0x77b2009c
je 0x1400a5829
cmp eax, 0x7d360d45
jne 0x1400a54ee
call fcn.140011264
mov eax, dword [rsp + 0xb0]
mov ecx, 0x6209659b
xor eax, ecx
jmp 0x1400a54ee
cmp eax, 0x2745755c
jle 0x1400a560f
cmp eax, 0x303dc6fc
jle 0x1400a572e
cmp eax, 0x303dc6fd
je 0x1400a5b86
cmp eax, 0x40a872dd
je 0x1400a58b2
cmp eax, 0x431144aa
jne 0x1400a54ee
mov rcx, qword [rsp + 0x168]
sub rcx, qword [rsp + 0x1f0]
seto al
mov qword [rsp + 0x70], rcx
cmp byte [rsp + 0x100], 0
jne 0x1400a55b1
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rsp + rdx*4 + 0x90], 0x47c49478
add rcx, 4
cmp rcx, 0x20
jne 0x1400a5598
test al, al
mov eax, 0x3fc0b19c
mov ecx, 0x7d69279c
cmovne eax, ecx
xor eax, dword [rsp + 0xbc]
mov cl, 1
mov qword [rsp + 0x100], rcx
jmp 0x1400a54ee
cmp eax, 0x5fb8fe26
jg 0x1400a575c
cmp eax, 0x520aa150
je 0x1400a58d7
cmp eax, 0x55455782
jne 0x1400a5b79
call fcn.140011264
mov eax, dword [rsp + 0xc0]
mov ecx, 0x780425e4
xor eax, ecx
jmp 0x1400a54ee
cmp eax, 0x17ecc181
jg 0x1400a57d6
cmp eax, 0x33c4088
je 0x1400a58ef
cmp eax, 0xd5cdd11
jne 0x1400a54ee
movabs rax, 0x48d159e26af37c05
imul qword [rsp + 0x160]
mov rax, rdx
shr rax, 0x3f
sar rdx, 0xa
add rdx, rax
mov qword [rsp + 0x58], rdx
imul rcx, qword [rsp + 0x58], 0xe10
seto al
mov qword [rsp + 0x1e8], rcx
cmp byte [rsp + 0x118], 0
jne 0x1400a568e
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rsp + rdx*4 + 0x90], 0x28a16966
add rcx, 4
cmp rcx, 0x38
jne 0x1400a5675
test al, al
mov eax, 0x5979f4c5
mov ecx, 0x18f1c472
cmovne eax, ecx
xor eax, dword [rsp + 0xa4]
mov cl, 1
mov qword [rsp + 0x118], rcx
jmp 0x1400a54ee
cmp eax, 0x62405f72
je 0x1400a5907
cmp eax, 0x6af489b9
jne 0x1400a54ee
mov rcx, qword [rsp + 0x160]
sub rcx, qword [rsp + 0x1e8]
seto al
mov qword [rsp + 0x168], rcx
cmp byte [rsp + 0x110], 0
jne 0x1400a5709
xor ecx, ecx
movsxd rdx, dword [rcx + r15]
xor dword [rsp + rdx*4 + 0x90], 0xe97711d
add rcx, 4
cmp rcx, 0x30
jne 0x1400a56f0
test al, al
mov eax, 0x6c9e1486
mov ecx, 0x661a195f
cmovne eax, ecx
xor eax, dword [rsp + 0xac]
mov cl, 1
mov qword [rsp + 0x110], rcx
jmp 0x1400a54ee
cmp eax, 0x2745755d
je 0x1400a596c
cmp eax, 0x2b7cb90e
jne 0x1400a54ee
call fcn.140011264
mov eax, dword [rsp + 0xa8]
mov ecx, 0x71d89da3
xor eax, ecx
jmp 0x1400a54ee
cmp eax, 0x5fb8fe27
je 0x1400a5991
cmp eax, 0x5fcc2877
jne 0x1400a54ee
mov al, byte [rsp + 0x158]
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x1e0], rax
cmp byte [rsp + 0x128], 0
jne 0x1400a57ae
xor eax, eax
movsxd rcx, dword [rax + r13]
xor dword [rsp + rcx*4 + 0x90], 0x7a21c57f
add rax, 4
cmp rax, 0x48
jne 0x1400a5795
cmp byte [rsp + 0x4f], 0
mov eax, 0x1a815bc8
mov ecx, 0x5b70f8e5
cmovne eax, ecx
xor eax, dword [rsp + 0x90]
mov cl, 1
mov qword [rsp + 0x128], rcx
jmp 0x1400a54ee
cmp eax, 0x17ecc182
je 0x1400a5a00
cmp eax, 0x23b1fc5f
jne 0x1400a54ee
call fcn.140011264
mov eax, dword [rsp + 0x98]
mov ecx, 0x60a09eb7
xor eax, ecx
jmp 0x1400a54ee
mov rcx, qword [rsp + 0x60]
mov r8d, 0x3b
xor edx, edx
call fcn.14001c234
mov eax, dword [rsp + 0xd0]
mov ecx, 0x40265d54
xor eax, ecx
jmp 0x1400a54ee
mov rcx, qword [rsp + 0x168]
mov rax, rcx
movabs rdx, 0x8888888888888889
imul rdx
add rdx, rcx
mov rax, rdx
shr rax, 0x3f
sar rdx, 5
add rdx, rax
mov qword [rsp + 0x60], rdx
imul rcx, qword [rsp + 0x60], 0x3c
seto al
mov qword [rsp + 0x1f0], rcx
cmp byte [rsp + 0x108], 0
jne 0x1400a588d
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x90], 0x3d971519
add rcx, 4
cmp rcx, 0x28
jne 0x1400a5874
test al, al
mov eax, 0x56aa21ad
mov ecx, 0x47b1c457
cmovne eax, ecx
xor eax, dword [rsp + 0xb4]
mov cl, 1
mov qword [rsp + 0x108], rcx
jmp 0x1400a54ee
mov rcx, qword [rsp + 0x70]
mov r8d, 0x3c
xor edx, edx
call fcn.14001c234
mov eax, dword [rsp + 0xd8]
mov ecx, 0x65473d86
xor eax, ecx
jmp 0x1400a54ee
call fcn.140011264
mov eax, dword [rsp + 0xb8]
mov ecx, 0x6b3d34b4
xor eax, ecx
jmp 0x1400a54ee
call fcn.140011264
mov eax, dword [rsp + 0xa0]
mov ecx, 0x3ed1a06d
xor eax, ecx
jmp 0x1400a54ee
mov rcx, qword [rsp + 0x140]
sub rcx, qword [rsp + 0x1e0]
seto al
mov qword [rsp + 0x160], rcx
cmp byte [rsp + 0x120], 0
jne 0x1400a5947
xor ecx, ecx
movsxd rdx, dword [rcx + r12]
xor dword [rsp + rdx*4 + 0x90], 0x316dbcb9
add rcx, 4
cmp rcx, 0x40
jne 0x1400a592e
test al, al
mov eax, 0xfbc1cd4
mov ecx, 0x1dc814d
cmovne eax, ecx
xor eax, dword [rsp + 0x9c]
mov cl, 1
mov qword [rsp + 0x120], rcx
jmp 0x1400a54ee
mov rcx, qword [rsp + 0x58]
mov r8d, 0x17
xor edx, edx
call fcn.14001c234
mov eax, dword [rsp + 0xc8]
mov ecx, 0x531c8cbe
xor eax, ecx
jmp 0x1400a54ee
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x20], rax
cmp qword [rsp + 0x60], 0
sets cl
mov rax, qword [rsp + 0x60]
cmp rax, 0x3b
setg al
or al, cl
cmp byte [rsp + 0xf0], 0
jne 0x1400a59db
xor ecx, ecx
movsxd rdx, dword [rcx + rsi]
xor dword [rsp + rdx*4 + 0x90], 0x7cbfe930
add rcx, 4
cmp rcx, 0x10
jne 0x1400a59c2
test al, al
mov eax, 0x3c99b464
mov ecx, 0x63159c3a
cmovne eax, ecx
xor eax, dword [rsp + 0xcc]
mov cl, 1
mov qword [rsp + 0xf0], rcx
jmp 0x1400a54ee
mov rdx, qword [rsp + 0x148]
lea rcx, [rsp + 0x190]
call fcn.1400a10ae
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x80], rax
mov al, byte [rsp + 0x198]
mov byte [rsp + 0x4e], al
mov rax, qword [rsp + 0x78]
lea rdx, [rsp + 0x199]
mov ecx, dword [rdx]
mov edx, dword [rdx + 3]
mov dword [rax + 3], edx
mov dword [rax], ecx
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x1d8]
mov ebp, 0
mov qword [rax + 0x10], rbp
movups xmmword [rax], xmm6
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x170]
mov byte [rax], bpl
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x178]
mov byte [rax], bpl
mov rax, qword [rsp + 0x1c0]
mov qword [rsp + 0x180], rax
mov rcx, qword [rsp + 0x180]
xor edx, edx
call fcn.14001bb4c
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0x188]
mov qword [rax], rbp
mov rcx, qword [rsp + 0x50]
lea rax, [0x1401c7570]
mov qword [rcx], rax
mov rax, qword [rsp + 0x88]
mov qword [rcx + 0x38], rax
movzx eax, byte [rsp + 0x4e]
mov qword [rcx + 0x30], rax
mov rax, qword [rsp + 0x80]
mov qword [rcx + 0x28], rax
cmp qword [rsp + 0x58], rbp
sets cl
mov rax, qword [rsp + 0x58]
cmp rax, 0x17
setg al
or al, cl
cmp byte [rsp + 0xf8], 0
lea rbp, [0x1400ff060]
jne 0x1400a5b4d
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x90], 0x634c96ff
add rcx, 4
cmp rcx, 0x18
jne 0x1400a5b34
test al, al
mov eax, 0x30501a41
mov ecx, 0x48ad913b
cmovne eax, ecx
xor eax, dword [rsp + 0xc4]
mov cl, 1
mov qword [rsp + 0xf8], rcx
lea rbp, [0x1400ff010]
jmp 0x1400a54ee
cmp eax, 0x490510ec
jne 0x1400a54ee
jmp 0x1400a5bed
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x18], rax
cmp qword [rsp + 0x70], 0
sets cl
mov rax, qword [rsp + 0x70]
cmp rax, 0x3c
setg al
or al, cl
cmp byte [rsp + 0xe8], 0
jne 0x1400a5bd0
xor ecx, ecx
movsxd rdx, dword [rcx + rbx]
xor dword [rsp + rdx*4 + 0x90], 0x5c59b6c3
add rcx, 4
cmp rcx, 8
jne 0x1400a5bb7
test al, al
mov eax, 0x391e8b45
mov ecx, 0x30b3e974
cmovne eax, ecx
xor eax, dword [rsp + 0xd4]
mov cl, 1
jmp 0x1400a54e6
mov rax, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x50]
mov qword [rsi + 0x10], rax
mov rax, qword [rsp + 0x138]
mov rax, qword [rax + 8]
mov qword [rsi + 8], rax
mov rcx, qword [rsp + 0x80]
mov dl, byte [rsp + 0x4e]
mov r8, qword [rsp + 0x88]
call fcn.1400a43ec
mov rcx, qword [rsp + 0x170]
mov byte [rcx], al
mov rcx, qword [rsp + 0x80]
mov dl, byte [rsp + 0x4e]
mov r8, qword [rsp + 0x88]
call fcn.1400a485f
mov qword [rsi + 0x48], rax
mov rax, qword [rsp + 0x1a8]
mov al, byte [rax + 0x18]
mov rcx, qword [rsp + 0x178]
mov byte [rcx], al
mov rcx, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x1b0]
call fcn.14001bb4c
mov rax, qword [rsp + 0x130]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x188]
mov qword [rcx], rax
mov rax, qword [rsp + 0x78]
mov rax, qword [rsp + 0x68]
movaps xmm6, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret