Function at 0x1400d147e
Capabilities:
Encode data using xor

Disassembly:
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
mov eax, dword [0x140250b08]
mov edx, dword [0x140250b0c]
xor edx, 0xa6c26df5
mov ecx, 0xc1e7b197
xor ecx, 0x3e184e68
xor edx, ecx
mov ecx, eax
xor ecx, edx
and ecx, eax
mov eax, 0xd6e1fe5e
xor eax, 0x291e01a1
mov edx, ecx
xor edx, eax
and edx, 0xc4f22e6c
mov r8d, 0x244b6f90
xor r8d, 0xe0b941fc
mov eax, 0xc6ea7f22
xor eax, 0x391580dd
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xc4f22e6c
or ecx, 0xc4f22e6c
imul ecx, edx
add ecx, eax
add ecx, 0xd2bf72f8
mov edx, 0xbdc8b291
xor edx, 0xfe4a9f6d
mov eax, 0x5c57f9ff
xor eax, 0xa3a80600
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x62558b23
ja 0x1400d18fb
mov rcx, qword [rsp + 0x40]
mov edx, dword [0x140250b10]
xor edx, 0x4c214e04
mov r8d, dword [0x140250b14]
mov eax, edx
and eax, r8d
xor edx, r8d
or eax, edx
xor eax, 0x769b0529
mov r8d, 0xecf141a8
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x50]
sub eax, 0x59b12a2c
cmp rcx, qword [rdx]
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xfe4c88e9
je 0x1400d14db
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x1400d153d
jmp 0x1400d1783
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x30], rax
cmp rax, 0
je 0x1400d16df
mov rax, qword [rsp + 0x30]
movabs rcx, 0x6dec353442d6760b
sub rax, rcx
add rax, 0xfffffffffffffff0
movabs rcx, 0x6dec353442d6760b
add rax, rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rax]
mov rax, rcx
and rax, 0x10
mov rdx, rcx
or rdx, 0x10
add rax, rdx
mov qword [rsp + 0x28], rax
movabs rdx, 0x22088c5d5b6e148
movabs r8, 0xfddf773a2a491eb7
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400d15d0
call fcn.140008c92
jmp 0x1400d16df
mov eax, dword [0x140250b18]
mov ecx, dword [0x140250b1c]
xor ecx, 0xf6307df4
xor edx, edx
div ecx
mov ecx, eax
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0xd6947c82
xor eax, 0xb9fb120b
and eax, edx
mov edx, 0xffffffff
xor edx, 0x6f6f6e89
and ecx, edx
or eax, ecx
mov ecx, 0x4e37bb4b
xor ecx, 0xe1bde38
imul eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x56e6e0c1
mov r8d, 0xffffffff
xor r8d, 0x56e6e0c1
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x987ddd1e
xor r8d, 0xce9b3ddf
mov edx, eax
and edx, r8d
mov r8d, 0xd68a0e4b
xor r8d, 0x806cee8a
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x21a103a2
xor ecx, 0x1e364056
cmp eax, ecx
jbe 0x1400d1904
mov r8, qword [rsp + 0x28]
mov eax, dword [0x140250b20]
xor eax, 0x8bb8b6ff
mov ecx, dword [0x140250b24]
xor ecx, 0x251268b1
imul eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x91d3a994
and ecx, 0x91d3a994
mov edx, 0xaccf7b8a
xor edx, 0x53308475
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x65d223c2
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x20]
sub eax, 0xe6e730b1
mov ecx, 0xd074a619
xor ecx, 0x4ec6a131
mov qword [rdx], r8
cmp eax, ecx
je 0x1400d1670
jmp 0x1400d16df
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.1400d10f0
test al, 1
jne 0x1400d1703
jmp 0x1400d1756
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.1400d0e40
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
jne 0x1400d1783
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
movabs rdx, 0xd65699314413a37e
movabs rax, 0xd65699314413a376
xor rdx, rax
call fcn.14000ef30
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx]
mov rdx, qword [rdx + rax*8 + 8]
mov rcx, qword [rcx]
mov qword [rcx + rax*8 + 8], rdx
add rax, 1
mov qword [rsp + 0x48], rax
jmp 0x1400d1435
mov eax, dword [0x140250b28]
xor edx, edx
div dword [0x140250b2c]
mov ecx, eax
mov edx, 0xf2a2943d
xor edx, 0xf248288e
mov eax, ecx
xor eax, edx
xor eax, 0xffffffff
and eax, 0xeabcb3
shl eax, 1
sub eax, 0xeabcb3
sub ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xbe57a6ff
xor edx, 0x84432ed6
mov r8d, 0xd4e091f
xor r8d, 0xf2b1f6e0
xor edx, r8d
or eax, edx
mov edx, 0xffffffff
xor edx, 0x3a148829
mov r8d, 0xd4e9d66c
xor r8d, 0xeefd5e45
mov r9d, 0xa584d5bb
xor r9d, 0x5a7b2a44
xor r8d, r9d
or edx, r8d
and ecx, edx
mov edx, 0x93b7cf6b
xor edx, 0x6c483094
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x9ac36fcd
mov edx, 0xffffffff
xor edx, 0x9ac36fcd
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x45b7d25
je 0x1400d190d
mov eax, dword [0x140250b30]
mov r8d, dword [0x140250b34]
xor r8d, 0xd0213639
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x57c41dc6
mov edx, 0xbf9dd2a2
xor edx, 0xe859cf64
mov r8d, 0x816f447
xor r8d, 0xf7e90bb8
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
and eax, 0x44c8deca
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x8dff74f9
mov edx, 0xffffffff
xor edx, 0x8dff74f9
or ecx, edx
xor eax, 0xffffffff
mov edx, 0xf57651eb
xor edx, 0xa89ae14
xor ecx, edx
or eax, ecx
mov ecx, 0x197d996f
xor ecx, 0x1c09807a
cmp eax, ecx
jb 0x1400d190d
add rsp, 0x78
ret
jg 0x1400d1966
lahf
invalid
invalid
imul eax, dword [rax + 0x37e9d85b], 0xffffffff
invalid
sub rsp, 0x20
call fcn.14000ff4b
add rsp, 0x20
mov rax, qword [rbp - 0x18]
mov rax, qword [rax + 0x20]
mov qword [rbp - 0x20], rax
cmp rax, 0
je 0x1400d19c5
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
movabs rcx, 0x81b8aa0d6ee0799e
movabs rdx, 0xc1b8aa0d6ee0799e
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400d19c5
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rax + 0x28]
mov qword [rcx], rdx
mov rax, qword [rax + 0x30]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14000ffc5
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rcx, rax
add rcx, 0x38
mov qword [rbp - 0x28], rcx
mov rcx, qword [rax + 0x38]
sub rsp, 0x20
call fcn.1400d1a30
add rsp, 0x20
test al, 1
jne 0x1400d1a16
jmp 0x1400d1a2a
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14000ff4b
add rsp, 0x20
mov rsp, rbp
pop rbp
ret