Function at 0x14008ad90
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
call fcn.1400741ed
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov rdx, qword [rdx]
call fcn.140074650
mov rax, qword [rsp + 0x70]
mov al, byte [rax]
mov cl, 0xa9
xor cl, 0xa9
cmp al, cl
jne 0x14008b14e
mov rax, qword [rsp + 0x60]
mov r8, qword [rax]
mov rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, r8
sub rax, rcx
mov qword [rsp + 0x58], rax
movabs rcx, 0x4cf45dda06ec0ede
movabs rdx, 0xb30ba225f913f121
xor rcx, rdx
mov rdx, rax
xor rdx, rcx
mov rcx, r8
and rcx, rdx
xor r8, 0xffffffffffffffff
mov rdx, rax
and rdx, r8
or rcx, rdx
cmp rcx, 0
setl dl
movabs rcx, 0xd36c81ae17b61e6b
movabs r8, 0x2c937e51e849e194
xor rcx, r8
cmp rax, rcx
setg cl
mov al, cl
xor al, 0xff
mov r9b, 1
xor r9b, 0
mov r8b, dl
xor r8b, r9b
or al, r8b
xor r8d, r8d
xor r8b, 1
xor cl, r8b
xor dl, 0xff
or cl, dl
and al, cl
xor al, 0xff
test al, 1
jne 0x14008ae92
mov rax, qword [rsp + 0x60]
add rax, 8
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x14008ae9c
call fcn.140008bc6
jmp 0x14008b14e
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x40], rax
cmp rax, rcx
jg 0x14008b14e
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
mov qword [rsp + 0x38], rcx
cmp rax, rcx
jl 0x14008afd3
mov eax, dword [0x14021a6d8]
imul eax, dword [0x14021a6dc]
mov ecx, 0x27921cee
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xcdd5b0a5
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xbe28c99b
xor edx, 0x73fd793e
mov r8d, 0xd1d6082b
xor r8d, 0x2e29f7d4
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
mov edx, 0x1d57c24e
xor edx, 0xe2a83db1
xor ecx, edx
or eax, ecx
mov ecx, 0x9bc54ea
xor ecx, 0xa9223870
xor edx, edx
div ecx
cmp eax, 0x99523d23
je 0x14008b153
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov r8d, dword [0x14021a6e0]
mov r9d, dword [0x14021a6e4]
mov eax, 0xffb5c0ee
xor eax, 0x4a3f11
xor r9d, eax
mov eax, r8d
xor eax, r9d
and eax, r8d
add eax, 0x1bcdd1f
and eax, 0x357413a5
xor r8d, r8d
sub r8d, 0x8414264e
add eax, r8d
mov dword [rsp + 0x34], eax
movabs rax, 0xdfc3e4ef3b8f44f0
add rdx, rax
movabs rax, 0xe575a05fd251f802
movabs r8, 0x1a8a5fa02dae07fd
xor rax, r8
add rdx, rax
movabs rax, 0xdfc3e4ef3b8f44f0
sub rdx, rax
call fcn.1400153d3
mov eax, dword [rsp + 0x34]
cmp eax, 0xd77f4d8
je 0x14008af3d
jmp 0x14008b14e
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rdx, qword [rax + rdx*8 + 8]
call fcn.14008ab90
mov rax, qword [rsp + 0x70]
cmp byte [rax], 0
jne 0x14008b14e
mov eax, dword [0x14021a6e8]
and eax, dword [0x14021a6ec]
sub eax, 0xf156aaa5
add eax, 0x7b9a3e01
add eax, 0xf156aaa5
mov ecx, 0x36b57b4d
xor ecx, 0x527b442c
sub eax, ecx
mov ecx, 0x6bf0350b
xor ecx, 0xda507f82
add eax, ecx
mov ecx, 0x3c75add3
xor ecx, 0xfefbc701
cmp eax, ecx
jae 0x14008b15c
mov rcx, qword [rsp + 0x40]
mov r8d, dword [0x14021a6f0]
mov eax, dword [0x14021a6f4]
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
and eax, eax
mov r8d, 0xfbc52eea
xor r8d, 0x43ad115
xor eax, r8d
and edx, eax
xor edx, 0xffffffff
mov eax, edx
or eax, eax
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x4132432c
mov r9d, 0x3a7a15dd
xor r9d, 0x7b4856f1
mov r10d, 0x15ecf9fd
xor r10d, 0xea130602
xor r9d, r10d
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
mov r8d, 0x492436d
xor r8d, 0x45a00041
mov r9d, 0xf0eb016d
xor r9d, 0xf14fe92
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0xe63eff8f
xor edx, 0x8c9f24e8
imul eax, edx
mov edx, 0xeb286bcd
xor edx, 0x982f2d42
mov r8d, 0xfd0512c6
xor r8d, 0x2faed39
xor edx, r8d
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub eax, edx
movabs rdx, 0xe67f6d90c0444c14
movabs r8, 0xe67f6d90c0444c15
xor rdx, r8
add rcx, rdx
mov qword [rsp + 0x28], rcx
cmp eax, 0x79729386
je 0x14008b045
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x50], rax
jmp 0x14008ae9c
add rsp, 0x78
ret
cmpsd dword [rsi], dword [rdi]
jge 0x14008b174
push rbx
jmp 0x14008af3d
xchg edx, eax
fnstenv [rbp - 0x11f1699]
invalid
push rax
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov eax, dword [0x14021a6f8]
xor eax, 0xfd64583d
mov ecx, dword [0x14021a6fc]
xor ecx, 0xffffffff
mov edx, 0xd31fc8ef
xor edx, 0xd31fc8ef
mov r8d, 0x3d216ca0
xor r8d, 0x3d216ca1
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov edx, 0xffffffff
xor edx, 0x4b3fb3fe
mov ecx, eax
and ecx, edx
mov r8d, 0x542c13b4
xor r8d, 0x1f13a04a
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x65f76f6
mov r8d, 0xffffffff
xor r8d, 0x65f76f6
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x65f76f6
mov r8d, 0x8eafce6c
xor r8d, 0x88f0b89a
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0xfec56629
xor edx, 0xc6523c06
or eax, edx
add eax, ecx
cmp eax, 0x965b5354
jae 0x14008b4c9
mov eax, 0x5c20a5dd
mov dword [rbp - 0x18], eax
mov eax, 0x10
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.1400741ed
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x20], rdx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140074650
mov rcx, qword [rbp - 0x20]
mov eax, dword [rbp - 0x18]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0xc3570af1
jae 0x14008b239
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14008b2ac
jmp 0x14008b4c4
mov rax, qword [rbp - 0x10]
mov rdx, qword [rax]
movabs rcx, 0x2c8a139e6526fbd6
mov rax, rdx
sub rax, rcx
movabs rcx, 0x4f6a33072f62679c
movabs r8, 0xb095ccf8d09d9863
xor rcx, r8
add rax, rcx
movabs rcx, 0x51c1ff8859107e11
movabs r8, 0x7d4bec163c3685c7
xor rcx, r8
add rax, rcx
mov qword [rbp - 0x30], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
movabs rcx, 0x2e0133c121ecf156
movabs r8, 0xd1fecc3ede130ea9
xor rcx, r8
cmp rax, rcx
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x14008b3e0
mov eax, dword [0x14021a708]
or eax, dword [0x14021a70c]
and eax, 0x14a3b16c
mov ecx, eax
and ecx, 0x7e93b61f
xor ecx, 0xffffffff
add eax, 0x7e93b61f
add eax, 1
add eax, ecx
mov ecx, 0xdb90727a
xor ecx, 0x7c103ef0
and eax, ecx
cmp eax, 0x993cc8d1
jae 0x14008b4d2
mov ecx, dword [0x14021a710]
xor ecx, 0x7285c6d2
add ecx, dword [0x14021a714]
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0x80db8d28
xor eax, 0xc71fa27c
and eax, edx
mov edx, 0xffffffff
xor edx, 0x47c42f54
and ecx, edx
or eax, ecx
mov ecx, 0xa3e9f41f
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x10]
or eax, 0x226ae162
mov ecx, 0x58cb380f
xor ecx, 0xd96eb5a4
add rdx, 8
mov qword [rbp - 0x38], rdx
cmp eax, ecx
je 0x14008b376
xor eax, eax
mov qword [rbp - 0x40], rax
jmp 0x14008b3f2
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
jmp 0x14008b4c4
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x48], rax
cmp rax, rcx
jg 0x14008b4c4
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x50], rcx
cmp rax, rcx
jl 0x14008b457
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x50]
movabs rax, 0xecce403038e573cb
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xecce403038e573cb
sub rdx, rax
sub rsp, 0x20
call fcn.1400153d3
add rsp, 0x20
jmp 0x14008b4c4
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 8]
clc
mov r8, qword [rbp - 0x48]
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
add rax, 8
shl r8, 4
add rax, r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140075659
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14008b4c4
mov rax, qword [rbp - 0x48]
movabs rcx, 0x3f555806181b5b5f
movabs rdx, 0x3f555806181b5b5e
xor rcx, rdx
add rax, rcx
mov qword [rbp - 0x40], rax
jmp 0x14008b3f2
mov rsp, rbp
pop rbp
ret
jo 0x14008b45d
test byte [rdx - 0x29817], cl
inc dword [rbp - 0x169a713d]
test ebx, eax
mov fs, word [rbp - 0x17]
wait
invalid