Function at 0x1400a9820
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1d0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x48], rcx
mov qword [rbp - 0x40], rcx
mov eax, 0x20
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
sub rsp, 0x20
call fcn.1400aadac
add rsp, 0x20
mov qword [rbp - 0x28], rax
add rax, 0x60
mov qword [rbp - 0x30], rax
lea rcx, [rbp + 0x30]
mov edx, 0x11c
sub rsp, 0x20
call fcn.1400aa02b
add rsp, 0x20
mov eax, 0xeefca395
xor eax, 0xeefca289
mov dword [rbp + 0x30], eax
lea rcx, [rbp + 0x30]
sub rsp, 0x20
call fcn.1400a97fb
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x28]
mov dword [rbp - 0x1c], ecx
cmp byte [rax + 0x60], 0
jne 0x1400a991a
mov eax, dword [rbp - 0x1c]
cmp eax, 0
je 0x1400a991f
movabs rdx, 0xe144a8e768611208
movabs rax, 0xe144a8e76861121c
xor rdx, rax
mov rcx, rbp
sub rsp, 0x20
call fcn.1400aa02b
add rsp, 0x20
mov rcx, rbp
sub rsp, 0x20
call fcn.1400aa095
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a991a
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp]
mov qword [rax], rcx
mov rcx, qword [rbp + 8]
mov qword [rax + 8], rcx
mov ecx, dword [rbp + 0x10]
mov dword [rax + 0x10], ecx
jmp 0x1400a9ff1
jmp 0x1400a9e35
mov ecx, dword [rbp + 0x34]
mov dword [rbp - 0x58], ecx
mov eax, dword [rbp + 0x38]
mov dword [rbp - 0x54], eax
mov eax, dword [rbp + 0x3c]
mov dword [rbp - 0x50], eax
mov edx, 0x43ab9386
xor edx, 0x43ab9383
mov al, 1
cmp ecx, edx
mov byte [rbp - 0x49], al
je 0x1400a9d9e
mov eax, dword [rbp - 0x54]
mov ecx, dword [rbp - 0x58]
sub ecx, 6
sete cl
mov byte [rbp - 0x5c], cl
test eax, eax
sete al
and cl, al
mov byte [rbp - 0x5b], cl
mov al, byte [rbp + 0x14a]
mov byte [rbp - 0x5a], al
sub al, 1
sete al
mov byte [rbp - 0x59], al
and cl, al
mov al, 2
test cl, 1
mov byte [rbp - 0x49], al
jne 0x1400a9d9e
mov cl, byte [rbp - 0x5b]
mov al, byte [rbp - 0x5a]
sub al, 1
setne al
mov byte [rbp - 0x5d], al
and cl, al
mov al, 5
test cl, 1
mov byte [rbp - 0x49], al
jne 0x1400a9d9e
mov eax, dword [0x1401dcb60]
mov ecx, 0x573a1dea
xor ecx, 0xed35bbbf
xor eax, ecx
xor eax, dword [0x1401dcb64]
add eax, 0x5b08cd72
or eax, 0xd0a8a0ab
or eax, 0x3ac0eef1
cmp eax, 0xcfeafa8e
jb 0x1400a9ffe
mov dl, byte [rbp - 0x5d]
mov cl, byte [rbp - 0x5c]
mov r8d, dword [rbp - 0x54]
mov eax, dword [0x1401dcb68]
mov r9d, dword [0x1401dcb6c]
xor r9d, 0x4dd62bc2
sub eax, r9d
xor eax, 0x3a347acd
add eax, 0x32baa950
sub r8d, 1
sete r8b
and cl, r8b
mov byte [rbp - 0x5f], cl
and cl, dl
mov byte [rbp - 0x5e], cl
cmp eax, 0xa9a3370e
ja 0x1400a9ffe
mov cl, byte [rbp - 0x5e]
mov al, 5
test cl, 1
mov byte [rbp - 0x49], al
jne 0x1400a9d9e
jmp 0x1400a9a33
mov al, byte [rbp - 0x59]
mov cl, byte [rbp - 0x5f]
and cl, al
mov al, 6
test cl, 1
mov byte [rbp - 0x49], al
jne 0x1400a9d9e
mov al, byte [rbp - 0x5d]
mov cl, byte [rbp - 0x5c]
mov edx, dword [rbp - 0x54]
sub edx, 2
sete dl
and cl, dl
mov byte [rbp - 0x60], cl
and cl, al
mov al, 7
test cl, 1
mov byte [rbp - 0x49], al
jne 0x1400a9d9e
mov eax, dword [0x1401dcb70]
sub eax, dword [0x1401dcb74]
mov ecx, 0x3fad37cb
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x51a6b067
xor eax, 0xec7c0740
sub ecx, eax
mov edx, 0xa1b41026
xor edx, 0x5e4befd9
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xc6354b31
and eax, edx
mov edx, 0x1fefdb90
xor edx, 0xd9da90a1
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xcf68d355
xor ecx, 0x30972caa
xor eax, ecx
cmp eax, 0x74e97c15
je 0x1400aa007
mov dl, byte [rbp - 0x59]
mov cl, byte [rbp - 0x60]
mov eax, dword [0x1401dcb78]
mov r11d, dword [0x1401dcb7c]
mov r10d, r11d
xor r10d, 0x8698f0c7
xor r11d, 0x79670f38
mov r9d, eax
and r9d, r11d
mov r8d, eax
or r8d, r11d
not r8d
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
or eax, 0x4845ab71
mov r8d, eax
and r8d, 0xaf00e8ce
mov r9d, eax
xor r9d, 0x50ff1731
add eax, r9d
sub eax, r8d
mov r8d, 0xa4ecb7ad
imul rax, r8
shr rax, 0x3e
and cl, dl
mov byte [rbp - 0x61], cl
cmp eax, 0xeac8108f
ja 0x1400a9ad6
mov cl, byte [rbp - 0x61]
mov al, 8
test cl, 1
mov byte [rbp - 0x49], al
jne 0x1400a9d9e
jmp 0x1400a9b70
mov al, byte [rbp - 0x59]
mov cl, byte [rbp - 0x5c]
mov edx, dword [rbp - 0x54]
sub edx, 3
sete dl
and cl, dl
mov byte [rbp - 0x62], cl
and cl, al
mov al, 9
test cl, 1
mov byte [rbp - 0x49], al
jne 0x1400a9d9e
mov al, byte [rbp - 0x5d]
mov cl, byte [rbp - 0x62]
and cl, al
mov al, 7
test cl, 1
mov byte [rbp - 0x49], al
jne 0x1400a9d9e
mov eax, dword [0x1401dcb80]
mov ecx, dword [0x1401dcb84]
mov edx, 0xa34528cc
xor edx, 0xd49b0955
xor ecx, edx
add eax, ecx
mov ecx, 0xb531ddd2
xor edx, edx
div ecx
mov ecx, 0x530acd86
xor edx, edx
div ecx
xor eax, 0xa27556ac
mov ecx, 0x2e64fbc1
xor ecx, 0x1030464d
cmp eax, ecx
jbe 0x1400aa010
mov dl, byte [rbp - 0x5d]
mov ecx, dword [rbp - 0x58]
mov eax, dword [0x1401dcb88]
mov r8d, dword [0x1401dcb8c]
xor eax, r8d
mov r8d, eax
xor r8d, 0xde649f13
xor eax, 0x219a60c8
or eax, 0x4051034
and eax, 0x864d5a3e
mov r9d, r8d
and r9d, 0x38a22401
or eax, r9d
xor eax, 0x32a1c4ca
and r8d, 0xb0e80e00
or eax, r8d
add eax, 0xe9f6bdf3
sub ecx, 0xa
sete cl
mov byte [rbp - 0x64], cl
and cl, dl
mov byte [rbp - 0x63], cl
cmp eax, 0x1760e8e2
jb 0x1400a9bef
mov cl, byte [rbp - 0x63]
mov al, 0xb
test cl, 1
mov byte [rbp - 0x49], al
jne 0x1400a9d9e
jmp 0x1400a9c6e
mov eax, dword [0x1401dcb90]
mov ecx, dword [0x1401dcb94]
mov edx, 0xc22b859f
xor edx, 0x826acbf
xor ecx, edx
add eax, ecx
mov ecx, 0x5523dc23
xor ecx, 0xb874437f
sub eax, ecx
add eax, 0x6c3861d2
add eax, 0xf908df3c
mov ecx, 0x62857ec3
xor ecx, 0xebd1f11
sub eax, ecx
add eax, 0x727f4639
cmp eax, 0xcc3e4243
je 0x1400aa019
mov cl, byte [rbp - 0x64]
mov edx, dword [rbp - 0x50]
mov r9d, dword [0x1401dcb98]
mov eax, dword [0x1401dcb9c]
mov r8d, eax
mov eax, r9d
lea eax, [rax + r8 - 0x5f9ef27a]
mov r8d, eax
not r8d
mov r9d, eax
and r9d, 0x470fee39
and r8d, 0xb8f011c6
imul r8d, r9d
mov r9d, eax
and r9d, 0xb8f011c6
or eax, 0xb8f011c6
imul eax, r9d
add eax, r8d
mov r9d, eax
not r9d
and r9d, 0x26cf2ae5
mov r8d, eax
and r8d, 0xd930d51a
imul r8d, r9d
mov r9d, eax
and r9d, 0x26cf2ae4
or eax, 0x26cf2ae5
imul eax, r9d
add eax, r8d
sub edx, 0x55f0
setl dl
and cl, dl
mov byte [rbp - 0x65], cl
cmp eax, 0x49449b62
ja 0x1400a9cbd
mov cl, byte [rbp - 0x65]
mov al, 0xa
test cl, 1
mov byte [rbp - 0x49], al
jne 0x1400a9d9e
jmp 0x1400a9d6f
mov cl, byte [rbp - 0x64]
mov eax, dword [rbp - 0x50]
sub eax, 0x55f0
setge al
and cl, al
mov al, 0xc
xor edx, edx
mov byte [rbp - 0x67], dl
test cl, 1
mov byte [rbp - 0x66], al
jne 0x1400a9d98
mov al, byte [rbp - 0x67]
mov byte [rbp - 0x66], al
mov al, byte [rbp - 0x66]
mov byte [rbp - 0x49], al
mov al, byte [rbp - 0x49]
mov byte [rbp - 0x68], al
lea rcx, [rbp + 0x18]
mov edx, 0x14
sub rsp, 0x20
call fcn.1400aa02b
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov edx, 0x14
sub rsp, 0x20
call fcn.1400aa02b
mov r10b, byte [rbp - 0x68]
mov r9d, dword [rbp - 0x58]
mov r8d, dword [rbp - 0x54]
mov edx, dword [rbp - 0x50]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov byte [rcx + 0x10], 1
mov byte [rcx], r10b
mov dword [rcx + 4], r9d
mov dword [rcx + 8], r8d
mov dword [rcx + 0xc], edx
mov rdx, qword [rcx]
mov qword [rbp + 0x18], rdx
mov rdx, qword [rcx + 8]
mov qword [rbp + 0x20], rdx
mov ecx, dword [rcx + 0x10]
mov dword [rbp + 0x28], ecx
cmp byte [rax], 0
jne 0x1400a9e35
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x18]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x20]
mov qword [rax + 8], rcx
mov ecx, dword [rbp + 0x28]
mov dword [rax + 0x10], ecx
jmp 0x1400a9ff1
sub rsp, 0x20
call fcn.1400aadac
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp word [rax + 0x12], 1
jle 0x1400a9ff1
mov eax, dword [0x1401dcba0]
or eax, dword [0x1401dcba4]
mov ecx, 0xe2c7515b
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xb1a2f918
xor edx, 0x4e5d06e7
mov eax, ecx
xor eax, edx
and eax, 0xa6839182
mov edx, 0xffffffff
xor edx, 0xa6839182
and ecx, edx
or eax, ecx
xor eax, 0x222be509
mov ecx, 0x1b5c4685
xor ecx, 0x2a0a19eb
cmp eax, ecx
je 0x1400aa022
mov eax, dword [0x1401dcba8]
mov ecx, 0x4861d972
xor ecx, 0x687d376b
xor eax, ecx
imul eax, dword [0x1401dcbac]
mov ecx, 0xd95ff65
xor ecx, 0xf26a009a
mov edx, eax
xor edx, ecx
and edx, 0x7c0a7142
mov r8d, 0xffffffff
xor r8d, 0x7c0a7142
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x7c0a7142
or eax, 0x7c0a7142
imul eax, edx
add eax, ecx
mov ecx, 0x1c760341
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x70]
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xc48a24bb
mov r8d, 0xffffffff
xor r8d, 0xe093b533
or eax, ecx
mov ecx, 0x7630938a
xor ecx, 0x96a326b9
or ecx, r8d
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x60cb093c
xor ecx, 0x73fe3129
mov rdx, qword [rdx + 0x18]
cmp dword [rdx + 8], 0xd4054986
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
jae 0x1400a9eaa
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1400a9f71
jmp 0x1400a9ff1
mov rax, qword [rbp - 0x30]
mov byte [rax], 0
lea rcx, [rbp - 0x18]
mov edx, 0x14
sub rsp, 0x20
call fcn.1400aa02b
add rsp, 0x20
lea rcx, [rbp - 0x18]
sub rsp, 0x20
call fcn.1400aa095
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a9ff1
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x18]
mov qword [rax], rcx
mov rcx, qword [rbp - 0x10]
mov qword [rax + 8], rcx
mov ecx, dword [rbp - 8]
mov dword [rax + 0x10], ecx
sub rsp, 0x20
call fcn.1400aadac
add rsp, 0x20
mov rcx, rax
add rcx, 0x10
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 0x38]
xor r8d, r8d
sub rsp, 0x20
call fcn.140011b1f
add rsp, 0x20
mov rax, qword [rbp - 0x40]
lea rsp, [rbp + 0x150]
pop rbp
ret
sub esp, ebp
cmp ecx, dword [rdx]
jmp 0x1400a99d4
invalid
mov cl, 0x42
invalid
fcomp qword [rbx - 0x6416a0f5]
cld
invalid
jmp qword [rcx + 0x16]