Function at 0x14010dad0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x20], rcx
mov eax, 0x10
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.14010abc2
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov rax, qword [rcx + 8]
mov qword [rbp - 0x18], rax
cmp rax, 0
je 0x14010db71
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x92a0bbd8eb908f49
movabs r8, 0x6d5f4427146f70b6
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14010db71
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 0x18]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x14010dbff
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
and rax, rcx
movabs rcx, 0x41088000a15d3c69
movabs rdx, 0xbef77fff5ea2c396
xor rcx, rdx
xor rax, rcx
cmp rax, 0
jne 0x14010dbff
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov r11d, dword [0x14021df60]
xor r11d, 0x9c4676da
add r11d, dword [0x14021df64]
mov edx, 0xffffffff
xor edx, 0x22c72416
mov ecx, r11d
and ecx, edx
mov eax, r11d
or eax, edx
xor eax, 0xffffffff
imul eax, ecx
mov ecx, r11d
and ecx, 0x22c72416
or r11d, 0x22c72416
imul r11d, ecx
add r11d, eax
mov eax, 0xc771dc19
xor eax, 0x388e23e6
mov ecx, r11d
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xecdde6a4
mov r8d, 0x993c2deb
xor r8d, 0x448d68fe
mov eax, 0xac68cb31
xor eax, 0x539734ce
xor r8d, eax
mov eax, ecx
and eax, 0xddb14515
and r11d, r8d
mov r9d, edx
and r9d, 0xddb14515
mov r10d, r8d
and r10d, 0xecdde6a4
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0x94d8e3c6
xor edx, 0x6b271c39
xor ecx, edx
mov edx, 0xf4337349
xor edx, 0x2982365c
or edx, r8d
and ecx, edx
or eax, ecx
or eax, 0x3e02ab98
cmp eax, 0xef6498ed
jbe 0x14010e285
mov rcx, qword [rbp - 0x20]
mov edx, dword [0x14021df68]
xor edx, 0xa5e6365e
mov eax, dword [0x14021df6c]
mov r8d, 0x895a6929
xor r8d, 0x69ca0611
xor eax, r8d
add edx, eax
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0xa8cbdd24
mov r9d, 0xffffffff
xor r9d, 0xa8cbdd24
mov eax, edx
and eax, r9d
imul eax, r8d
mov r8d, edx
and r8d, 0xa8cbdd24
or edx, 0xa8cbdd24
imul edx, r8d
add edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0xffffffff
xor edx, 0x553021cc
mov r8d, 0x60079a44
xor r8d, 0x3537bb88
mov r9d, 0xfdba627e
xor r9d, 0x2459d81
xor r8d, r9d
or edx, r8d
xor eax, 0xffffffff
mov r8d, 0x6a4b93b
xor r8d, 0xf95b46c4
xor edx, r8d
or eax, edx
imul eax, eax, 0x174c1167
mov rcx, qword [rcx + 0x28]
mov qword [rbp - 0x40], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0x7f2fa7f5
jae 0x14010e285
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14010de5c
jmp 0x14010ddb1
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0x19269f97a7c9a284
movabs r8, 0x59269f97a7c9a284
xor rdx, r8
and rcx, rdx
movabs rdx, 0x385914dac795bf3f
movabs r8, 0xc7a6eb25386a40c0
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x3cb4770b072e109e
movabs r8, 0xc34b88f4f8d1ef61
xor rdx, r8
xor rax, rdx
movabs rdx, 0x72f5d9a4f9ece813
movabs r8, 0x8d0a265b061317ec
xor rdx, r8
xor rcx, rdx
or rax, rcx
cmp rax, 0
jne 0x14010de5c
mov rcx, qword [rbp - 0x40]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov eax, dword [0x14021df70]
mov ecx, 0x2b26a4e3
xor ecx, 0xa48ab04c
xor eax, ecx
imul eax, dword [0x14021df74]
mov ecx, 0x32c6c9de
xor ecx, 0x3eac4df4
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x6a5ca9c3
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x5feb506a
xor r8d, 0xa014af95
xor ecx, r8d
imul ecx, edx
mov r8d, 0x97c275f7
xor r8d, 0xfd9edc34
mov edx, eax
and edx, r8d
mov r8d, 0xae9c2d2c
xor r8d, 0xc4c084ef
or eax, r8d
imul eax, edx
add eax, ecx
xor eax, 0x5503a4b2
cmp eax, 0xbee08f4f
jae 0x14010e28e
mov rdx, qword [rbp - 0x20]
mov eax, dword [0x14021df78]
mov r8d, dword [0x14021df7c]
mov ecx, 0xc5b38325
xor ecx, 0x3a4c7cda
xor eax, ecx
xor r8d, 0xffffffff
mov ecx, 0xfcc98d14
xor ecx, 0xecd61fc5
mov r9d, 0xf19584ed
xor r9d, 0xe6a7b12
xor ecx, r9d
or eax, r8d
or ecx, 0x101f92d1
mov r8d, 0xa1b2657b
xor r8d, 0x5e4d9a84
xor eax, r8d
and eax, ecx
mov ecx, 0x3bb5bf2
xor ecx, 0x36464de2
or eax, ecx
mov r9d, 0xffffffff
xor r9d, 0xb66775dc
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0xb66775dc
or eax, 0xb66775dc
imul eax, r8d
add eax, ecx
imul eax, eax, 0x366a0359
mov ecx, 0x21d1e66a
xor ecx, 0xcf5f7ae8
mov rdx, qword [rdx + 0x38]
mov qword [rbp - 0x50], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x41], dl
cmp eax, ecx
jbe 0x14010e28e
mov al, byte [rbp - 0x41]
test al, 1
jne 0x14010dfe4
jmp 0x14010dfb8
mov rcx, qword [rbp - 0x50]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14010dfe4
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp - 0x20]
mov rax, qword [rax + 0x48]
mov qword [rbp - 0x58], rax
cmp rax, 0
je 0x14010e0a1
mov eax, dword [0x14021df80]
add eax, dword [0x14021df84]
mov ecx, 0xd4cd3aec
xor edx, edx
div ecx
mov ecx, 0x3a9f32ea
xor ecx, 0x23aa787
xor edx, edx
div ecx
add eax, 0x26a99aeb
mov ecx, 0x2eab8ac9
xor ecx, 0x1e9b29f1
cmp eax, ecx
ja 0x14010e297
mov eax, dword [0x14021df88]
or eax, dword [0x14021df8c]
xor ecx, ecx
sub ecx, 0xc4d28f18
add eax, ecx
xor eax, 0xc2b34445
mov ecx, 0xc843dcdd
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x58]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0xa21508d9
jae 0x14010e036
mov al, byte [rbp - 0x59]
test al, 1
jne 0x14010e090
jmp 0x14010e0a1
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov eax, dword [str.X_n_B1]
mov ecx, dword [0x14021df94]
xor ecx, 0xd77391a
mov r11d, eax
xor r11d, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and r11d, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
or r11d, eax
mov eax, 0x5c628b8b
xor eax, 0xa39d7474
xor r11d, eax
mov eax, 0xba8425ce
xor eax, 0x457bda31
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xcaa0d32c
mov edx, 0xffffffff
xor edx, 0x4b5667f2
mov eax, ecx
and eax, 0x4b5667f2
and r11d, edx
mov r9d, r8d
and r9d, 0x4b5667f2
mov r10d, 0x470d7915
xor r10d, 0x8dadaa39
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x4b5667f2
and ecx, edx
or eax, ecx
xor eax, 0x33da5a65
mov ecx, 0xf70c49af
xor ecx, 0xe04f646c
imul eax, ecx
cmp eax, 0x23fab675
je 0x14010e2a0
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x14021df98]
mov r9d, dword [0x14021df9c]
mov edx, 0x1eeccb30
xor edx, 0x84454b0c
xor r9d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, eax
xor edx, 0x596d9907
xor edx, 0xffffffff
or eax, 0x596d9907
and eax, edx
mov edx, 0x3d5504e4
xor edx, 0x9a6c29ce
sub eax, edx
xor eax, 0xc566ed6e
mov rcx, qword [rcx + 0x58]
mov qword [rbp - 0x68], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x5a], cl
cmp eax, 0x19acdbd
jbe 0x14010e15c
mov al, byte [rbp - 0x5a]
test al, 1
jne 0x14010e23a
jmp 0x14010e1f4
mov rax, qword [rbp - 0x68]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14010e23a
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax + 0x60]
mov qword [rbp - 0x10], rcx
mov rax, qword [rax + 0x68]
mov qword [rbp - 8], rax
lea rcx, [rbp - 0x10]
sub rsp, 0x20
call fcn.14001ba90
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov rdx, qword [rax + 0x70]
mov qword [rcx], rdx
mov rax, qword [rax + 0x78]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14006b580
nop
mov rsp, rbp
pop rbp
ret
mov ds, word [rdi + 0x44e9caf0]
cli
invalid
insb byte [rdi], dx
mov ebx, 0x4de9708f
cld
invalid
xchg ebx, eax
invalid
not byte [rdi]
xchg ebp, eax
invalid