Function at 0x14009cb90
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 0x18], rdx
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rcx
mov eax, dword [0x140254be8]
xor eax, 0xd4a06eca
mov edx, dword [0x140254bec]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0xa592b3d4
xor ecx, 0x1f32bd07
and eax, ecx
mov ecx, 0x50ba32ea
xor ecx, 0xcd24b5b9
xor eax, ecx
or eax, 0x94f62971
mov ecx, 0x1d77ad6a
xor ecx, 0xfc7c7dbf
cmp eax, ecx
je 0x14009cfc6
xor eax, eax
mov dword [rbp - 0x34], eax
mov eax, 0x20
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x58], rax
mov eax, 0x10
mov qword [rbp - 0x50], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp - 0x50]
mov rcx, rsp
mov qword [rbp - 0x48], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
sub rsp, 0x20
call fcn.14009b3db
mov rdx, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x34]
mov qword [rbp - 0x30], r8
movabs r8, 0x33420a22fd018ab1
movabs r9, 0x33420a22fd018ab1
xor r8, r9
mov qword [rdx], r8
mov qword [rdx + 8], 0
mov rcx, qword [rcx]
mov qword [rbp - 0x28], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x19], cl
cmp eax, 0x484bdbb0
jae 0x14009cbf7
mov al, byte [rbp - 0x19]
test al, 1
jne 0x14009cd6f
jmp 0x14009cca8
mov rdx, qword [rbp - 0x28]
mov rax, rdx
add rax, 0xffffffffffffffff
mov qword [rbp - 0x60], rax
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xed2637308b008f6b
movabs r8, 0xed2637308b008f6b
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14009ccf0
jmp 0x14009cd02
sub rsp, 0x20
call fcn.140007e9d
add rsp, 0x20
jmp 0x14009cfbd
mov rax, qword [rbp - 0x28]
movabs rcx, 0xb49d5bf0ac715747
movabs rdx, 0xb49d5bf0ac715747
xor rcx, rdx
cmp rax, rcx
jg 0x14009cd3f
mov rdx, qword [rbp - 0x60]
sub rsp, 0x20
mov rcx, rdx
call fcn.140013507
add rsp, 0x20
jmp 0x14009cfbd
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x18]
mov rax, qword [rax + 8]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x61], al
sub al, 0x2f
je 0x14009cd6f
jmp 0x14009cd5f
mov al, byte [rbp - 0x61]
sub al, 0x5c
jne 0x14009cd8d
jmp 0x14009cd6f
mov rax, qword [rbp - 0x10]
mov rcx, qword [0x140267538]
mov qword [rax], rcx
mov rcx, qword [str.Xu_]
mov qword [rax + 8], rcx
jmp 0x14009cfbd
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14009b400
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x58]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rcx], r8
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14009c2c0
mov rcx, qword [rbp - 0x30]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x62], al
jne 0x14009ce08
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x58]
mov r8, qword [rax + 0x10]
mov qword [rdx], r8
mov rax, qword [rax + 0x18]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140019410
mov rax, qword [rbp - 0x30]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0x62], al
mov al, byte [rbp - 0x62]
mov byte [rbp - 0x63], al
mov eax, dword [0x140254bf8]
mov ecx, dword [0x140254bfc]
mov edx, 0x4320fee8
xor edx, 0x72235124
xor ecx, edx
and eax, ecx
mov ecx, 0xc4ab03a2
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xa9710d05
xor edx, 0x8b9f074c
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x22ee0a49
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x22ee0a49
or eax, 0x22ee0a49
imul eax, edx
add eax, ecx
add eax, 0xb9f7dac5
mov ecx, 0xb5f03a29
xor ecx, 0x11d967db
cmp eax, ecx
jb 0x14009cfcf
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x58]
mov edx, dword [0x140254c00]
mov r10d, dword [0x140254c04]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, edx
and r9d, r11d
mov r8d, edx
or r8d, r11d
mov r11d, 0xecb12cd
xor r11d, 0xf134ed32
xor r8d, r11d
imul r8d, r9d
mov r9d, edx
and r9d, r10d
or edx, r10d
imul edx, r9d
add edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x74760e
mov r9d, 0x61e15041
xor r9d, 0x61e15041
mov r10d, 0xd3ff0e7b
xor r10d, 0xd3ff0e7a
sub r9d, r10d
sub r8d, r9d
sub edx, r8d
mov r8d, 0xc7b0375f
xor r8d, 0x4a58825d
mov r9d, 0xae256585
xor r9d, 0x51da9a7a
xor r8d, r9d
add edx, r8d
add edx, 1
xor edx, 0xffffffff
mov r9d, 0x37dcafd7
xor r9d, 0x24f18ac0
mov r8d, 0xfad63541
xor r8d, 0x529cabe
xor r9d, r8d
mov r8d, 0xffffffff
xor r8d, 0xb3765888
or edx, r9d
or r8d, 0xb3765888
xor edx, 0xffffffff
and edx, r8d
mov dword [rbp - 0x68], edx
mov edx, 0x2691c25f
xor edx, 0x78b9169d
mov dword [rbp - 0x6c], edx
mov byte [rax], 0
sub rsp, 0x20
call fcn.140065ec0
mov rdx, qword [rbp - 0x30]
mov ecx, dword [rbp - 0x6c]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0x45
xor r8b, 0x45
cmp dl, r8b
sete dl
mov byte [rbp - 0x64], dl
cmp eax, ecx
jae 0x14009cfcf
mov al, byte [rbp - 0x64]
test al, 1
jne 0x14009cfb4
jmp 0x14009cfbd
mov rax, qword [rbp - 0x30]
mov cl, byte [rbp - 0x63]
mov byte [rax], cl
mov rax, qword [rbp - 8]
mov rsp, rbp
pop rbp
ret
jl 0x14009d025
hlt
invalid
jrcxz 0x14009cfe1
sbb al, 0xb5
sal byte [rcx], 0xd2