Function at 0x14008ad00
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x168
mov qword [rsp + 0x108], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
call fcn.14000efc9
mov rcx, qword [rsp + 0x108]
add rax, 0x60
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x158], 0
lea rax, [rsp + 0x158]
add rax, 8
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x160], 0
mov rcx, qword [rcx]
mov rax, rcx
shl rax, 1
mov qword [rsp + 0x120], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x140285008]
mulsd xmm0, xmm1
movsd qword [rsp + 0x128], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x130], xmm1
ucomisd xmm0, xmm1
jne 0x14008adac
jp 0x14008adac
jmp 0x14008af40
mov ecx, dword [0x1402760c0]
xor ecx, 0xfe3315a8
imul ecx, dword [0x1402760c4]
mov edx, 0xffffffff
xor edx, 0x6bcde791
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, eax
xor ecx, 0xd72ec25d
mov edx, 0xffffffff
xor edx, 0xd72ec25d
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0xec585675
xor ecx, 0xe948044f
or eax, ecx
mov ecx, 0x3667baa4
xor ecx, 0x30e6cca5
cmp eax, ecx
je 0x14008b6b8
movsd xmm1, qword [rsp + 0x128]
movsd xmm0, qword [rsp + 0x130]
mov eax, dword [0x1402760c8]
sub eax, dword [0x1402760cc]
mov ecx, 0x2ba20e01
xor ecx, 0x4ed0772f
and ecx, eax
xor ecx, 0xffffffff
mov edx, 0x99c04a95
xor edx, 0xfcb233bb
add eax, edx
add eax, 1
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xa4b0f92a
mov r8d, 0xffffffff
xor r8d, 0xa4b0f92a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x592af394
xor r8d, 0xfd9a0abe
mov edx, eax
and edx, r8d
or eax, 0xa4b0f92a
imul eax, edx
add eax, ecx
mov r8d, 0x5545ab1f
xor r8d, 0xa615cde3
mov ecx, 0xcd9a0f99
xor ecx, 0x3265f066
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xf35066fc
or eax, 0xf35066fc
imul eax, edx
add eax, ecx
mov dword [rsp + 0x100], eax
subsd xmm0, xmm1
call fcn.140271c60
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x128]
movsd qword [rsp + 0xf8], xmm1
call fcn.140271c60
movsd xmm1, qword [rsp + 0xf8]
mov eax, dword [rsp + 0x100]
movsd xmm2, qword [0x140285010]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
setb cl
mov byte [rsp + 0x107], cl
cmp eax, 0x5b59f906
jb 0x14008b6b8
mov al, byte [rsp + 0x107]
test al, 1
jne 0x14008af36
jmp 0x14008af40
call fcn.14000f24b
jmp 0x14008b6af
mov rax, qword [rsp + 0x120]
cmp rax, 0
jge 0x14008af72
mov rcx, qword [rsp + 0x120]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14001a720
jmp 0x14008b6af
mov rdx, qword [rsp + 0x120]
lea rcx, [rsp + 0x158]
call fcn.14004802b
mov r8, qword [rsp + 0x108]
mov rax, qword [rsp + 0x118]
mov rdx, qword [r8]
mov qword [rsp + 0xd8], rdx
mov rcx, r8
add rcx, 8
mov qword [rsp + 0xe0], rcx
mov rcx, qword [r8 + 8]
mov r9, qword [rsp + 0x158]
mov qword [r8], r9
mov r9, qword [rsp + 0x160]
mov qword [r8 + 8], r9
mov qword [rsp + 0x158], rdx
mov qword [rax], rcx
lea rax, [rsp + 0x148]
add rax, 8
mov qword [rsp + 0xe8], rax
xor eax, eax
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0xd0], rax
cmp rax, rcx
jge 0x14008b682
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
setns al
mov rdx, qword [rsp + 0x158]
mov qword [rsp + 0xc8], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14008b067
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
call fcn.1400292ad
jmp 0x14008b6af
mov rax, qword [rsp + 0x110]
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x118]
mov rcx, qword [rcx]
mov qword [rsp + 0xb0], rcx
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rsp + 0xb8], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rsp + 0xc7], al
or al, cl
test al, 1
jne 0x14008b43b
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x108]
mov r8, qword [rax]
mov qword [rsp + 0x90], r8
mov rax, r8
dec rax
mov qword [rsp + 0x98], rax
and rax, rcx
mov qword [rsp + 0xa0], rax
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov qword [rsp + 0xa8], rax
jne 0x14008b111
jmp 0x14008b205
mov eax, dword [0x1402760d0]
imul eax, dword [0x1402760d4]
mov ecx, 0x6e3bab08
xor ecx, 0x6d0a71a7
xor eax, ecx
add eax, 0x11adedf
mov ecx, 0x1a851d45
xor ecx, 0x9c044acc
xor edx, edx
div ecx
mov ecx, 0xcbf95f75
xor ecx, 0x2ded4de1
cmp eax, ecx
jae 0x14008b6c1
mov rdx, qword [rsp + 0xe0]
mov r9d, dword [0x1402760d8]
xor r9d, 0xb19f7788
mov eax, dword [0x1402760dc]
xor eax, 0xffffffff
add r9d, eax
mov eax, 0xdda756bd
xor eax, 0xdda756bc
add r9d, eax
mov eax, r9d
xor eax, 0xffffffff
and eax, 0x5211fa1c
mov r8d, 0xffffffff
xor r8d, 0x5211fa1c
and r9d, r8d
mov ecx, 0xffffffff
xor ecx, 0x2c769e0f
and ecx, 0x5211fa1c
and r8d, 0x2c769e0f
or eax, r9d
or ecx, r8d
xor eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x9feacb77
add ecx, eax
xor eax, eax
sub eax, ecx
sub eax, 0xb7538f24
mov ecx, 0xf29b03fb
xor ecx, 0x3d125b68
mov rdx, qword [rdx]
mov qword [rsp + 0x88], rdx
cmp eax, ecx
jae 0x14008b152
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x80], rax
jmp 0x14008b21f
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa8]
call fcn.1400292ad
jmp 0x14008b6af
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x78], rax
mov ecx, dword [0x1402760e0]
mov edx, dword [0x1402760e4]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, eax
and ecx, 0xbff62844
shl ecx, 1
xor eax, 0xbff62844
add eax, ecx
or eax, 0x30d1a102
xor eax, 0xa04f4a74
mov ecx, 0x7652990
xor ecx, 0x514d25d6
cmp eax, ecx
jb 0x14008b6ca
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x1402760e8]
xor eax, 0x16bdbd7d
imul eax, dword [0x1402760ec]
xor eax, 0x1d8cdbac
xor eax, 0xa4f1f6c6
mov r8d, 0x96f63d8f
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x78]
add rcx, 8
shl rdx, 5
add rcx, rdx
cmp qword [rcx], 0
sete cl
mov byte [rsp + 0x77], cl
cmp eax, 0xa4d34ac5
je 0x14008b26f
mov al, byte [rsp + 0x77]
test al, 1
jne 0x14008b329
jmp 0x14008b2d5
mov r8, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x78]
inc rcx
not rax
not rcx
or rax, rcx
xor rax, 0xffffffffffffffff
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov rcx, rax
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x80], rax
jne 0x14008b21f
jmp 0x14008b205
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xb0]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov ax, word [rcx]
mov word [rsp + 0x66], ax
call fcn.14004825c
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0x68], rcx
cmp rax, rcx
jl 0x14008b398
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x68]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
call fcn.1400292ad
jmp 0x14008b6af
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x118]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x10
mov rax, qword [rcx]
mov qword [rsp + 0x50], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x58], rax
call fcn.140020530
mov r11, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0x108]
mov r8w, word [rsp + 0x66]
mov r10, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x148], r11
mov qword [rcx], r9
lea r9, [rsp + 0x148]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14008a9d0
mov rax, qword [rsp + 0x110]
mov al, byte [rax]
mov cl, 0xb6
xor cl, 0xb6
cmp al, cl
je 0x14008b463
jmp 0x14008b6af
mov rcx, qword [rsp + 0xd0]
mov dl, byte [rsp + 0xc7]
xor eax, eax
test dl, 1
mov qword [rsp + 0x40], rcx
mov byte [rsp + 0x4f], al
jne 0x14008b663
jmp 0x14008b463
mov r11d, dword [0x1402760f0]
mov eax, 0xee9440a4
xor eax, 0xe4d0707e
xor r11d, eax
mov ecx, dword [0x1402760f4]
xor eax, eax
sub eax, ecx
sub r11d, eax
or r11d, r11d
xor r11d, 0xffffffff
mov eax, 0x74d196df
xor eax, 0xb41485a
mov ecx, 0x142fdcc9
xor ecx, 0x6bbf024c
or eax, ecx
xor eax, 0xffffffff
xor r11d, 0xffffffff
xor eax, 0xffffffff
and r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xb88b540
mov edx, 0x1bbf5aa0
xor edx, 0xd98dd2b2
mov eax, 0x2bb1c4e1
xor eax, 0xd44e3b1e
xor edx, eax
mov eax, ecx
and eax, 0xc2328812
and r11d, edx
mov r9d, r8d
and r9d, 0xc2328812
mov r10d, 0x7edf9d2f
xor r10d, 0x7557286f
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0xa8906ea
xor r8d, 0xf576f915
xor ecx, r8d
or edx, 0xc2328812
and ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x46194315
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x30e3b2ad
xor r8d, 0xcf1c4d52
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x46194315
mov r8d, 0x528269a8
xor r8d, 0x149b2abd
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xe67cc803
je 0x14008b6d3
mov r8, qword [rsp + 0xd0]
mov eax, dword [0x1402760f8]
xor edx, edx
div dword [0x1402760fc]
mov ecx, 0xa57046b9
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x4b6fe851
xor eax, 0x4b6fe851
mov edx, 0xdec6bae2
xor edx, 0x63eb49cb
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xe3b3d7ac
xor ecx, 0x1c4c2853
mov edx, eax
xor edx, ecx
and edx, 0x4938c939
mov r9d, 0x9a4629db
xor r9d, 0xd37ee0e2
mov ecx, 0x6ae072bf
xor ecx, 0x951f8d40
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, 0x4938c939
or eax, 0x4938c939
imul eax, edx
add eax, ecx
xor ecx, ecx
sub rcx, 1
mov rdx, r8
sub rdx, rcx
mov qword [rsp + 0x30], rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x5a42bcce
je 0x14008b6d3
mov rcx, qword [rsp + 0x30]
mov dl, byte [rsp + 0x3f]
mov al, 1
test dl, 1
mov qword [rsp + 0x40], rcx
mov byte [rsp + 0x4f], al
jne 0x14008b659
jmp 0x14008b663
call fcn.14000f24b
jmp 0x14008b6af
mov rax, qword [rsp + 0x40]
mov cl, byte [rsp + 0x4f]
test cl, 1
mov qword [rsp + 0xf0], rax
jne 0x14008aff5
jmp 0x14008b6af
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x138]
call fcn.140072d50
movabs eax, dword [0x68c4814890fffe76]
add dword [rax], eax
add bl, al
nop
add rsp, 0x168
ret
mov cl, 0x8a
and byte [rcx + rbp*8 + 0x49], bh
idiv edi
push rdi
ja 0x14008b6ab
div dword [rdi - 0x19]
jmp 0x14008b152
xor di, word [rsi + 0x33]
jmp 0x14008b26f
push rdi
and ebp, dword [rcx + 0x73]
jmp 0x14008b575