Function at 0x140129a10
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0xb0
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x30], rcx
mov eax, 0x10
mov qword [rbp - 0x20], rax
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x28], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, qword [rbp - 0x20]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1401da3e0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.14012dbd0
add rsp, 0x20
mov qword [rbp + 0x10], rax
add rax, 0x60
mov qword [rbp - 8], rax
lea rax, [rbp + 0x20]
add rax, 8
mov qword [rbp], rax
mov qword [rbp + 0x20], 2
movabs rcx, 0x25d6d21fe2200f03
movabs rax, 0x25d6d21fe2200f01
xor rcx, rax
movabs rdx, 0x99a4cf8193ff28aa
movabs rax, 0x99a4cf8193ff28ab
xor rdx, rax
movabs r8, 0xc32a6108988d65df
movabs rax, 0xc32a6108988d65de
xor r8, rax
sub rsp, 0x20
call fcn.140010380
add rsp, 0x20
mov qword [rbp + 8], rax
mov qword [rbp + 0x28], rax
mov ecx, 0x281
sub rsp, 0x20
call fcn.1400666f0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x10]
mov byte [rbp + 0x1f], cl
mov al, byte [rax + 0x60]
mov cl, 0xb9
xor cl, 0xb9
cmp al, cl
jne 0x140129e6d
mov rax, qword [rbp + 8]
mov cl, byte [rbp + 0x1f]
mov byte [rax + 8], cl
mov ecx, 0x3e3
sub rsp, 0x20
call fcn.1400666f0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 8]
mov byte [rbp - 0x39], cl
mov al, byte [rax]
mov cl, 0xcf
xor cl, 0xcf
cmp al, cl
jne 0x140129e6d
mov cl, byte [rbp - 0x39]
mov rax, qword [rbp]
mov rax, qword [rax]
mov byte [rax + 9], cl
sub rsp, 0x20
call fcn.14012dbd0
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], rax
mov ecx, dword [0x1401e2ac8]
mov eax, 0x497334b2
xor eax, 0x10fd6d7
xor ecx, eax
mov edx, dword [0x1401e2acc]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0xbdf81a81
xor edx, 0x4207e57e
xor eax, edx
mov edx, 0x41791af9
xor edx, 0xbe86e506
xor ecx, edx
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xd42c1116
add eax, ecx
add eax, 1
mov edx, 0xd3e62b94
xor edx, 0x9b0f015e
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0x48e92aca
shl ecx, 1
sub ecx, 0x48e92aca
sub eax, ecx
add eax, 0x227a18c0
cmp eax, 0xc9afdec3
jae 0x140129e90
mov eax, dword [0x1401e2ad0]
or eax, dword [0x1401e2ad4]
mov ecx, 0x7fe90df
xor ecx, 0x337e1181
xor edx, edx
div ecx
mov ecx, 0xacbab650
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x50]
sub eax, 0xd1d65679
mov ecx, 0xf39f2763
xor ecx, 0xcfb2d09
movabs r8, 0x4f8da8bad09faefd
movabs r9, 0x4f8da8bad09faef5
xor r8, r9
cmp rdx, r8
sete dl
mov byte [rbp - 0x51], dl
cmp eax, ecx
je 0x140129c02
mov al, byte [rbp - 0x51]
test al, 1
jne 0x140129d8e
jmp 0x140129c72
mov r8d, dword [str.ka_6]
mov edx, dword [0x1401e2adc]
mov ecx, 0xc2ef6ffd
xor ecx, 0x3d109002
mov eax, r8d
xor eax, ecx
and eax, 0x7f14c426
mov r9d, 0xffffffff
xor r9d, 0x7f14c426
and r8d, r9d
mov r10d, 0xed7133d7
xor r10d, 0x128ecc28
mov ecx, edx
xor ecx, r10d
and ecx, 0x7f14c426
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x526a5a05
xor ecx, 0x194d3631
xor edx, edx
div ecx
mov ecx, 0xe4b892d9
xor edx, edx
div ecx
mov ecx, 0xf5d78b73
xor ecx, 0x9d8c4e7b
sub eax, ecx
cmp eax, 0xcff7f419
je 0x140129e99
mov rdx, qword [rbp - 0x50]
mov r8, qword [rbp - 0x28]
mov eax, dword [0x1401e2ae0]
and eax, dword [0x1401e2ae4]
add eax, 0x74abdf86
add eax, 0xf2a608ec
sub eax, 0x74abdf86
add eax, 0x85f164fb
sub eax, 0x42a2aa1e
mov ecx, 0x30f018b3
xor ecx, 0x36aa0c3c
mov byte [r8 + rdx], 0
mov r8, 0xffffffffffffffff
xor r8, 1
movabs r9, 0x59d0440480102269
movabs r10, 0x59d0440480102269
xor r9, r10
movabs r10, 0x356478522b8341c9
movabs r11, 0x356478522b8341c8
xor r10, r11
sub r9, r10
sub r8, r9
sub rdx, r8
mov qword [rbp - 0x60], rdx
cmp eax, ecx
je 0x140129cf6
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x48], rax
jmp 0x140129b6c
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x38]
mov qword [rdx], rax
mov r8d, 8
sub rsp, 0x20
call fcn.140129ea2
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x68], rax
mov rcx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x70], rcx
mov dl, byte [rax + rcx]
lea rcx, [rbp + 0x20]
sub rsp, 0x20
call fcn.140025b34
mov rax, qword [rbp - 0x70]
add rsp, 0x20
add rax, 1
movabs rcx, 0x16dd3c5721a32176
movabs rdx, 0x16dd3c5721a3217e
xor rcx, rdx
cmp rax, rcx
mov qword [rbp - 0x68], rax
jne 0x140129db6
mov ecx, 0x3f0
sub rsp, 0x20
call fcn.1400666f0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp - 8]
mov byte [rbp - 0x71], cl
mov al, byte [rax]
mov cl, 0x43
xor cl, 0x43
cmp al, cl
jne 0x140129e6d
mov dl, byte [rbp - 0x71]
lea rcx, [rbp + 0x20]
sub rsp, 0x20
call fcn.140025b34
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov r8, qword [rax]
mov rdx, r8
add rdx, 8
xor eax, eax
cmp r8, 0
cmove rdx, rax
mov r8, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.140129840
add rsp, 0x20
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 0x20]
mov qword [rcx], rax
mov rax, qword [rbp + 0x28]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140025a20
nop
lea rsp, [rbp + 0x30]
pop rbp
ret
mov eax, 0xe987023d
imul edi, ebp, 0xca5cffff
popfq
movsd dword [rdi], dword [rsi]
jmp 0x140129cf6
pop rsp
retf 0xa59d