Function at 0x140135810
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x18], rdx
mov qword [rbp - 8], rcx
mov eax, 0x10
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.1401343e1
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov al, 0xd0
xor al, 0xd0
mov byte [rbp + 0x2f], al
mov edx, 0x10
sub rsp, 0x20
call fcn.140134500
add rsp, 0x20
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
mov rdx, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, rax
mov qword [rbp - 0x10], rcx
lea rax, [0x140249b18]
mov qword [rcx], rax
add rcx, 0x10
sub rsp, 0x20
xor eax, eax
mov r8b, al
call fcn.1401349a5
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rax]
add rax, 8
mov qword [rbp], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 8], rax
xor eax, eax
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp + 8]
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x30], rax
cmp rax, rcx
je 0x1401359f2
mov eax, dword [0x140249c68]
xor eax, 0xc6ef7c22
mov ecx, dword [0x140249c6c]
add eax, 0xcc255d73
add eax, ecx
sub eax, 0xcc255d73
mov ecx, 0xbaf239c4
xor edx, edx
div ecx
mov ecx, 0xb8e65f3
xor edx, edx
div ecx
mov ecx, 0x812710bd
xor ecx, 0x37dbd905
xor edx, edx
div ecx
cmp eax, 0x6cba4c51
jae 0x140135cd6
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp]
mov edx, dword [0x140249c70]
mov r8d, dword [0x140249c74]
xor r8d, 0xfe7278e3
or edx, r8d
sub edx, 0xc532dd30
sub edx, 0xfb94d290
xor edx, 0x654401b0
mov dword [rbp - 0x38], edx
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
mov qword [rbp - 0x40], rcx
sub rsp, 0x20
xor eax, eax
mov dl, al
call fcn.1401353d0
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov eax, dword [rbp - 0x38]
mov cl, byte [rcx]
mov dl, 0xa4
xor dl, 0xa4
cmp cl, dl
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0x3b2be0b7
jbe 0x14013592c
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1401359ae
jmp 0x140135cc4
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.14013249d
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov cl, byte [rcx]
xor edx, edx
sub rdx, rax
xor eax, eax
sub rax, 1
add rdx, rax
xor eax, eax
sub rax, rdx
cmp cl, 0
mov qword [rbp + 0x10], rax
je 0x1401358ce
jmp 0x140135cc4
mov rax, qword [rbp - 0x20]
cmp byte [rax], 0
jne 0x140135cc4
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
movabs rcx, 0xb8b4b1c8e21ed7bf
movabs rdx, 0xb8b4b1c8e21ed7be
xor rcx, rdx
cmp rax, rcx
jle 0x140135b00
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov qword [rbp - 0x50], rax
movabs rdx, 0xf0a9d8169337b5
movabs r8, 0xff0f5627e96cc84a
xor rdx, r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.140133460
mov rcx, qword [rbp - 0x50]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x20]
mov r8, rcx
add r8, 0x10
mov qword [rbp - 0x48], r8
mov qword [rcx + 0x10], rdx
cmp byte [rax], 0
jne 0x140135cc4
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.140133460
mov rcx, qword [rbp - 0x50]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x58], rdx
mov qword [rcx + 0x18], rdx
cmp byte [rax], 0
jne 0x140135cc4
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x58]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov rax, qword [rax + 8]
add rax, qword [r8 + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14013249d
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x7c
xor cl, 0x7c
cmp al, cl
je 0x1401359ff
jmp 0x140135cc4
lea rcx, [rbp + 0x18]
mov edx, 0x10
sub rsp, 0x20
call fcn.140134500
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
cmp rax, 1
jge 0x140135c3d
mov eax, dword [0x140249c78]
xor eax, 0x1e8cf9b8
mov ecx, dword [0x140249c7c]
xor ecx, 0xc40df49a
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x59c40acf
mov r8d, 0xe2ba1b16
xor r8d, 0xbb7e11d9
mov ecx, 0x2f8f5aa1
xor ecx, 0xd070a55e
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x59c40acf
mov r8d, 0x5e58e2ab
xor r8d, 0x79ce864
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x1e7273e1
xor ecx, 0x1bfaa627
imul eax, ecx
imul eax, eax, 0x38459125
cmp eax, 0xe3d4e213
ja 0x140135cdf
mov rdx, qword [rbp - 0x60]
mov eax, dword [0x140249c80]
mov ecx, dword [0x140249c84]
xor ecx, 0x1072bf50
add eax, ecx
and eax, 0xd55e5a2a
mov ecx, 0xedfb1bd6
xor ecx, 0xedfb1bd6
sub ecx, eax
xor eax, eax
sub eax, 0x917fd53b
add ecx, eax
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xc6147db7
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [rbp - 0x64], eax
movabs rax, 0xd39cc77a1561ff43
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xd39cc77a1561ff43
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, 0x6159b2c6
je 0x140135cdf
jmp 0x140135c4d
mov rax, qword [rbp - 0x28]
mov rax, qword [rax + 8]
add rax, 8
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x70]
mov qword [rbp - 0x78], rcx
cmp byte [rax], 0
jne 0x140135cc4
mov r9, qword [rbp - 0x10]
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
xor eax, eax
mov edx, eax
lea r8, [rbp + 0x2f]
sub rsp, 0x20
call fcn.140135510
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140135cc4
mov rcx, qword [rbp - 0x28]
sub rsp, 0x20
call fcn.140133d61
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x1a
xor cl, 0x1a
cmp al, cl
jne 0x140135cc4
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.1401357e5
add rsp, 0x20
cmp byte [rbp + 0x2f], 0
setne al
and al, 1
movzx eax, al
lea rsp, [rbp + 0x30]
pop rbp
ret
out 0x2a, eax
add eax, 0xfc4de9f2
invalid
insd dword [rdi], dx
pop rbx
sub al, 0xa3
jmp 0x140135bb0