Function at 0x14009ef80
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 0x20], rcx
mov eax, 0x10
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.14009d3cb
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x18]
add rdx, 0x60
mov qword [rbp - 0x10], rdx
mov qword [rax], rcx
xor eax, eax
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
mov dword [rbp - 0x24], eax
mov ecx, dword [0x1401dc828]
xor ecx, 0x6967ea6f
mov edx, dword [0x1401dc82c]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
and eax, edx
xor eax, 0xffffffff
and edx, edx
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x572a0950
xor edx, 0xa8d5f6af
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xdd5d1f7
xor ecx, 0xacae7def
and eax, ecx
mov ecx, 0xdcf5f34
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0xf8ac835a
add eax, ecx
cmp eax, 0x863eca9a
je 0x14009f45f
mov eax, dword [0x1401dc830]
xor eax, 0x71e5e35
mov ecx, dword [0x1401dc834]
xor ecx, 0x54dee726
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x9be01863
mov edx, 0x93ecd011
xor edx, 0x93ecd013
imul ecx, edx
xor eax, 0x9be01863
add eax, ecx
and eax, 0xb42a77f5
mov ecx, 0x5b1bb9ab
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x18]
mov ecx, 0x30292731
xor ecx, 0xafdb8981
mov rdx, qword [rdx]
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x25], dl
cmp eax, ecx
ja 0x14009f032
mov eax, dword [rbp - 0x24]
mov cl, byte [rbp - 0x25]
test cl, 1
mov dword [rbp - 0x2c], eax
jne 0x14009f457
jmp 0x14009f0b2
mov eax, dword [rbp - 0x24]
movsxd rcx, eax
mov qword [rbp - 0x40], rcx
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp - 0x38], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14009f214
mov eax, dword [0x1401dc838]
mov ecx, dword [0x1401dc83c]
mov edx, 0xc8788c9d
xor edx, 0x535ae459
xor ecx, edx
sub eax, 0x80e2e900
sub eax, ecx
add eax, 0x80e2e900
mov ecx, 0x5ab4a9e9
xor ecx, 0xdd6c6ece
imul eax, ecx
mov ecx, 0xa4197a90
xor ecx, 0x9520c385
add eax, ecx
or eax, 0x6e9ee4d1
cmp eax, 0x491cb887
je 0x14009f468
mov r8d, dword [0x1401dc840]
mov ecx, dword [0x1401dc844]
mov eax, r8d
and eax, ecx
shl eax, 1
add r8d, ecx
sub r8d, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xbb71a6a3
mov r9d, 0x4c586d33
xor r9d, 0xf729cb90
mov ecx, 0x29b885e4
xor ecx, 0xd6477a1b
xor r9d, ecx
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x63e88616
mov edx, 0xca693734
xor edx, 0x71189197
and ecx, edx
mov edx, 0x98025d7d
xor edx, 0xfbeadb6b
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
and eax, eax
mov ecx, 0xd47505db
xor ecx, 0x2b8afa24
xor eax, ecx
mov ecx, 0x6f38ebe2
xor ecx, 0x4f029a05
mov edx, 0x468f20ff
xor edx, 0x66b55118
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xcb0084cd
xor ecx, 0xc1909b3d
sub eax, ecx
mov dword [rbp - 0x44], eax
sub rsp, 0x20
call fcn.140007bb8
mov eax, dword [rbp - 0x44]
add rsp, 0x20
cmp eax, 0x7f3bf84d
jb 0x14009f13b
mov eax, dword [rbp - 0x24]
mov dword [rbp - 0x2c], eax
jmp 0x14009f457
mov rax, qword [rbp - 0x40]
movabs rcx, 0x5950463c800a503e
sub rax, rcx
add rax, 0xffffffff80000001
movabs rcx, 0x90ce090a9df217f
movabs rdx, 0x505ca6ac29d57141
xor rcx, rdx
add rax, rcx
movabs rcx, 0x6d9c08554509a107
movabs rdx, 0x9263f7aa4509a107
xor rcx, rdx
cmp rax, rcx
jae 0x14009f27d
sub rsp, 0x20
call fcn.140007bb8
mov eax, dword [rbp - 0x24]
add rsp, 0x20
mov dword [rbp - 0x2c], eax
jmp 0x14009f457
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x38]
mov dword [rbp - 0x48], eax
mov edx, 1
sub rsp, 0x20
call fcn.14009ed10
mov rcx, qword [rbp - 0x10]
mov eax, dword [rbp - 0x48]
add rsp, 0x20
cmp byte [rcx], 0
mov dword [rbp - 4], eax
je 0x14009efca
mov eax, dword [0x1401dc848]
mov edx, dword [0x1401dc84c]
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x9d7a0ee8
xor edx, 0x80d91753
mov r8d, 0x6614720
xor r8d, 0xf99eb8df
xor edx, r8d
or ecx, edx
mov edx, 0xffffffff
xor edx, 0x1da319bb
mov r8d, 0xffffffff
xor r8d, 0x1da319bb
or edx, r8d
and eax, edx
xor eax, 0xffffffff
and ecx, eax
xor ecx, 0xffffffff
xor ecx, 0xffffffff
mov eax, 0xffffffff
xor eax, 0x276ee5c3
mov edx, 0xffffffff
xor edx, 0x41eb2b4e
or ecx, eax
mov eax, 0xa9c387c
xor eax, 0x4b771332
or eax, edx
mov edx, 0x58a6bf69
xor edx, 0xa7594096
xor ecx, edx
and ecx, eax
mov edx, 0x3d714571
xor edx, 0xc28eba8e
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x4e872cf9
mov edx, 0xffffffff
xor edx, 0x4e872cf9
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x53932a70
ja 0x14009f471
mov r8d, dword [0x1401dc850]
mov eax, dword [0x1401dc854]
xor eax, 0x942cc816
or r8d, eax
mov eax, r8d
xor eax, 0xffffffff
mov ecx, 0xe235ab53
xor ecx, 0xb0e157ce
and ecx, eax
mov r9d, 0xcf729594
xor r9d, 0x9da66909
mov eax, 0x3957797
xor eax, 0xfc6a8868
xor r9d, eax
and r8d, r9d
mov eax, 0xffffffff
xor eax, 0x7b86b24e
mov edx, 0x3d88b06a
xor edx, 0x6f5c4cf7
and eax, edx
mov edx, 0x660251e8
xor edx, 0x1d84e3a6
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0xa7cd4b47
xor eax, 0xffffffff
mov edx, 0xa7cd4b47
and edx, 0xa7cd4b47
mov r8d, 0xeb5f3b79
xor r8d, 0x14a0c486
xor edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xb6aaecdc
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x38]
mov ecx, 0x252f5db5
xor ecx, 0xe0c3fee8
mov dword [rbp - 0x4c], edx
cmp eax, ecx
jae 0x14009f471
mov eax, dword [rbp - 0x4c]
mov dword [rbp - 0x2c], eax
jmp 0x14009f457
add byte [rbx - 0x76b72bbb], cl
in al, dx
mov eax, dword [rbp - 0x2c]
mov rsp, rbp
pop rbp
ret
cmpsd dword [rsi], dword [rdi]
invalid
cmp byte [rbp - 0x7e], dl
jp 0x14009f456
retf 0xfffc
invalid