Function at 0x140102570
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x10], rdx
mov qword [rbp - 8], rcx
mov ecx, dword [0x1401cec08]
mov r8d, dword [0x1401cec0c]
mov eax, ecx
xor eax, 0xffffffff
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
mov eax, 0xdf0daa6b
xor eax, 0xa1d27fbb
imul ecx, eax
mov edx, 0xdf9f186d
xor edx, 0x2060e792
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xca367fe5
or eax, edx
and ecx, 0xca367fe5
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x5d7c38f
xor ecx, 0xa4f68bca
xor edx, edx
div ecx
mov ecx, 0xf74324c5
xor ecx, 0x3b95b290
cmp eax, ecx
ja 0x14010287b
mov eax, dword [0x1401cec10]
mov ecx, dword [0x1401cec14]
or eax, ecx
imul rax, rax, 0x7db228a9
shr rax, 0x3e
add eax, 0x2f19b5b3
mov dword [rbp - 0x24], eax
mov eax, 0x10
mov qword [rbp - 0x40], rax
call fcn.1401c7680
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rcx, rsp
mov qword [rbp - 0x38], rcx
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.1400fcc3e
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x24]
mov qword [rbp - 0x20], rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0x5a74dd4b
ja 0x14010287b
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14010269d
jmp 0x14010270b
mov rcx, qword [rbp - 0x38]
mov word [rcx], 0xd3
sub rsp, 0x20
call fcn.140060746
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x140102706
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x48]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14001a030
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x30]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400fcc60
add rsp, 0x20
jmp 0x140102720
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.140101c70
add rsp, 0x20
mov ecx, dword [0x1401cec18]
xor ecx, 0xfeb0a722
mov edx, dword [0x1401cec1c]
xor edx, 0xfd43738c
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov edx, 0xc36586e3
xor edx, 0x3c9a791c
mov ecx, eax
xor ecx, edx
mov edx, 0xdb287db
xor edx, 0xfd473b5e
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xf0f5bc85
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xf90d6651
xor r8d, 0x9f8dad4
mov edx, eax
and edx, r8d
or eax, 0xf0f5bc85
imul eax, edx
add eax, ecx
sub eax, 0xdda728c4
sub eax, 0x851978d0
add eax, 0xdda728c4
mov edx, eax
xor edx, 0xffffffff
and edx, 0x430d867f
mov r8d, 0xffffffff
xor r8d, 0x430d867f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x95c03215
xor r8d, 0xd6cdb46a
mov edx, eax
and edx, r8d
or eax, 0x430d867f
imul eax, edx
add eax, ecx
cmp eax, 0x6f87518c
jbe 0x140102884
mov eax, dword [0x1401cec20]
mov ecx, dword [0x1401cec24]
mov edx, 0x733a251e
xor edx, 0x2b844ffd
sub eax, edx
add eax, ecx
add eax, 0x58be6ae3
mov ecx, 0x9f0f41bc
xor edx, edx
div ecx
mov ecx, 0x5fbc6ca0
xor ecx, 0xa193f22
add eax, ecx
mov edx, 0xe046880e
xor edx, 0x1fb977f1
mov ecx, eax
xor ecx, edx
mov edx, 0x8c616fc8
sar dword [rdx - 0x739e9038], 1
xor edx, 0xfaac9c13
and edx, ecx
mov r8d, 0x42240320
xor r8d, 0x34e9f0fb
mov ecx, 0xc8021e6e
xor ecx, 0x37fde191
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x76cdf3db
or eax, 0x76cdf3db
imul eax, edx
add eax, ecx
cmp eax, 0xa1f07bf5
jbe 0x1401027e4
mov rsp, rbp
pop rbp
ret
out dx, eax
jbe 0x140102828
sub cl, ch
invalid
sbb bh, byte [rsi]
mov cl, 0x20
jmp 0x1401027e4