Function at 0x14007e180
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x148
mov qword [rsp + 0xf8], rcx
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov rcx, qword [rsp + 0xf8]
add rax, 0x60
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x138], 0
lea rax, [rsp + 0x138]
add rax, 8
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x140], 0
mov rcx, qword [rcx]
mov rax, rcx
shl rax, 1
mov qword [rsp + 0x110], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1402bdfd0]
mulsd xmm0, xmm1
movsd qword [rsp + 0x118], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x120], xmm1
ucomisd xmm0, xmm1
jne 0x14007e22c
jp 0x14007e22c
jmp 0x14007e28a
movsd xmm1, qword [rsp + 0x118]
movsd xmm0, qword [rsp + 0x120]
subsd xmm0, xmm1
call fcn.1402a7e80
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x118]
movsd qword [rsp + 0xf0], xmm1
call fcn.1402a7e80
movsd xmm1, qword [rsp + 0xf0]
movsd xmm2, qword [0x1402bdfd8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14007e28a
call fcn.14000ee80
jmp 0x14007ebe6
mov rax, qword [rsp + 0x110]
cmp rax, 0
jge 0x14007e2bc
mov rcx, qword [rsp + 0x110]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.140018506
jmp 0x14007ebe6
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x138]
call fcn.14002da8a
mov r8, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x108]
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 + 0x138]
mov qword [r8], r9
mov r9, qword [rsp + 0x140]
mov qword [r8 + 8], r9
mov qword [rsp + 0x138], rdx
mov qword [rax], rcx
xor eax, eax
mov qword [rsp + 0xe8], rax
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xd0], rax
cmp rax, rcx
jge 0x14007ebb9
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
setns al
mov rdx, qword [rsp + 0x138]
mov qword [rsp + 0xc8], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14007e398
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xc8]
add rdx, 0xffffffffffffffff
call fcn.140025e55
jmp 0x14007ebe6
mov eax, dword [0x1402ab3e0]
mov r8d, dword [0x1402ab3e4]
xor r8d, 0x4a94e608
mov edx, 0xd01fd0c
xor edx, 0xf2fe02f3
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov ecx, 0x49c35cb8
xor ecx, 0xb63ca347
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x5ef3152c
xor ecx, 0xffffffff
or eax, 0x5ef3152c
and eax, ecx
mov ecx, eax
and ecx, 0x6988227
xor ecx, 0xffffffff
add eax, 0x6988227
mov edx, 0x14827142
xor edx, 0x14827143
add eax, edx
add eax, ecx
mov edx, eax
xor edx, 0x445ceef
xor edx, 0xffffffff
mov ecx, 0x96dc5d2a
xor ecx, 0x929993c5
and ecx, edx
shl ecx, 1
sub ecx, 0x445ceef
sub eax, ecx
cmp eax, 0x33db9bb8
jae 0x14007ebef
mov rcx, qword [rsp + 0x100]
mov r8, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x108]
mov r9d, dword [0x1402ab3e8]
mov eax, dword [0x1402ab3ec]
xor eax, r9d
xor eax, 0x69b9396
add eax, 0x3f638415
and eax, 0x446ebef
mov rdx, qword [rdx]
mov qword [rsp + 0xb0], rdx
lea r8, [r8 + r8*2]
mov rdx, qword [rdx + r8*8 + 8]
mov qword [rsp + 0xb8], rdx
test rdx, rdx
sete dl
mov cl, byte [rcx]
test cl, cl
setne cl
mov byte [rsp + 0xc6], cl
or cl, dl
mov byte [rsp + 0xc7], cl
cmp eax, 0x61d17b0e
ja 0x14007e445
mov al, byte [rsp + 0xc7]
test al, 1
jne 0x14007ea90
jmp 0x14007e4d4
mov rdx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xf8]
mov r8, qword [rax]
mov qword [rsp + 0x90], r8
mov rax, r8
dec rax
mov qword [rsp + 0x98], rax
mov rcx, rax
xor rcx, rdx
not rcx
or rax, rdx
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 0x14007e538
jmp 0x14007e692
mov r11d, dword [0x1402ab3f0]
xor r11d, 0xdd741ec9
mov eax, dword [0x1402ab3f4]
xor eax, 0xdcb25364
sub r11d, 0x6b6c9c16
add r11d, eax
add r11d, 0x6b6c9c16
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xfe966994
mov edx, 0x3ebc115f
xor edx, 0x912068fe
mov eax, 0x9e29fb67
xor eax, 0x61d60498
xor edx, eax
mov eax, ecx
and eax, 0xaf9c79a1
and r11d, edx
mov r9d, r8d
and r9d, 0xaf9c79a1
mov r10d, 0x352a842
xor r10d, 0xfdc4c1d6
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xaf9c79a1
and ecx, edx
or eax, ecx
add eax, 0x1aed75fb
mov ecx, 0x9b121951
xor edx, edx
div ecx
cmp eax, 0xa067dba0
je 0x14007ebf8
mov rcx, qword [rsp + 0xe0]
mov eax, dword [0x1402ab3f8]
sub eax, dword [0x1402ab3fc]
and eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2beb0075
mov r8d, 0xffffffff
xor r8d, 0x2beb0075
or edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, eax
and edx, 0xfd32d59d
xor edx, 0xffffffff
mov r8d, 0x3664bfc5
xor r8d, 0xcb566a58
and eax, r8d
mov r8d, 0x2b2a058c
xor r8d, 0xd4d5fa73
xor eax, r8d
and edx, eax
xor edx, 0xffffffff
mov eax, edx
and eax, 0x9c887e19
mov r8d, 0x25821e67
xor r8d, 0xb90a607e
or edx, r8d
add eax, edx
mov rcx, qword [rcx]
mov qword [rsp + 0x88], rcx
cmp eax, 0x42c3f9dd
ja 0x14007ebf8
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x80], rax
jmp 0x14007e7a5
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x78], rax
mov eax, dword [0x1402ab400]
xor edx, edx
div dword [0x1402ab404]
mov r8d, eax
add r8d, 0x9327960e
add r8d, 0xb8c66be2
sub r8d, 0x9327960e
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0x841bc555
xor ecx, 0xfdec4795
and ecx, eax
mov r9d, 0xffffffff
xor r9d, 0x79f782c0
and r8d, r9d
mov eax, 0xffffffff
xor eax, 0x15b0e732
and eax, 0x79f782c0
mov edx, 0x1004a99c
xor edx, 0x5b44eae
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
and eax, 0x5b7ffc0d
mov edx, 0xc96fa5e
xor edx, 0x57e90653
xor ecx, edx
or eax, ecx
mov ecx, 0x28ca8eff
xor ecx, 0x63a7b9ac
cmp eax, ecx
jbe 0x14007ec01
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1402ab408]
xor edx, edx
div dword [0x1402ab40c]
mov edx, eax
add edx, 0xaac518e8
mov eax, edx
and eax, 0xefab7b2d
mov r8d, 0xcd66b959
xor r8d, 0x329946a6
xor eax, r8d
and edx, 0xefab7b2d
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov r8d, 0x76f42082
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x98]
mov dword [rsp + 0x74], eax
call fcn.140025e55
mov eax, dword [rsp + 0x74]
cmp eax, 0xc518894b
jae 0x14007ec01
jmp 0x14007ebe6
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x68], rcx
add rax, 8
imul rcx, rcx, 0x18
add rax, rcx
cmp qword [rax], 0
je 0x14007e819
mov r8, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x68]
inc rcx
and rax, rcx
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 0x14007e7a5
jmp 0x14007e692
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xb0]
add rcx, 8
imul rax, rax, 0x18
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rsp + 0x58], rax
call fcn.140042b57
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x138]
mov qword [rsp + 0x60], rcx
cmp rax, rcx
jl 0x14007ea04
mov eax, dword [0x1402ab410]
xor edx, edx
div dword [0x1402ab414]
mov ecx, 0xedc36ec2
xor edx, edx
div ecx
mov ecx, 0x3bd70901
xor ecx, 0x2073a30f
and eax, ecx
mov r8d, 0x6050888a
xor r8d, 0x1283936
mov ecx, 0x4cf3eea9
xor ecx, 0xb30c1156
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x3cfab423
xor r8d, 0xc3054bdc
xor ecx, r8d
imul ecx, edx
mov r8d, 0x474aeb21
xor r8d, 0x26325a9d
mov edx, eax
and edx, r8d
or eax, 0x6178b1bc
imul eax, edx
add eax, ecx
cmp eax, 0x30bc6cd2
je 0x14007ec0a
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x60]
mov eax, dword [0x1402ab418]
mov r9d, dword [0x1402ab41c]
xor r9d, 0x473bfa0b
xor r8d, r8d
sub r8d, eax
mov eax, 0xe449ca63
xor eax, 0xe449ca63
sub eax, r9d
add r8d, eax
mov eax, 0x9652e370
xor eax, 0x9652e370
sub eax, r8d
mov r8d, 0x1c4e737e
xor r8d, 0x1c4e737e
sub r8d, eax
mov eax, 0x82c93ec5
xor eax, 0x82c93ec5
mov r9d, 0xc8c0eb16
xor r9d, 0x9a926c01
sub eax, r9d
add r8d, eax
xor eax, eax
sub eax, r8d
mov r8d, eax
xor r8d, 0xf3d793e3
xor r8d, 0xffffffff
or eax, 0xf3d793e3
and eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x14f5d6f5
mov r10d, 0xffffffff
xor r10d, 0x14f5d6f5
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x14f5d6f5
or eax, 0x14f5d6f5
imul eax, r9d
add eax, r8d
mov dword [rsp + 0x54], eax
mov eax, 0xb7210b29
xor eax, 0x9e65e701
mov dword [rsp + 0x50], eax
movabs rax, 0xfae9ac9943f14e1b
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x949e4c29f39bc23
movabs r8, 0xf3a0485bdcc8f238
xor rax, r8
add rdx, rax
call fcn.140025e55
mov ecx, dword [rsp + 0x50]
mov eax, dword [rsp + 0x54]
cmp eax, ecx
je 0x14007ec0a
jmp 0x14007ebe6
mov rax, qword [rsp + 0x100]
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x108]
mov rcx, qword [rcx]
add rcx, 8
imul rdx, rdx, 0x18
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rcx]
mov qword [rsp + 0x48], rdx
mov qword [rcx], 0
mov al, byte [rax]
mov cl, 0x8b
xor cl, 0x8b
cmp al, cl
jne 0x14007ebe6
mov rax, qword [rsp + 0x68]
mov r10, qword [rsp + 0xb8]
mov r9, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xf8]
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14007df20
mov rax, qword [rsp + 0x100]
cmp byte [rax], 0
je 0x14007eab8
jmp 0x14007ebe6
mov rcx, qword [rsp + 0xd0]
mov dl, byte [rsp + 0xc6]
xor eax, eax
test dl, 1
mov qword [rsp + 0x38], rcx
mov byte [rsp + 0x47], al
jne 0x14007eb9a
jmp 0x14007eab8
mov r9, qword [rsp + 0xd0]
movabs rcx, 0xb0f4de1fbf557476
movabs rax, 0xb0f4de1fbf557477
xor rcx, rax
mov rax, r9
and rax, rcx
movabs rcx, 0xddfcdd3549d3fbbd
movabs rdx, 0xddfcdd3549d3fbbf
xor rcx, rdx
imul rax, rcx
mov rcx, r9
xor rcx, 1
add rcx, rax
mov rax, r9
xor rax, 0xffffffffffffffff
movabs rdx, 0xae08fe0f752fbc3b
and rax, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0xae08fe0f752fbc3b
xor r10, rdx
and r9, r10
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0x72fc1925d9c05c0a
movabs r11, 0xdcf4e72aacefe031
xor r8, r11
and rdx, r8
movabs r8, 0xf0d80e4586c9a2db
movabs r11, 0xf27f1ba79365d24
xor r8, r11
and r8, r10
or rax, r9
or rdx, r8
xor rax, rdx
mov rdx, rcx
and rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rsp + 0x38], rcx
mov byte [rsp + 0x47], al
jge 0x14007eb9a
call fcn.14000ee80
jmp 0x14007ebe6
mov rax, qword [rsp + 0x38]
mov cl, byte [rsp + 0x47]
test cl, 1
mov qword [rsp + 0xe8], rax
jne 0x14007e32b
invalid
jmp 0x14007ebe6
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x130], rax
lea rcx, [rsp + 0x128]
call fcn.140069120
nop
add rsp, 0x148
ret
push rsi
js 0x14007ebb2
xchg cl, ch
clc
invalid
invalid
shl byte [rdx], 1
or eax, 0xfb2be906
invalid
pop rsi
and al, 0x28
invalid