Function at 0x1401b7510
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x48], rcx
mov eax, 0x10
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
sub rsp, 0x20
call fcn.1401bd250
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov qword [rbp - 0x28], rax
add rax, 0x50
mov qword [rbp - 0x30], rax
movabs rax, 0x57598eee437ca07b
movabs rdx, 0x57598eee437ca07b
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
movabs rdx, 0xb756fc9e68ec0e54
movabs rax, 0xb756fc9e68ec0e74
xor rdx, rax
lea rcx, [rbp + 0x30]
sub rsp, 0x20
call fcn.1400a1210
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov rcx, qword [rbp + 0x30]
mov qword [rbp - 0x20], rcx
mov rcx, qword [rbp + 0x38]
mov qword [rbp - 0x18], rcx
mov al, byte [rax + 0x50]
mov cl, 0x33
xor cl, 0x33
cmp al, cl
jne 0x1401b7c11
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rax
lea rcx, [rbp + 0x20]
sub rsp, 0x20
call fcn.1401b7cd0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x50], rcx
cmp byte [rax], 0
jne 0x1401b7c11
mov rax, qword [rbp - 0x50]
add rax, 0xffffffff80000000
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x1401b763d
mov rcx, qword [rbp - 0x50]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000dc65
add rsp, 0x20
jmp 0x1401b7c11
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x50]
mov dword [rbp + 0x44], edx
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x10]
sub rsp, 0x20
call fcn.1401b7e65
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x1401b7c11
mov rcx, qword [rbp - 0x58]
lea rdx, [rbp + 0x44]
sub rsp, 0x20
call fcn.1400abe66
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x30]
mov dword [rbp - 0x5c], ecx
cmp byte [rax], 0
jne 0x1401b7c11
mov ecx, dword [0x14020c4d8]
xor ecx, 0x2b23bd77
mov eax, dword [0x14020c4dc]
xor eax, 0xe7ab3fb4
and ecx, eax
mov edx, 0xffffffff
xor edx, 0xd317a21e
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x54e8b318
xor edx, edx
div ecx
mov r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x5a1ea027
mov edx, 0xffffffff
xor edx, 0x5a1ea027
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x71a327de
and ecx, 0x5a1ea027
and edx, 0x71a327de
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x300eb7e7
xor ecx, 0x3807b975
cmp eax, ecx
jb 0x1401b7ca9
mov eax, dword [0x14020c4e0]
mov ecx, dword [0x14020c4e4]
xor ecx, 0xc5f2a165
xor edx, edx
div ecx
mov ecx, 0xec18491d
xor edx, edx
div ecx
mov edx, dword [rbp - 0x5c]
mov ecx, eax
add ecx, 0xee7653f0
mov r8d, 0xffffffff
xor r8d, 0x66323119
mov eax, ecx
xor eax, r8d
and eax, ecx
mov ecx, 0x88d049e1
xor ecx, 0x2469ff17
mov r8d, 0x269a9a60
xor r8d, 0x269a9a60
cmp edx, r8d
sete dl
mov byte [rbp - 0x5d], dl
cmp eax, ecx
ja 0x1401b7ca9
mov al, byte [rbp - 0x5d]
test al, 1
jne 0x1401b7797
jmp 0x1401b78d5
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x38]
mov rdx, qword [0x140216928]
mov qword [rcx], rdx
mov rdx, qword [str.Xi__]
mov qword [rcx + 8], rdx
cmp rax, 0
je 0x1401b7c9e
mov ecx, dword [0x14020c4e8]
xor ecx, 0x6237bf12
mov eax, dword [0x14020c4ec]
xor eax, 0x5b1c2093
xor ecx, eax
mov eax, ecx
and eax, 0x79bbd34f
mov edx, 0x95522281
xor edx, 0xece9f1ce
xor ecx, edx
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xd6a1464d
mov edx, 0x8afd3304
xor edx, 0x5c5c7549
mov r8d, 0x2a4972d6
xor r8d, 0xd5b68d29
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x8810a366
xor ecx, 0x53c83830
or eax, ecx
mov ecx, 0xb0b034ea
xor ecx, 0xe6aeef10
cmp eax, ecx
jb 0x1401b7cb2
mov rdx, qword [rbp - 0x18]
mov eax, dword [0x14020c4f0]
add eax, dword [0x14020c4f4]
imul eax, eax, 0xb7e51006
mov ecx, 0xbbc5377a
xor ecx, 0x443ac885
mov r8d, eax
xor r8d, ecx
and r8d, 0xea6ba10d
mov r9d, 0xe307ab58
xor r9d, 0x96c0a55
mov ecx, 0x1493b1c8
xor ecx, 0xeb6c4e37
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0xea6ba10d
or eax, 0xea6ba10d
imul eax, r8d
add eax, ecx
and eax, 0x7125c5c8
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x5e], cl
cmp eax, 0x71762f62
ja 0x1401b7837
mov al, byte [rbp - 0x5e]
test al, 1
jne 0x1401b7c8d
jmp 0x1401b7c9e
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rax
mov rcx, rbp
lea rdx, [rbp - 0x10]
sub rsp, 0x20
call fcn.1401b7eb0
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov rcx, qword [rbp]
mov qword [rbp - 0x70], rcx
mov rcx, qword [rbp + 8]
mov qword [rbp - 0x68], rcx
mov al, byte [rax]
mov cl, 0x38
xor cl, 0x38
cmp al, cl
jne 0x1401b7a18
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1401b8143
mov rax, qword [rbp - 0x30]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401b7a18
mov rax, qword [rbp - 0x68]
cmp rax, 0
je 0x1401b7987
mov rcx, qword [rbp - 0x68]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1401b7987
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp - 0x18]
cmp rax, 0
je 0x1401b7c9e
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0xff665d07ac02b078
movabs r8, 0x50c1192e93b1e16f
xor rdx, r8
movabs r8, 0x2cc8f12f29e8e5f9
movabs r9, 0xd3370ed0d6171a06
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0x534a6738c5004430
movabs r8, 0xfced2311fab31527
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
je 0x1401b7c8d
jmp 0x1401b7c9e
mov eax, dword [0x14020c4f8]
imul eax, dword [0x14020c4fc]
mov edx, 0x939f4a2f
xor edx, 0x6c60b5d0
mov ecx, eax
xor ecx, edx
mov edx, 0x3a5b5281
xor edx, 0xc5a4ad7e
xor eax, edx
and ecx, eax
mov eax, 0xffffffff
xor eax, 0x117e720d
mov edx, 0xc276fa22
xor edx, 0xd308882f
mov r8d, 0xe7d98c00
xor r8d, 0x182673ff
xor edx, r8d
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb51f287f
mov eax, ecx
xor eax, edx
and eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x16ce8c9f
mov ecx, 0xffffffff
xor ecx, 0x49a082ad
or eax, edx
or ecx, 0x49a082ad
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0xa9cb2bf6
jae 0x1401b7cbb
mov rcx, qword [rbp - 0x68]
mov eax, dword [0x14020c500]
mov edx, dword [0x14020c504]
mov r8d, 0x1db4228c
xor r8d, 0xe24bdd73
xor edx, r8d
mov esi, eax
xor esi, edx
and esi, eax
mov eax, 0xffffffff
xor eax, 0x765047ba
mov edx, 0xc7aec231
xor edx, 0xc7aec231
mov r8d, 0xadacac19
xor r8d, 0xadacac18
sub edx, r8d
sub eax, edx
sub esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xf0c92677
mov r8d, 0x2533847a
xor r8d, 0x5571ae03
mov eax, 0x7ad6202d
xor eax, 0x8529dfd2
xor r8d, eax
mov eax, edx
and eax, 0x70422a79
and esi, r8d
mov r11d, 0xd0288daa
xor r11d, 0xa06aa7d3
mov r10d, r9d
and r10d, r11d
mov r11d, r8d
and r11d, 0xf0c92677
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x70422a79
and edx, r8d
or eax, edx
mov edx, 0xffffffff
xor edx, 0x80261637
add eax, edx
mov edx, 0x2d889304
xor edx, 0x2d889305
add eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0xb7c1211d
jae 0x1401b7ab1
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1401b7c11
jmp 0x1401b7bac
mov rax, qword [rbp - 0x68]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0x12e7bb2b49e8f4
movabs r8, 0x4012e7bb2b49e8f4
xor rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x1401b7c11
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp - 0x18]
cmp rax, 0
je 0x1401b7c9e
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
movabs rdx, 0xb827914c43953c60
movabs rcx, 0xb827914c43953c61
xor rdx, rcx
mov rcx, rax
add rcx, rdx
movabs rdx, 0xfe1a5794ff423554
movabs r8, 0x1e5a86b00bdcaab
xor rdx, r8
xor rax, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
movabs rcx, 0xc37cb5a518d1db5f
movabs rdx, 0xc37cb5a518d1db5f
xor rcx, rdx
cmp rax, rcx
jne 0x1401b7c9e
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14000fb44
add rsp, 0x20
mov rax, qword [rbp - 0x48]
lea rsp, [rbp + 0x48]
pop rsi
pop rbp
ret
cmp al, 0xf1
cli
mov ch, cl
outsb dx, byte [rsi]
cli
invalid
and al, 0x76
jp 0x1401b7cc3
jmp 0x1401b7837
movabs dword [0xfffffdede91be640], eax
nop word cs:[rax + rax]
jmp qword [rsi + 0x66]