Function at 0x1400a78d0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x118
mov qword [rsp + 0xa8], rcx
call fcn.1400a8096
mov qword [rsp + 0xb0], rax
call fcn.1400a8096
mov rcx, rax
mov rax, qword [rsp + 0xb0]
add rcx, 0x60
mov qword [rsp + 0xb8], rcx
mov rcx, rax
add rcx, 0x2b71
mov qword [rsp + 0xc0], rcx
cmp byte [rax + 0x2b71], 0
jne 0x1400a7ab5
call fcn.1400a8096
xor eax, eax
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x98], rax
cmp rax, 0x30
je 0x1400a7a4c
mov eax, dword [0x1401f6348]
mov edx, dword [0x1401f634c]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
and eax, 0xf0f17984
mov edx, eax
xor edx, 0xffffffff
and edx, 0x7b29f2a8
mov r8d, 0xffffffff
xor r8d, 0x7b29f2a8
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x7b29f2a8
or eax, 0x7b29f2a8
imul eax, edx
add eax, ecx
mov ecx, 0x5fa63677
xor ecx, 0xc3fd6935
sub eax, ecx
cmp eax, 0xc779f1da
ja 0x1400a807b
mov rdx, qword [rsp + 0x98]
mov ecx, dword [0x1401f6350]
mov eax, dword [0x1401f6354]
mov r8d, 0xa84ea3c8
xor r8d, 0x2331ccd1
xor eax, r8d
xor ecx, eax
mov eax, ecx
and eax, 0x847de16b
or ecx, 0x847de16b
add eax, ecx
add eax, 0x6a950d38
mov ecx, 0x5d408818
xor ecx, 0x5d408818
mov r8d, 0xeeb7ed8b
xor r8d, 0xb4b701d8
sub ecx, r8d
add eax, ecx
mov ecx, 0xd213f95d
xor ecx, 0xe866996d
mov byte [rsp + rdx + 0xe8], 0
add rdx, 1
mov qword [rsp + 0x90], rdx
cmp eax, ecx
jb 0x1400a79b9
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xa0], rax
jmp 0x1400a7936
mov ecx, 4
lea rdx, [rsp + 0xe8]
call fcn.1400a5278
mov rax, qword [rsp + 0xb8]
cmp byte [rax], 0
jne 0x1400a7ab0
mov rcx, qword [rsp + 0xb0]
add rcx, 0x2b40
lea rdx, [rsp + 0xe8]
call fcn.1400a519f
mov rax, qword [rsp + 0xb8]
cmp byte [rax], 0
jne 0x1400a7ab0
mov rax, qword [rsp + 0xc0]
mov cl, 0x70
xor cl, 0x71
mov byte [rax], cl
jmp 0x1400a7b24
jmp 0x1400a806e
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xb0]
add rcx, 0x2b40
mov qword [rsp + 0x88], rcx
cmp byte [rax], 0
jne 0x1400a806e
mov rax, qword [rsp + 0xb0]
cmp qword [rax + 0x2b60], 0x80
jle 0x1400a7b24
mov rcx, qword [rsp + 0x88]
mov edx, 0x40
xor eax, eax
mov r8d, eax
call fcn.1400a5380
mov rax, qword [rsp + 0xb8]
mov al, byte [rax]
mov cl, 0x25
xor cl, 0x25
cmp al, cl
jne 0x1400a806e
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rax]
mov qword [rsp + 0xd8], rdx
mov rax, qword [rax + 8]
mov qword [rsp + 0xe0], rax
add rcx, 0x2b40
mov qword [rsp + 0x80], rcx
lea rdx, [rsp + 0xd8]
call fcn.1400a6761
mov rax, qword [rsp + 0xb8]
cmp byte [rax], 0
jne 0x1400a806e
mov ecx, dword [0x1401f6358]
sub ecx, dword [0x1401f635c]
add ecx, 0x32a80db
sub ecx, 0x91d31ca1
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x9fc7251e
mov edx, 0xffffffff
xor edx, 0x9fc7251e
and ecx, edx
or eax, ecx
cmp eax, 0xfa8571a6
jae 0x1400a8084
mov eax, dword [0x1401f6360]
xor edx, edx
div dword [0x1401f6364]
mov ecx, 0xffffffff
xor ecx, 0xd55bf6f6
add eax, ecx
mov ecx, 0x6fe29413
xor ecx, 0x6fe29412
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xd93b14d7
mov r8d, 0xfb4bc711
xor r8d, 0x2270d3c6
mov ecx, 0xabeede5e
xor ecx, 0x541121a1
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x664bf41f
xor r8d, 0xbf70e0c8
mov edx, eax
and edx, r8d
or eax, 0xd93b14d7
imul eax, edx
add eax, ecx
mov ecx, 0xea8afac8
xor ecx, 0xc042d4e6
sub eax, ecx
sub eax, 0x17e67380
add eax, 0x2ac82e2e
mov dword [rsp + 0x6c], eax
call fcn.1400a8096
mov rdx, qword [rsp + 0xb0]
mov rcx, rax
mov eax, dword [rsp + 0x6c]
mov rdx, qword [rdx + 0x2b60]
mov qword [rsp + 0x70], rdx
cmp byte [rcx + 0x60], 0
sete cl
mov byte [rsp + 0x7f], cl
cmp eax, 0x4b670f02
ja 0x1400a8084
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x1400a7c88
jmp 0x1400a8025
mov rdx, qword [rsp + 0x70]
mov rcx, rdx
dec rcx
mov qword [rsp + 0x60], rcx
mov rax, rcx
and rax, rdx
add rax, rax
lea rdx, [rdx + rdx - 1]
sub rdx, rax
test rcx, rcx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x1400a7cc6
jmp 0x1400a7cd0
call fcn.1400091c0
jmp 0x1400a8025
mov eax, dword [0x1401f6368]
add eax, dword [0x1401f636c]
or eax, 0x7fa35800
mov ecx, eax
xor ecx, 0xb027e15f
mov edx, 0x183cee73
xor edx, 0xe7c3118c
xor ecx, edx
and ecx, 0xb027e15f
shl ecx, 1
mov edx, 0x7201524a
xor edx, 0xc226b315
sub ecx, edx
sub eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x401b5519
add eax, ecx
add eax, 1
mov ecx, 0x2921690
xor ecx, 0xbe02996d
cmp eax, ecx
jae 0x1400a808d
mov rcx, qword [rsp + 0x70]
mov edx, dword [0x1401f6370]
mov r8d, dword [0x1401f6374]
mov eax, edx
xor eax, r8d
xor eax, 0xffffffff
or edx, r8d
and edx, eax
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xb9f79b05
mov r9d, 0xffffffff
xor r9d, 0xb9f79b05
and r8d, r9d
or eax, r8d
mov r8d, 0xad96857a
xor r8d, 0x52697a85
xor eax, r8d
xor edx, 0xffffffff
mov r8d, 0x510d9394
xor r8d, 0xe8fa0891
mov r9d, 0xe0c5a8e4
xor r9d, 0x1f3a571b
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0x89215f8c
xor edx, 0x7735536b
imul eax, edx
mov edx, 0xceef44e6
xor edx, 0x54f9e6b6
mov r8d, eax
and r8d, edx
mov edx, 0x1604f9b
xor edx, 0x1604f99
imul edx, r8d
add eax, 0x9a16a250
sub eax, edx
movabs rdx, 0x8000000000000000
cmp rcx, rdx
sete cl
mov byte [rsp + 0x5f], cl
cmp eax, 0x18cb12c0
je 0x1400a7d31
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x1400a7e14
jmp 0x1400a7e94
mov ecx, 0x40
mov edx, 8
call fcn.140016330
mov rcx, rax
mov rax, qword [0x1402085a0]
mov qword [rcx], rax
lea rax, [0x140206a29]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140206a58]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hj__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xb021334e122e69b0
movabs rdx, 0xb021334e5bf9a8d9
xor rax, rdx
lea rdx, [0x140206a29]
lea r8, [0x140206a35]
lea r9, [0x140206a38]
mov qword [rsp + 0x20], rax
call fcn.140016090
jmp 0x1400a8025
mov rax, qword [rsp + 0x60]
cmp rax, 0
jge 0x1400a7f10
mov ecx, 0x40
mov edx, 8
call fcn.140016330
mov rcx, rax
mov rax, qword [0x1402085a0]
mov qword [rcx], rax
lea rax, [0x140206a29]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140206a58]
mov qword [rcx + 0x18], rax
mov rax, qword [str.Hj__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140206a29]
lea r8, [0x140206a35]
lea r9, [0x140206a38]
mov qword [rsp + 0x20], 0xe933d84
call fcn.140016090
jmp 0x1400a8025
mov r8, qword [rsp + 0x60]
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rax + 0x2b50]
mov rdx, rcx
and rdx, r8
mov rax, rcx
or rax, r8
add rdx, rax
mov qword [rsp + 0x50], rdx
mov rax, rdx
xor rax, rcx
movabs rcx, 0x27d034c1f8c0f7ae
movabs r9, 0xd82fcb3e073f0851
xor rcx, r9
mov r9, rdx
xor r9, rcx
mov rcx, r8
and rcx, r9
movabs r9, 0x6309c94dfdb3546f
movabs r10, 0x9cf636b2024cab90
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
or rax, rax
xor rax, 0xffffffffffffffff
or rcx, rcx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x1400a7faa
call fcn.1400091c0
jmp 0x1400a8025
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx + 0x2b68]
and rcx, rax
mov qword [rsp + 0x40], rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400a8001
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffff
call fcn.140016582
jmp 0x1400a8025
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x2b48]
add rax, 8
shl rcx, 4
add rax, rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x30], rcx
cmp byte [rax], 0
jne 0x1400a806e
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
mov qword [rsp + 0xc8], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0xc8]
call fcn.1400a80a4
and al, 0xd0
add byte [rax], al
add byte [rax - 0x73], cl
mov word [rax + rcx*8], fs
add byte [rax], al
add al, ch
cmp eax, dword [rax]
add byte [rax], al
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
add rsp, 0x118
ret
outsd dx, dword [rsi]
mov ebx, 0x35e9a1d6
stc
invalid
imul ebx, dword [rcx], 0xffffffef
nop
jmp 0x1400a7bb4
je 0x1400a8057
insb byte [rdi], dx
mov dl, 0xe9
wait
cld
invalid