Function at 0x14007edba
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rcx
mov eax, dword [str.Sb_P]
mov r8d, dword [0x14021a06c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xd480ed42
xor r9d, 0x2b7f12bd
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
sub eax, 0x4d97a609
sub eax, 0x8bfaf268
and eax, 0x1434a11b
cmp eax, 0xd0fe47db
jae 0x14007ed9f
mov eax, dword [0x14021a070]
xor eax, 0x4f2c3a64
mov ecx, dword [0x14021a074]
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8cf49978
or eax, ecx
mov ecx, 0x61c2439d
xor ecx, 0xed36dae5
or ecx, edx
mov edx, 0x552cc91a
xor edx, 0xaad336e5
xor eax, edx
and eax, ecx
imul eax, eax, 0xe41c6f8e
sub eax, 0xf31e14b0
mov ecx, eax
add ecx, 1
mov edx, 0xd4d6b609
xor edx, 0x2b2949f6
xor eax, edx
mov edx, 0x4582e008
xor edx, 0xac3ce063
or eax, edx
add eax, ecx
mov dword [rsp + 0x50], eax
mov eax, 0x45d7c58c
xor eax, 0x39018153
mov dword [rsp + 0x4c], eax
call fcn.1400741ed
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
call fcn.140038c50
mov rdx, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x4c]
mov r8b, al
mov eax, dword [rsp + 0x50]
mov byte [rsp + 0x56], r8b
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0x57], dl
cmp eax, ecx
jae 0x14007eac6
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14007eb90
jmp 0x14007ecde
mov al, byte [rsp + 0x56]
cmp al, 0xc0
jne 0x14007ebab
mov rcx, qword [rsp + 0x60]
call fcn.140078f80
jmp 0x14007ecde
mov ecx, dword [0x14021a078]
sub ecx, dword [0x14021a07c]
or ecx, 0x4479b4bd
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x886ced4a
mov r8d, 0xffffffff
xor r8d, 0x886ced4a
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x886ced4a
mov r8d, 0x8384970
xor r8d, 0x8054a43a
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xcd9159aa
mov edx, 0xffffffff
xor edx, 0xcd9159aa
and ecx, edx
or eax, ecx
cmp eax, 0xf45d57ef
ja 0x14007eda8
mov rcx, qword [rsp + 0x58]
mov edx, dword [0x14021a080]
mov r8d, dword [0x14021a084]
xor r8d, 0x53296c62
mov eax, edx
and eax, r8d
or edx, r8d
add eax, edx
add eax, 0xf71abe57
add eax, 0x3a44db4c
mov edx, 0xbbf54c5d
xor edx, 0x65478940
sub eax, edx
add eax, 0x2a0021c9
add eax, 0xdeb2c51d
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rcx, 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x75b899a9
jbe 0x14007ec1e
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x28], rax
jne 0x14007ec9c
jmp 0x14007eccf
xor eax, eax
mov ecx, eax
call fcn.140105640
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x14007ecde
mov ecx, 0x10
mov edx, 8
call fcn.140015160
mov rcx, qword [rsp + 0x58]
mov qword [rcx], rax
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x28]
call fcn.14007e930
mov eax, dword [0x14021a088]
mov edx, dword [0x14021a08c]
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
mov edx, 0xce05b0a5
xor edx, 0xf1a88ab0
mov eax, ecx
xor eax, edx
xor eax, 0xffffffff
mov edx, 0xf363fd8d
xor edx, 0xcccec798
or ecx, edx
and ecx, eax
sub ecx, 0xdd95d5c8
mov edx, 0xd4c7f31f
xor edx, 0x31d588bb
mov eax, ecx
or eax, edx
mov edx, 0xede26efb
xor edx, 0x121d9104
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe5127ba4
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0xd2209afa
je 0x14007edb1
mov ecx, dword [0x14021a090]
mov edx, dword [0x14021a094]
mov eax, ecx
and eax, edx
shl eax, 1
xor ecx, edx
add ecx, eax
mov edx, 0xffffffff
xor edx, 0x2a335318
mov eax, ecx
xor eax, edx
and eax, ecx
sub eax, 0x557f72cf
mov ecx, 0x3e9d56ff
xor ecx, 0x60342664
sub eax, ecx
cmp eax, 0xd59c8406
jae 0x14007edb1
add rsp, 0x68
ret
jmp 0x14007ed94
sahf
invalid
jae 0x14007ed7b
lahf
pop rcx
jmp 0x14007ed55
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
call fcn.1400741ed
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14007ea60