Function at 0x140010580
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x10], rcx
mov eax, 0x10
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
movabs rax, 0x26c7a079414aed16
movabs rdx, 0x26c7a079414aed16
xor rax, rdx
cmp rcx, rax
jle 0x1400108ce
mov rdx, qword [rbp - 0x20]
movabs rcx, 0xc4d9e89d4719fb43
movabs rax, 0xc4d9e89d4719fb4b
xor rcx, rax
sub rsp, 0x20
call fcn.140007bc0
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 8]
add rsp, 0x20
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.14000b5b0
add rsp, 0x20
test al, 1
jne 0x14001061c
jmp 0x14001062e
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x1400108c1
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 8]
mov r8, qword [rax]
mov rdx, r8
add rdx, rcx
mov qword [rbp - 0x30], rdx
mov rax, rdx
xor rax, 0xffffffffffffffff
mov r9, rdx
xor r9, 0xffffffffffffffff
or rax, r9
movabs r9, 0xbdb2d9848a5d00a5
movabs r10, 0x424d267b75a2ff5a
xor r9, r10
xor rax, r9
mov r9, rcx
xor r9, 0xffffffffffffffff
or rax, r9
movabs r10, 0xa0298ab3f76197
movabs r9, 0xff5fd6754c089e68
xor r10, r9
mov r9, rcx
xor r9, r10
movabs r10, 0xc720fca9608e4c9c
movabs r11, 0x38df03569f71b363
xor r10, r11
xor rcx, r10
or r9, rcx
mov rcx, rdx
and rcx, r9
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
mov rcx, rdx
xor rcx, r8
xor rcx, 0xffffffffffffffff
mov r9, r8
and r9, rcx
movabs rcx, 0xaa6c82d0f216c949
movabs r10, 0xaa6c82d0f216c94b
xor rcx, r10
imul rcx, r9
sub rcx, r8
sub rdx, rcx
or rax, rax
xor rax, 0xffffffffffffffff
movabs r8, 0xa4dca219366eeb90
movabs rcx, 0x5b235de6c991146f
xor r8, rcx
mov rcx, rdx
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x2c5f64165576e5c6
movabs r8, 0xd3a09be9aa891a39
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x9266def8b0270271
movabs rdx, 0x9266def8b0270271
xor rcx, rdx
cmp rax, rcx
jge 0x140010772
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x1400108c1
mov rax, qword [rbp - 0x30]
cmp rax, 0
jge 0x140010798
sub rsp, 0x20
mov rcx, r8
mov rdx, r8
call fcn.14000cee2
add rsp, 0x20
jmp 0x1400108c1
mov rax, qword [rbp - 0x20]
movabs rcx, 0xddc4457ecfb91337
movabs rdx, 0xddc4457ecfb91337
xor rcx, rdx
cmp rax, rcx
jge 0x1400108a1
mov eax, dword [0x140250948]
xor eax, 0xf814300c
mov edx, dword [0x14025094c]
xor edx, 0x8ff17f64
xor eax, 0xffffffff
mov ecx, 0x689b2233
xor ecx, 0x9764ddcc
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xb7886208
or eax, edx
or ecx, 0xb7886208
xor eax, 0xffffffff
and eax, ecx
add eax, 0x4a966298
mov ecx, 0x2d8dcba0
xor edx, edx
div ecx
or eax, 0x86fb7182
cmp eax, 0x9bd67c59
je 0x1400108dd
mov eax, dword [0x140250950]
xor eax, 0x2d41dcc1
mov ecx, dword [0x140250954]
xor ecx, 0x7c3e426a
and eax, ecx
mov edx, eax
and edx, 0x2ffacb38
mov ecx, 0x35144077
xor ecx, 0x35144075
imul ecx, edx
add eax, 0x2ffacb38
sub eax, ecx
mov ecx, 0x1255ceed
xor ecx, 0xa96e78f7
add eax, ecx
mov ecx, 0x69e97ab7
xor ecx, 0xf430cd4c
xor edx, edx
div ecx
mov dword [rbp - 0x34], eax
mov eax, 0xd5afbcf3
xor eax, 0x4105bb96
mov dword [rbp - 0x38], eax
sub rsp, 0x20
mov rcx, r8
mov rdx, r8
call fcn.14000cee2
mov ecx, dword [rbp - 0x38]
mov eax, dword [rbp - 0x34]
add rsp, 0x20
cmp eax, ecx
jae 0x140010819
jmp 0x1400108c1
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.1400102d8
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rax], rcx
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x48], rax
jmp 0x1400108d4
xor eax, eax
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov rsp, rbp
pop rbp
ret
out dx, eax
adc byte [rdi + 0x6e], ah
jmp 0x140010819