Function at 0x140108900
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xa0
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], rdx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rcx
mov eax, 0x10
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.140108664
mov rdx, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp], rax
mov rax, qword [rdx]
mov qword [rbp + 8], rax
cmp rax, 0
jge 0x14010899a
mov rcx, qword [rbp + 8]
movabs rdx, 0xfc00945baffca4fd
movabs rax, 0xfc00945baffca4fd
xor rdx, rax
movabs r8, 0xab3a8540f43244bb
movabs rax, 0xd4c57abf0bcdbb44
xor r8, rax
sub rsp, 0x20
call fcn.14000e6db
add rsp, 0x20
jmp 0x140108d2b
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14001efd0
mov rdx, qword [rbp - 8]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov rcx, qword [rdx]
add rdx, 8
mov qword [rbp - 0x48], rdx
lea rdx, [rbp + 0x10]
add rdx, 8
mov qword [rbp - 0x40], rdx
add rax, 8
mov qword [rbp - 0x38], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x30], rax
xor eax, eax
mov qword [rbp - 0x28], rax
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x50], rax
cmp rax, rcx
je 0x140108d2b
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 8]
mov rcx, qword [rcx]
mov qword [rbp - 0x58], rcx
cmp rax, rcx
jl 0x140108a64
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x58]
movabs rax, 0x294219093c797f1
movabs r8, 0x294219093c797f1
xor rax, r8
movabs r8, 0xa0ed4b2b972347cb
movabs r9, 0x5f12b4d468dcb834
xor r8, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.1400153d3
add rsp, 0x20
jmp 0x140108d2b
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x62], al
mov cl, 0x2b
mov byte [rbp - 0x61], cl
add al, 0xe0
movzx ecx, al
mov qword [rbp - 0x60], rcx
sub al, 0x5e
ja case.0x140108aa4.2
mov cl, byte [rbp - 0x61]
mov rax, qword [rbp - 0x60]
lea rdx, [0x140108d40]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
mov byte [rbp - 0x63], cl
jmp rax
mov al, byte [rbp - 0x62]
mov byte [rbp - 0x63], al
jmp case.0x140108aa4.0
mov rcx, qword [rbp - 0x20]
mov dl, 0xff
xor dl, 0xda
sub rsp, 0x20
call fcn.14010867f
mov al, byte [rbp - 0x62]
add rsp, 0x20
movzx eax, al
mov edx, eax
lea rcx, [rbp + 0x10]
mov r8d, 2
sub rsp, 0x20
call fcn.140107ffc
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp]
add rsp, 0x20
mov rdx, qword [rbp + 0x10]
mov qword [rbp - 0x78], rdx
mov rcx, qword [rcx]
mov qword [rbp - 0x70], rcx
cmp byte [rax], 0
jne 0x140108c6f
mov ecx, dword [0x14021ddb0]
xor ecx, 0x4bf484f0
mov r8d, dword [str.jrc.p]
mov eax, 0x40401f78
xor eax, 0xb763193f
xor r8d, eax
mov edx, 0xc4d3ae3c
xor edx, 0x3b2c51c3
mov eax, ecx
xor eax, edx
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
and ecx, 0xe5f14392
mov edx, 0xa72d0a1a
xor edx, 0xfa0f900c
mov eax, ecx
and eax, edx
shl eax, 1
mov edx, 0xa6c07011
xor edx, 0xfbe2ea07
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x6e7d75fa
mov edx, 0xffffffff
xor edx, 0x6e7d75fa
and ecx, edx
or eax, ecx
cmp eax, 0x5a7c8ec0
jbe 0x140108d35
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x14021ddb8]
xor eax, 0xbeedb542
xor edx, edx
div dword [0x14021ddbc]
mov r8d, 0xeaeb8fc0
xor r8d, 0x7a213ac0
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x78]
mov r8d, 0x52deb880
xor r8d, 0x77357824
mov r9d, eax
xor r9d, r8d
mov r8d, 0xe17854e8
xor r8d, 0x1e87ab17
xor r9d, r8d
and r9d, 0x25ebc0a4
mov r8d, 0x2a296f1d
xor r8d, 0x2a296f1f
imul r8d, r9d
sub r8d, 0x25ebc0a4
sub eax, r8d
add eax, 0x6eb9f236
mov dword [rbp - 0x7c], eax
mov eax, 0x21a0f854
xor eax, 0x3b7b04ff
mov dword [rbp - 0x80], eax
sub rsp, 0x20
call fcn.14001f2a0
mov r9, qword [rbp - 0x78]
mov r8, qword [rbp - 0x70]
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140108ec0
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x7c]
add rsp, 0x20
cmp eax, ecx
je 0x140108ba1
jmp 0x140108c6f
mov rax, qword [rbp - 0x70]
cmp rax, 0
je 0x140108cb9
mov rax, qword [rbp - 0x70]
mov rax, qword [rax]
movabs rcx, 0x1c66098452de1c37
movabs rdx, 0x5c66098452de1c37
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140108cb9
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp]
cmp byte [rax], 0
je 0x140108cdf
jmp 0x140108d2b
mov rcx, qword [rbp - 0x20]
mov dl, byte [rbp - 0x63]
sub rsp, 0x20
call fcn.14010867f
add rsp, 0x20
mov rax, qword [rbp - 0x50]
movabs rdx, 0x32a1915d0f5d8c8e
movabs rcx, 0x32a1915d0f5d8c8f
xor rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0xb218f0abcc9ea6d1
movabs r8, 0xb218f0abcc9ea6d3
xor rdx, r8
imul rcx, rdx
xor rax, 1
add rax, rcx
mov qword [rbp - 0x28], rax
jmp 0x1401089e9
mov rax, qword [rbp - 0x18]
lea rsp, [rbp + 0x20]
pop rbp
ret
jle 0x140108d6f
invalid
push qword [rcx - 3]
invalid