Function at 0x1400a0220
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x110
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], rcx
mov eax, 0x10
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.14009ee7f
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov qword [rbp + 0x38], rax
mov rax, rcx
add rax, 0x28
mov qword [rbp + 0x40], rax
mov rax, qword [rcx + 0x28]
movabs rcx, 0xecb925f50c6df5f1
movabs rdx, 0xecb925f50c6df5f1
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x48], rax
jne 0x1400a0432
mov ecx, 4
sub rsp, 0x20
call fcn.140037f64
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x20], rcx
mov al, byte [rax]
mov cl, 0xe1
xor cl, 0xe1
cmp al, cl
jne 0x1400a0a04
mov rdx, qword [rbp + 0x20]
movabs rcx, 0x6bb01f447d921837
movabs rax, 0x944fe0bb826de7c8
xor rcx, rax
mov rax, rdx
and rax, rcx
mov rcx, rdx
or rcx, 0xffffffffffffffff
add rax, rcx
mov qword [rbp + 0x18], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x1400a0317
jmp 0x1400a03d5
mov eax, dword [0x140204cc8]
xor edx, edx
div dword [0x140204ccc]
imul eax, eax, 0x98558f2d
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x8ed953c2
mov edx, 0xffffffff
xor edx, 0x8ed953c2
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x9c7d3143
xor edx, 0x6382cebc
xor ecx, edx
or eax, ecx
add eax, 0xf9a3caa3
cmp eax, 0x11fb088
jb 0x1400a0ad0
mov eax, dword [0x140204cd0]
xor eax, dword [0x140204cd4]
mov ecx, 0x37fbb369
xor ecx, 0x73e8bfe3
add eax, ecx
and eax, 0x8b1eb3
mov ecx, eax
xor ecx, 0x72a94b90
mov edx, 0x76b8d963
xor edx, 0x41192f3
mov r8d, 0xd4a71d71
xor r8d, 0x2b58e28e
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
mov dword [rbp + 0x14], eax
sub rsp, 0x20
call fcn.140007f57
mov eax, dword [rbp + 0x14]
add rsp, 0x20
cmp eax, 0xd8a9d418
je 0x1400a036a
jmp 0x1400a0a04
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x18]
mov qword [rcx], rdx
cmp rax, 0
jge 0x1400a0412
mov rcx, qword [rbp + 0x20]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x1400a0a04
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14001f231
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0x48], rax
mov r9, qword [rbp + 0x48]
mov rax, r9
add rax, 1
mov qword [rbp + 8], rax
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rcx, 0x3314d58d579fe2ad
and rdx, rcx
mov r8, 0xffffffffffffffff
movabs rcx, 0x3314d58d579fe2ad
xor r8, rcx
and r9, r8
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r10, 0x3314d58d579fe2ad
and rcx, r10
and r8, 0xffffffffffffffff
or rdx, r9
or rcx, r8
xor rdx, rcx
movabs r8, 0x5912db8946c0fc3e
movabs rcx, 0x5912db8946c0fc3f
xor r8, rcx
mov rcx, rax
add rcx, r8
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x1400a04d4
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400a0a04
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x30]
mov rdx, rcx
add rdx, 0x20
mov qword [rbp], rdx
cmp rax, qword [rcx + 0x20]
jg 0x1400a0a04
mov rcx, qword [rbp + 8]
lea rdx, [rbp + 0x88]
sub rsp, 0x20
call fcn.1400a0af4
add rsp, 0x20
test al, 1
jne 0x1400a0516
jmp 0x1400a0528
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400a0a04
mov rax, qword [rbp + 0x88]
mov qword [rbp - 8], rax
cmp rax, 0
jge 0x1400a0561
mov rcx, qword [rbp - 8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x1400a0a04
mov rdx, qword [rbp - 8]
lea rcx, [rbp + 0x70]
sub rsp, 0x20
call fcn.14001f25b
mov rax, qword [rbp + 0x30]
add rsp, 0x20
mov rdx, qword [rbp + 0x70]
mov qword [rbp - 0x48], rdx
mov rcx, qword [rbp + 0x78]
mov qword [rbp - 0x40], rcx
mov rcx, rax
add rcx, 0x10
mov qword [rbp - 0x38], rcx
mov rcx, qword [rax + 0x10]
add rax, 8
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0x60]
add rax, 8
mov qword [rbp - 0x28], rax
xor eax, eax
test rdx, rdx
cmovg rax, rdx
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp]
mov rdx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rdx
cmp rax, qword [rcx]
jge 0x1400a071e
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x30]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x60], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x1400a0638
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x60]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x1400a0a04
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x20]
cmp rax, rcx
jne 0x1400a0667
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140014583
add rsp, 0x20
jmp 0x1400a0a04
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x30]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp - 0x70], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.140011160
mov rcx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x28]
mov r9, qword [rbp - 0x58]
add rsp, 0x20
add rcx, 8
shl r9, 4
add rcx, r9
mov qword [rbp + 0x60], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.140015990
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
movabs r8, 0x79759d7a07162fac
movabs r9, 0x79759d7a07162fad
xor r8, r9
add rax, r8
mov r8, 0xffffffffffffffff
xor r8, 1
xor r9d, r9d
sub r9, 1
sub r8, r9
sub rcx, r8
and rcx, qword [rdx]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
jmp 0x1400a05c4
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp - 0x40]
mov r8, qword [rbp - 0x48]
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400a0010
mov rax, qword [rbp + 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400a0a04
mov rcx, qword [rbp + 8]
lea rdx, [rbp + 0x80]
sub rsp, 0x20
call fcn.1400a0af4
add rsp, 0x20
test al, 1
jne 0x1400a0774
jmp 0x1400a084b
mov eax, dword [0x140204cd8]
mov edx, dword [0x140204cdc]
mov r8d, 0x758738b8
xor r8d, 0x758738b9
mov ecx, eax
add ecx, r8d
xor eax, 0xffffffff
or eax, edx
add eax, ecx
imul eax, eax, 0x2cb6256c
mov ecx, 0x34673d9a
xor ecx, 0x43066040
xor edx, edx
div ecx
mov ecx, 0xd980226d
xor ecx, 0x267fdd92
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0x61899ac8
mov ecx, 0xa2505fa6
xor ecx, 0x54037642
mov r8d, 0xa409c54e
xor r8d, 0x5bf63ab1
xor ecx, r8d
or eax, edx
or ecx, 0xf65329e4
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0x26cd5564
je 0x1400a0ad9
mov eax, dword [0x140204ce0]
add eax, dword [0x140204ce4]
mov ecx, eax
and ecx, 0x6c3d5747
xor ecx, 0xffffffff
add eax, 0x6c3d5747
add eax, 1
add eax, ecx
mov ecx, 0x424d3b5b
xor edx, edx
div ecx
or eax, 0x99583e0f
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.140007f57
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp eax, 0xb337ecda
ja 0x1400a0ad9
jmp 0x1400a0a04
mov eax, dword [0x140204ce8]
xor eax, 0x2fccdf5e
mov ecx, dword [0x140204cec]
xor ecx, 0xfb4cfd3f
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0xdfffa9ba
xor eax, 0x88837176
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0x48d40c32
xor edx, 0x680e9caf
mov r8d, 0x284b80f5
xor r8d, 0xd7b47f0a
xor edx, r8d
or eax, edx
mov edx, 0x20da909d
and edx, 0x20da909d
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
add eax, 0x935eb447
add eax, 0xab22f988
sub eax, 0x935eb447
mov ecx, 0xb412f8b4
xor ecx, 0x14ef8a8b
cmp eax, ecx
je 0x1400a0ae2
mov eax, dword [0x140204cf0]
xor eax, 0x8059b68a
sub eax, dword [0x140204cf4]
mov ecx, 0xe392d210
xor edx, edx
div ecx
mov edx, eax
mov ecx, edx
xor ecx, 0x14e036ea
mov eax, 0xffffffff
xor eax, 0x14e036ea
and edx, eax
mov eax, 0x476c796e
xor eax, 0x476c796c
imul eax, edx
sub eax, ecx
and eax, 0xa38b5c96
mov r9, qword [rbp + 0x80]
xor ecx, ecx
mov edx, ecx
sub rdx, r9
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov qword [rbp - 0x80], rcx
mov rdx, rcx
and rdx, r9
movabs r8, 0x4242f38d9ae716b6
movabs r10, 0x4242f38d9ae716b4
xor r8, r10
imul r8, rdx
mov rdx, rcx
add rdx, r9
sub rdx, r8
cmp rdx, 0
setl dl
movabs r8, 0x60e48487ab17326b
movabs r9, 0x9f1b7b7854e8cd94
xor r8, r9
cmp rcx, r8
setg cl
and cl, dl
mov byte [rbp - 0x75], cl
cmp eax, 0xd62c78ec
ja 0x1400a0ae2
mov al, byte [rbp - 0x75]
test al, 1
jne 0x1400a09ac
jmp 0x1400a09be
sub rsp, 0x20
call fcn.140007f57
add rsp, 0x20
jmp 0x1400a0a04
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp]
mov r8, qword [rbp + 0x40]
mov r9, qword [rbp - 0x80]
mov qword [r8], r9
mov rdx, qword [rdx]
mov qword [rcx + 0x18], rdx
mov qword [rax], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0
lea rcx, [rbp + 0x50]
sub rsp, 0x20
call fcn.14009e910
add rsp, 0x20
mov eax, dword [0x140204cf8]
xor eax, 0x50108d08
add eax, dword [0x140204cfc]
sub eax, 0x98154dc1
add eax, 0xa2a236bd
mov ecx, 0x52278243
xor ecx, 0xca32cf82
add eax, ecx
mov ecx, 0xcfec6edc
xor ecx, 0x7290f7dd
sub eax, ecx
sub eax, 0x97862e68
mov ecx, 0xfb30a229
xor ecx, 0x464c3b28
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xe190f0cb
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xe190f0cb
or eax, 0xe190f0cb
imul eax, edx
add eax, ecx
mov ecx, 0xe174eb8e
xor ecx, 0xfb8b90f2
cmp eax, ecx
jbe 0x1400a0aeb
mov ecx, dword [0x140204d00]
imul ecx, dword [0x140204d04]
mov eax, ecx
and eax, 0x929ea2f6
or ecx, 0x929ea2f6
add eax, ecx
imul eax, eax, 0x5dd54ec7
mov ecx, 0xf25dc8a6
xor ecx, 0x2b5cba11
sub eax, ecx
cmp eax, 0xf09d86fd
jae 0x1400a0a8d
lea rsp, [rbp + 0x90]
pop rbp
ret
shr word [rbx], 0xc7
jmp 0x1400a036a
int1
add cl, byte [rbp - 0x2e816fe]
invalid
invalid
mov word [rdi + rdx], es
invalid