Function at 0x1400ece10
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], rcx
mov ecx, dword [0x14021d1d0]
mov eax, dword [0x14021d1d4]
mov edx, 0x2354da7a
xor edx, 0x59de136
xor eax, edx
imul ecx, eax
mov eax, 0xa2bd74e3
xor eax, 0x48ee4d3f
imul ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0x2fe33b77
xor edx, 0x1473c945
mov r8d, 0x2d076cec
xor r8d, 0xd2f89313
xor edx, r8d
or eax, edx
mov edx, 0x3b90f232
and edx, 0x3b90f232
xor edx, 0xffffffff
xor ecx, 0xffffffff
mov r8d, 0x7a65d982
xor r8d, 0x859a267d
xor edx, r8d
or ecx, edx
mov edx, 0x7ff83ad9
xor edx, 0x8007c526
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xbd887d96
xor edx, edx
div ecx
cmp eax, 0x81d6b29d
jae 0x1400ed2ed
mov ecx, dword [0x14021d1d8]
mov eax, dword [0x14021d1dc]
xor ecx, eax
xor ecx, 0x13001088
or ecx, 0xcc37ce76
mov eax, ecx
xor eax, 0x1beccc80
and eax, ecx
add eax, 0x842e54ba
mov dword [rbp - 0x24], eax
mov eax, 0x10e21656
mov dword [rbp - 0x28], eax
mov eax, 0x10
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
sub rsp, 0x20
call fcn.1400ecd00
mov rdx, qword [rbp - 8]
mov ecx, dword [rbp - 0x28]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x24]
mov qword [rbp - 0x20], r8
mov rdx, qword [rdx + 0x10]
mov qword [rbp - 0x18], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 9], dl
cmp eax, ecx
jbe 0x1400ecebc
mov al, byte [rbp - 9]
test al, 1
jne 0x1400ed0c3
jmp 0x1400ecf4b
mov eax, dword [0x14021d1e0]
xor edx, edx
div dword [0x14021d1e4]
mov r8d, eax
mov ecx, 0xbbbe5c17
xor ecx, 0x4441a3e8
mov eax, r8d
xor eax, ecx
and eax, 0x77eb5d9b
mov r9d, 0x14618e06
xor r9d, 0x638ad39d
mov ecx, 0x18ee6842
xor ecx, 0xe71197bd
xor r9d, ecx
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0xf6bda200
and ecx, 0x77eb5d9b
mov edx, 0x5251a577
xor edx, 0xa4ec0777
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xd7b03ca5
xor edx, edx
div ecx
mov r11d, eax
mov eax, 0x9f3704
xor eax, 0xff60c8fb
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x6446dbe7
mov edx, 0xffffffff
xor edx, 0x1d1808af
mov r9d, 0x2f5df7eb
xor r9d, 0x3245ff44
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0x1d1808af
mov r10d, 0x59931ac7
xor r10d, 0x3dd5c120
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x1d1808af
and ecx, edx
or eax, ecx
cmp eax, 0x7606387e
jae 0x1400ed2f6
mov eax, dword [0x14021d1e8]
and eax, dword [0x14021d1ec]
mov edx, 0xe4b04355
xor edx, 0xb992d943
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x5d229a16
sub eax, ecx
mov ecx, 0xf6d9dd94
xor ecx, 0x98a4a86e
xor eax, ecx
mov ecx, 0x34f8a2a4
xor ecx, 0xc322b4bc
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x18]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0x1aabccef
je 0x1400ed2f6
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1400ed0b2
jmp 0x1400ed0c3
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov eax, dword [0x14021d1f0]
xor edx, edx
div dword [0x14021d1f4]
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x7ed35a42
xor r8d, 0x812ca5bd
mov edx, ecx
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x25ebc0a4
or eax, edx
mov edx, 0xffffffff
xor edx, 0x25ebc0a4
mov r8d, 0x4216b228
xor r8d, 0x67fd728c
mov r9d, 0x95280276
xor r9d, 0x6ad7fd89
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
add eax, 0x6eb9f236
mov ecx, 0xfc7b0838
xor ecx, 0xe5ce10d8
and eax, ecx
cmp eax, 0xb7e453d7
je 0x1400ed2ff
mov rcx, qword [rbp - 8]
mov eax, dword [0x14021d1f8]
mov r8d, dword [0x14021d1fc]
mov edx, eax
add edx, 1
mov r9d, 0xee9e9449
xor r9d, 0x11616bb6
xor eax, r9d
or eax, r8d
add eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x30dcecb4
mov r8d, 0xffffffff
xor r8d, 0x30dcecb4
and eax, r8d
sub eax, edx
mov edx, eax
xor edx, 0x200e59ec
xor edx, 0xffffffff
mov r8d, 0x325b55fb
xor r8d, 0x12550c17
or eax, r8d
and eax, edx
sub eax, 0x8c7fccee
mov rcx, qword [rcx + 0x20]
mov qword [rbp - 0x40], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x32], cl
cmp eax, 0x9e04ea08
ja 0x1400ed2ff
mov al, byte [rbp - 0x32]
test al, 1
jne 0x1400ed25d
jmp 0x1400ed1eb
mov rax, qword [rbp - 0x40]
mov rcx, qword [rax]
movabs rdx, 0x11c374eaf80dda69
movabs rax, 0x51c374eaf80dda69
xor rdx, rax
movabs rax, 0x11c0844efac1cf0
movabs r8, 0xfee3f7bb1053e30f
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x6dbf8a58ebdc97c0
movabs rdx, 0x6dbf8a58ebdc97c0
xor rcx, rdx
cmp rax, rcx
jne 0x1400ed25d
mov rcx, qword [rbp - 0x40]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rcx, rax
add rcx, 0x30
mov qword [rbp - 0x48], rcx
mov rcx, qword [rax + 0x30]
sub rsp, 0x20
call fcn.1400ed310
add rsp, 0x20
test al, 1
jne 0x1400ed28a
jmp 0x1400ed2c4
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400ecad0
mov rax, qword [rbp - 0x20]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400ed2e8
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov edx, 8
sub rsp, 0x20
call fcn.14001096f
add rsp, 0x20
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 0x38]
mov qword [rcx], rdx
mov rax, qword [rax + 0x40]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140161ad0
add rsp, 0x20
mov rsp, rbp
pop rbp
ret
invalid
adc dword [rbp + 0x3ce914df], 0xe9fffffd
adc eax, 0x4ce95f8f
invalid
jmp 0x1296e6219