Function at 0x1400d90f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x30], rcx
mov eax, 0x10
call fcn.1401ffc50
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov dword [rbp - 4], r8d
sub rsp, 0x20
call fcn.1400d6e29
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x18], rax
mov rax, qword [rdx]
mov qword [rcx], rax
mov rax, qword [rdx + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400d6fbf
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x10], rcx
mov al, byte [rax]
mov cl, 0xdd
xor cl, 0xdd
cmp al, cl
jne 0x1400d926a
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
xor eax, eax
mov r8d, eax
lea r9, [rbp - 4]
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
call fcn.1400a4a80
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rbp - 0x34], ecx
cmp byte [rax], 0
jne 0x1400d926a
mov eax, dword [rbp - 0x34]
mov rcx, qword [rbp - 0x28]
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x40], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x35], cl
cmp eax, 0
jne 0x1400d9226
mov cl, byte [rbp - 0x35]
mov al, 1
test cl, 1
mov byte [rbp - 0x41], al
jne 0x1400d93df
jmp 0x1400d91e2
mov rcx, qword [rbp - 0x40]
movabs rdx, 0x4000000000000000
and rdx, qword [rcx]
movabs r8, 0x1d84e75f644ea8d3
movabs rax, 0x1d84e75f644ea8d3
xor r8, rax
mov al, 1
cmp rdx, r8
mov qword [rbp - 0x50], rcx
mov cl, al
mov byte [rbp - 0x42], cl
mov byte [rbp - 0x41], al
je 0x1400d931a
jmp 0x1400d93df
mov cl, byte [rbp - 0x35]
xor eax, eax
test cl, 1
mov byte [rbp - 0x41], al
jne 0x1400d93df
jmp 0x1400d923c
mov rcx, qword [rbp - 0x40]
movabs rdx, 0x4000000000000000
and rdx, qword [rcx]
xor eax, eax
cmp rdx, 0
mov qword [rbp - 0x50], rcx
mov cl, al
mov byte [rbp - 0x42], cl
mov byte [rbp - 0x41], al
je 0x1400d931a
jmp 0x1400d93df
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x58], rcx
xor eax, eax
cmp rcx, 0
mov byte [rbp - 0x41], al
je 0x1400d93df
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
movabs r8, 0x4c791ceaae34d95e
movabs rdx, 0xb386e31551cb26a1
xor r8, rdx
mov rdx, rax
xor rdx, r8
movabs r8, 0xc43f4963c7aec231
movabs r9, 0x3bc0b69c38513dce
xor r8, r9
xor rax, r8
and rdx, rax
movabs rax, 0x4000000000000000
movabs r8, 0x4000000000000000
or rax, r8
xor rax, 0xffffffffffffffff
movabs r8, 0xacbc7ed8e52ee372
movabs r9, 0x534381271ad11c8d
xor r8, r9
xor rdx, r8
xor rax, 0xffffffffffffffff
and rdx, rax
xor eax, eax
cmp rdx, 0
mov qword [rbp - 0x50], rcx
mov cl, al
mov byte [rbp - 0x42], cl
mov byte [rbp - 0x41], al
jne 0x1400d93df
mov rax, qword [rbp - 0x50]
mov cl, byte [rbp - 0x42]
mov byte [rbp - 0x61], cl
mov qword [rbp - 0x60], rax
mov ecx, dword [0x140206250]
mov edx, dword [0x140206254]
xor edx, 0xd0288daa
xor eax, eax
sub eax, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x2eb5ebf3
mov edx, 0xffffffff
xor edx, 0x2eb5ebf3
and ecx, edx
or eax, ecx
imul eax, eax, 0x4a901b13
xor eax, 0x7b12fba
mov ecx, 0x2d889304
xor ecx, 0xa18c3675
cmp eax, ecx
jbe 0x1400d9552
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x140206258]
xor eax, dword [0x14020625c]
mov r8d, 0xddf1d07d
xor r8d, 0xf5098a1e
xor edx, edx
div r8d
mov r8d, 0x4bd7edcb
xor r8d, 0xfcb1cbb4
xor edx, edx
div r8d
mov r8d, 0x28eb6c1
xor edx, edx
div r8d
mov dword [rbp - 0x68], eax
sub rsp, 0x20
call fcn.14000fb44
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp eax, 0xa970db00
jae 0x1400d9377
mov al, byte [rbp - 0x61]
mov byte [rbp - 0x41], al
jmp 0x1400d93df
mov al, byte [rbp - 0x41]
mov byte [rbp - 0x69], al
mov eax, dword [0x140206260]
mov edx, dword [0x140206264]
mov r8d, 0xd24ec5c1
xor r8d, 0xd24ec5c0
mov ecx, eax
add ecx, r8d
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov ecx, 0x8c1c69d6
xor ecx, 0x4f3b1ec2
imul eax, ecx
mov ecx, 0x43953c60
xor ecx, 0x6d4d7dc4
imul eax, ecx
mov r8d, 0xff423554
xor r8d, 0x976c6ec3
mov ecx, 0x9739c679
xor ecx, 0x68c63986
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x18d1db5f
xor r8d, 0xe72e24a0
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x682e5b97
mov r8d, 0x439b5aa0
xor r8d, 0x2bb50137
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xa3822609
jb 0x1400d955b
mov ecx, dword [0x140206268]
xor ecx, 0x3772a5e6
mov r8d, dword [0x14020626c]
xor r8d, 0x417be0a5
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, r8d
xor eax, 0xffffffff
mov r9d, 0xccef8ef0
xor r9d, 0x3310710f
mov edx, r8d
xor edx, r9d
xor r8d, 0xffffffff
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0xbc04dc9b
xor edx, 0x43fb2364
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x32515d58
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x6613a53f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x7d1b2f4e
xor r8d, 0x1b088a71
mov edx, eax
and edx, r8d
or eax, 0x6613a53f
imul eax, edx
add eax, ecx
mov ecx, 0xb88d7218
xor ecx, 0x10d58e31
xor edx, edx
div ecx
mov ecx, 0xc8f34e6a
xor ecx, 0x632cc3b
cmp eax, ecx
ja 0x1400d955b
mov al, byte [rbp - 0x69]
and al, 1
movzx eax, al
mov rsp, rbp
pop rbp
ret
hlt
sub eax, 0xe9a5f45e
and bh, bh
invalid