Function at 0x1400a6470
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x68], rcx
call fcn.1400a6448
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x60], rax
call fcn.1400a6448
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov rdx, rcx
add rdx, 0x10
mov qword [rsp + 0x78], rdx
mov cl, byte [rcx + 0x10]
mov al, byte [rax]
test al, al
setne dl
mov byte [rsp + 0x87], dl
or al, cl
setne al
test al, 1
jne 0x1400a6615
mov eax, dword [0x140204f50]
mov r8d, dword [0x140204f54]
mov ecx, 0x65fea476
xor ecx, 0x9a015b89
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0x84502b0c
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0xa9420577
add eax, ecx
mov ecx, 0xac8ccd44
xor ecx, 0x28da293b
xor eax, ecx
cmp eax, 0xef6e822f
je 0x1400a6889
mov eax, dword [0x140204f58]
mov ecx, 0xd5f5be29
xor ecx, 0x6b0d8363
xor eax, ecx
xor edx, edx
div dword [0x140204f5c]
sub eax, 0xa486a65
or eax, 0xf8f734c6
mov ecx, 0x6fa8fc0f
xor ecx, 0x98c2f6f2
imul eax, ecx
mov dword [rsp + 0x5c], eax
movabs rcx, 0xaa4678979d718875
movabs rax, 0xaa4678979d718835
xor rcx, rax
movabs rdx, 0x6d9783faef69fa0e
movabs rax, 0x6d9783faef69fa06
xor rdx, rax
call fcn.140014320
mov rcx, rax
mov rax, qword [0x140216ed8]
mov qword [rcx], rax
lea rax, [0x1402154f0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140215540]
mov qword [rcx + 0x18], rax
mov rax, qword [str._U__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xb70756349f7265fb
movabs rdx, 0x48f8a9cb45cc38ae
xor rax, rdx
lea rdx, [0x1402154f0]
lea r8, [0x1402154ff]
lea r9, [0x14021550e]
mov qword [rsp + 0x20], rax
call fcn.1400139e0
mov eax, dword [rsp + 0x5c]
cmp eax, 0xcd85cc7f
jae 0x1400a652b
jmp 0x1400a6881
mov al, byte [rsp + 0x87]
test al, 1
jne 0x1400a6881
jmp 0x1400a6629
mov eax, dword [0x140204f60]
mov edx, dword [0x140204f64]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0xc803b2a
xor ecx, 0xc803b28
imul ecx, r8d
sub ecx, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x2ab3b105
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x91bb879a
xor r8d, 0xbb08369f
mov edx, eax
and edx, r8d
or eax, 0x2ab3b105
imul eax, edx
add eax, ecx
add eax, 0x2d456575
sub eax, 0x920f197
mov ecx, 0x81c5e657
xor ecx, 0xac808322
sub eax, ecx
sub eax, 0x63c4bbd4
cmp eax, 0x38fe502
jbe 0x1400a6892
mov eax, dword [0x140204f68]
mov ecx, dword [0x140204f6c]
mov edx, ecx
xor edx, 0xd0800200
xor ecx, 0x16001aa
and ecx, 0x96041bb
and edx, 0xd2848200
and eax, 0xdbe4c3bb
or ecx, edx
xor eax, ecx
xor eax, 0x96041bb
imul ecx, eax, 0x5291863b
mov eax, ecx
xor eax, 0xadae5e89
and eax, ecx
mov dword [rsp + 0x54], eax
mov ecx, 0x14
mov edx, 4
call fcn.140014320
mov qword [rsp + 0x48], rax
call fcn.1400a6448
mov rdx, qword [rsp + 0x78]
mov rcx, rax
mov eax, dword [rsp + 0x54]
mov dl, byte [rdx]
mov cl, byte [rcx]
test cl, cl
setne r8b
mov byte [rsp + 0x5a], r8b
or cl, dl
setne cl
mov byte [rsp + 0x5b], cl
cmp eax, 0xb6c29c63
ja 0x1400a66b5
mov al, byte [rsp + 0x5b]
test al, 1
jne 0x1400a6800
jmp 0x1400a6755
movabs rcx, 0x24bd29365943cf0a
movabs rax, 0x24bd29365943cf4a
xor rcx, rax
movabs rdx, 0xe0388bc27a4b71da
movabs rax, 0xe0388bc27a4b71d2
xor rdx, rax
call fcn.140014320
mov rcx, rax
mov rax, qword [0x140216e60]
mov qword [rcx], rax
lea rax, [0x140215530]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140215540]
mov qword [rcx + 0x18], rax
mov rax, qword [str._U__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x4da04a8ec499c160
movabs rdx, 0xb25fb5716555d2d5
xor rax, rdx
lea rdx, [0x140215530]
lea r8, [0x140215550]
lea r9, [0x140215554]
mov qword [rsp + 0x20], rax
call fcn.1400139e0
xor eax, eax
mov qword [rsp + 0x40], rax
jmp 0x1400a6817
mov rax, qword [rsp + 0x68]
mov dl, byte [rsp + 0x5a]
xor ecx, ecx
test dl, 1
cmovne rax, rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x38], rcx
mov al, byte [rax]
mov cl, 0x4f
xor cl, 0x4f
cmp al, cl
jne 0x1400a6881
mov rdx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x38]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
lea rcx, [0x140227078]
call fcn.1400a5fb1
call fcn.1400a6382
mov cl, al
mov rax, qword [rsp + 0x60]
mov byte [rsp + 0x37], cl
mov al, byte [rax]
mov cl, 0xd0
xor cl, 0xd0
cmp al, cl
jne 0x1400a6881
mov cl, byte [rsp + 0x37]
and cl, 1
mov rax, qword [0x140227078]
mov byte [rax + 0x10], cl
add rsp, 0x88
ret
jrcxz 0x1400a68d8
cwde
in eax, dx
jmp 0x1400a652b
sub byte [0x15af3bbcc], bl
invalid
add byte [rax], 0
add byte [rcx + rcx*4 - 0x7b], cl
clc
add byte [rax], al
add byte [rax - 0x77], cl
xchg ebp, eax
add byte [rcx], al
add byte [rax], al