Function at 0x1400853e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x138
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x70], rcx
mov eax, 0x10
mov qword [rbp + 0x60], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x60]
mov rcx, rsp
mov qword [rbp + 0x78], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x78]
add rdx, 0x60
mov qword [rbp + 0x80], rdx
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x88], rdx
mov qword [rax + 8], 0
mov rcx, qword [rcx]
mov rax, rcx
shl rax, 1
mov qword [rbp + 0x90], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x1402be020]
mulsd xmm0, xmm1
movsd qword [rbp + 0x98], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0xa0], xmm1
ucomisd xmm0, xmm1
jne 0x1400854b5
jp 0x1400854b5
jmp 0x1400855bc
mov eax, dword [0x1402ab6e0]
xor eax, 0x2fba4f7e
xor edx, edx
div dword [0x1402ab6e4]
mov ecx, 0xd881cefe
xor ecx, 0x1899446a
xor edx, edx
div ecx
imul eax, eax, 0xbd81732f
mov ecx, 0xef2eee3d
xor edx, edx
div ecx
cmp eax, 0x84ac69a0
je 0x140085bd4
movsd xmm1, qword [rbp + 0x98]
movsd xmm0, qword [rbp + 0xa0]
mov eax, dword [0x1402ab6e8]
xor eax, 0xd16db029
xor eax, dword [0x1402ab6ec]
mov ecx, 0xb251b8cf
xor ecx, 0xb251b8cf
mov edx, 0xba19fceb
xor edx, 0xdb3bacd0
sub ecx, edx
sub eax, ecx
mov ecx, 0x268f2145
xor ecx, 0x1d949be
xor edx, edx
div ecx
and eax, 0x4d318937
mov dword [rbp + 0x58], eax
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.1402a7e80
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x98]
movsd qword [rbp + 0x50], xmm1
sub rsp, 0x20
call fcn.1402a7e80
movsd xmm1, qword [rbp + 0x50]
mov eax, dword [rbp + 0x58]
add rsp, 0x20
movsd xmm2, qword [0x1402be028]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
setb cl
mov byte [rbp + 0x5f], cl
cmp eax, 0xa4393fe0
je 0x1400854f1
mov al, byte [rbp + 0x5f]
test al, 1
jne 0x1400855aa
jmp 0x1400855bc
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140085bca
mov rax, qword [rbp + 0x90]
cmp rax, 0
jge 0x1400856b3
mov eax, dword [0x1402ab6f0]
xor eax, 0x39dac927
add eax, dword [0x1402ab6f4]
mov ecx, 0x8d73cc3a
xor ecx, 0xc98e3aee
imul eax, ecx
sub eax, 0x3d799bbe
mov ecx, 0x5fb127ca
xor ecx, 0x6e9b6a07
sub eax, ecx
mov ecx, 0xde05131e
xor ecx, 0xe37c88a0
add eax, ecx
mov ecx, 0x9a1f0f1
xor ecx, 0x384c968a
xor eax, ecx
mov ecx, 0x7e450575
xor ecx, 0xf4c2c0e
cmp eax, ecx
jb 0x140085bdd
mov rcx, qword [rbp + 0x90]
mov eax, dword [0x1402ab6f8]
sub eax, dword [0x1402ab6fc]
xor eax, 0xdeabbd9d
mov r8d, 0x16009f54
xor edx, edx
div r8d
mov r9d, 0xffffffff
xor r9d, 0x630c4e21
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x630c4e21
or eax, 0x630c4e21
imul eax, r8d
add eax, edx
mov dword [rbp + 0x4c], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
mov eax, dword [rbp + 0x4c]
add rsp, 0x20
cmp eax, 0x6a2c49a3
jbe 0x140085bdd
jmp 0x140085bca
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x90]
sub rsp, 0x20
call fcn.14002fc16
mov r10, qword [rbp + 0x70]
mov r8, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov r9, qword [r10]
mov qword [rbp + 0x28], r9
mov rdx, r10
add rdx, 8
mov qword [rbp + 0x30], rdx
mov rdx, qword [r10 + 8]
mov r11, qword [r8]
mov qword [r10], r11
mov r11, qword [r8 + 8]
mov qword [r10 + 8], r11
mov qword [r8], r9
mov qword [rcx], rdx
add rax, 8
mov qword [rbp + 0x38], rax
xor eax, eax
mov qword [rbp + 0x40], rax
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x20], rax
cmp rax, rcx
jge 0x140085b9d
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x78]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp + 0x18], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140085784
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x18]
movabs rax, 0x6df61e30f64065b0
movabs r8, 0x9209e1cf09bf9a4f
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140025e55
add rsp, 0x20
jmp 0x140085bca
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x88]
mov rcx, qword [rcx]
mov qword [rbp], rcx
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
mov qword [rbp + 8], rcx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x17], al
or al, cl
test al, 1
jne 0x140085b12
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x70]
mov r8, qword [rax]
mov qword [rbp - 0x20], r8
mov rax, r8
dec rax
mov qword [rbp - 0x18], rax
mov rax, r8
neg rax
or rax, rcx
lea rax, [r8 + rax - 1]
inc rax
mov qword [rbp - 0x10], rax
test rax, rax
setns cl
mov rdx, rax
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov qword [rbp - 8], rax
jne 0x140085815
jmp 0x14008582d
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
jmp 0x140085847
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.140025e55
add rsp, 0x20
jmp 0x140085bca
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
mov qword [rbp - 0x38], rcx
add rax, 8
shl rcx, 5
add rax, rcx
cmp qword [rax], 0
je 0x1400858a1
mov r8, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x38]
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 [rbp - 8], rcx
mov qword [rbp - 0x28], rax
jne 0x140085847
jmp 0x14008582d
mov eax, dword [0x1402ab700]
mov edx, dword [0x1402ab704]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xeec21461
xor ecx, 0x6cb96b96
mov r8d, 0x2957f86e
xor r8d, 0xd6a80791
xor ecx, r8d
or eax, edx
or ecx, 0x827b7ff7
mov edx, 0x7ef06523
xor edx, 0x810f9adc
xor eax, edx
and eax, ecx
sub eax, 0xb13580c5
add eax, 0x8ac2a87c
add eax, 0x921b7
sub eax, 0x8ac2a87c
add eax, 0xa6f0be23
mov ecx, 0x5e675520
xor ecx, 0xeffe9a8d
cmp eax, ecx
je 0x140085be6
mov rcx, qword [rbp]
mov r8d, dword [0x1402ab708]
mov edx, dword [0x1402ab70c]
mov eax, r8d
xor eax, 0xffffffff
mov r9d, 0xd232c040
xor r9d, 0x2dcd3fbf
xor r8d, r9d
or eax, r8d
and edx, edx
xor edx, 0xffffffff
mov r8d, 0x65ec9a70
xor r8d, 0x9a13658f
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, 0x2c8be884
xor edx, 0xe61c62c8
add eax, edx
mov r8d, 0x989240cd
xor r8d, 0x3ecb3849
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0x20]
or edx, 0x7d28d205
mov dword [rbp - 0x4c], edx
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 8
mov rax, qword [rcx]
mov qword [rbp - 0x60], rax
mov rax, qword [rcx + 8]
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.14001dfcd
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x20]
mov eax, dword [rbp - 0x4c]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x48], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x39], cl
cmp eax, 0xa88d56e2
ja 0x140085911
mov al, byte [rbp - 0x39]
test al, 1
jne 0x140085a18
jmp 0x1400859e4
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp - 0x48]
movabs rax, 0x5b2f12409767a98d
movabs r8, 0xa4d0edbf68985672
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140025e55
add rsp, 0x20
jmp 0x140085bca
mov rsi, qword [rbp - 0x60]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x88]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
add rcx, 0x18
mov rax, qword [rcx]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.140042b57
mov r11, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x70]
mov r8, qword [rbp + 0x68]
mov r9, qword [rbp - 0x68]
mov r10, qword [rbp + 8]
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov qword [r8], rsi
mov qword [rcx], r11
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.140085020
mov rax, qword [rbp + 0x80]
add rsp, 0x30
cmp byte [rax], 0
jne 0x140085bca
mov rax, qword [rbp - 0x58]
cmp rax, 0
je 0x140085b30
mov rax, qword [rbp - 0x58]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xfcecc87d7c33746f
movabs r8, 0x313378283cc8b90
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xf17aef6d8c524b3f
movabs r8, 0xb17aef6d8c524b3f
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x140085b30
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14001a7c0
add rsp, 0x20
jmp 0x140085b30
mov rcx, qword [rbp + 0x20]
mov dl, byte [rbp + 0x17]
xor eax, eax
test dl, 1
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jne 0x140085b84
jmp 0x140085b30
mov rax, qword [rbp + 0x20]
movabs rdx, 0x94eaa614c2d4bfb2
mov rcx, rax
add rcx, rdx
add rcx, 1
movabs rdx, 0x94eaa614c2d4bfb2
sub rcx, rdx
xor rax, 0xffffffffffffffff
mov rdx, rcx
and rdx, rax
mov al, 1
cmp rdx, 0
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jge 0x140085b84
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140085bca
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x69]
test cl, 1
mov qword [rbp + 0x40], rax
jne 0x140085716
jmp 0x140085bca
mov rax, qword [rbp + 0x78]
mov rcx, qword [rax]
mov qword [rbp + 0xa8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb0], rax
lea rcx, [rbp + 0xa8]
sub rsp, 0x20
call fcn.14006aaf0
add rsp, 0x20
lea rsp, [rbp + 0xb8]
pop rsi
pop rbp
ret
or al, 0x5d
jmp 0x1400854f1
push rsp
out 0x7b, al
invalid
mov r15d, 0x22e9871e
std
invalid