Function at 0x14007cd40
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], rcx
call fcn.140071710
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
call fcn.140074590
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x14007d0e1
mov ecx, dword [0x1401f5038]
xor ecx, 0xc0d29579
mov eax, dword [0x1401f503c]
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
sub ecx, 0x4ad00d
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x5815519b
xor edx, 0xa7eaae64
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xaad8cb6f
or eax, edx
mov edx, 0xffffffff
xor edx, 0xaad8cb6f
mov r8d, 0xffffffff
xor r8d, 0xaad8cb6f
or edx, r8d
and ecx, edx
mov edx, 0x6c5d7e90
xor edx, 0x93a2816f
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xc6a8c788
xor edx, edx
div ecx
cmp eax, 0x8ddc81a3
ja 0x14007d0e7
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401f5040]
xor eax, 0x86011b5c
xor edx, edx
div dword [0x1401f5044]
mov rdx, qword [rsp + 0x40]
add eax, 0xf0018864
add eax, 0xdc33d624
mov r8d, 0xa4dac4f2
xor r8d, 0x54db4c96
sub eax, r8d
mov r8d, 0x3f1076a6
xor r8d, 0x6def1f2d
add eax, r8d
mov r8d, 0x55fa6511
xor r8d, 0x415c542c
or eax, r8d
mov dword [rsp + 0x38], eax
call fcn.140077f10
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x38]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xfd9b9ed7
jae 0x14007cdf4
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x14007ce83
jmp 0x14007d0e1
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
add rdx, 8
call fcn.14007b327
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x14007d0e1
mov ecx, dword [0x1401f5048]
mov edx, dword [0x1401f504c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe173d40a
mov r8d, 0x1adf355b
xor r8d, 0xfbace151
mov ecx, 0xe0dc49b9
xor ecx, 0x1f23b646
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe173d40a
or eax, 0xe173d40a
imul eax, edx
add eax, ecx
mov ecx, 0x1de7232a
xor edx, edx
div ecx
add eax, 0xa1ebbe62
cmp eax, 0x39585e7d
jb 0x14007d0f0
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401f5050]
xor edx, edx
div dword [0x1401f5054]
mov r8d, 0xea3e8408
xor r8d, 0xc02d4c4f
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x40]
mov r10d, eax
mov eax, r10d
and eax, 0x85bbec34
xor eax, 0xffffffff
add r10d, 0x85bbec34
mov r8d, 0xfb2223a
xor r8d, 0xfb2223b
add r10d, r8d
add r10d, eax
mov r8d, 0x7398a810
xor r8d, 0x8c6757ef
mov eax, r10d
xor eax, r8d
and eax, 0x20fa0ac5
mov r9d, 0xffffffff
xor r9d, 0x20fa0ac5
and r10d, r9d
mov r8d, 0xffffffff
xor r8d, 0xa8caf842
and r8d, 0x20fa0ac5
and r9d, 0xa8caf842
or eax, r10d
or r8d, r9d
xor eax, r8d
mov dword [rsp + 0x30], eax
add rdx, 0x10
call fcn.14007b7fd
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x30]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0x1e3e8d1e
jbe 0x14007cf11
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14007cfeb
jmp 0x14007d0e1
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
add rdx, 0x18
call fcn.14007ba8a
mov rax, qword [rsp + 0x50]
cmp byte [rax], 0
jne 0x14007d0e1
mov eax, dword [0x1401f5058]
or eax, dword [0x1401f505c]
mov ecx, 0x6b7c720
xor edx, edx
div ecx
xor eax, 0x79ed6d93
add eax, 0xdd84d677
mov ecx, 0x320e6aea
xor ecx, 0x6a7259b1
cmp eax, ecx
je 0x14007d0f9
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
mov eax, dword [0x1401f5060]
sub eax, dword [0x1401f5064]
mov r8d, 0x6b2a79ec
xor r8d, 0x3dfdf873
add eax, r8d
mov r8d, eax
and r8d, 0x3c60a52e
mov r9d, 0x775c4ff5
xor r9d, 0x775c4ff7
imul r8d, r9d
xor eax, 0x3c60a52e
add eax, r8d
xor eax, 0xe8524697
mov dword [rsp + 0x28], eax
add rdx, 0x20
call fcn.14007cbb0
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x28]
mov cl, byte [rcx]
mov dl, 0x4d
xor dl, 0x4d
cmp cl, dl
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x6294f0e7
je 0x14007d03e
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14007d0ce
jmp 0x14007d0e1
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
add rdx, 0x28
call fcn.14007829b
nop
add rsp, 0x58
ret
invalid
scasd eax, dword [rdi]
jp 0x14007d134
xor cl, ch
sbb dh, bh
invalid
xor al, 0x4b
mov byte [rcx - 0xc317], dh
dec dword [rax - 0x7d]
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
call fcn.140071710
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x14007cd40
and al, 0x30
call fcn.140071710
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
call fcn.14003afc7
mov cl, al
mov rax, qword [rsp + 0x38]
mov byte [rsp + 0x47], cl
cmp byte [rax], 0
jne 0x14007d1f6
mov al, byte [rsp + 0x47]
cmp al, 0xc0
jne 0x14007d179
mov rcx, qword [rsp + 0x30]
call fcn.140076890
jmp 0x14007d1f6
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
cmp rax, 0
mov qword [rsp + 0x20], rax
jne 0x14007d1e7
xor eax, eax
mov ecx, eax
call fcn.1400e3590
mov rax, qword [rsp + 0x38]
cmp byte [rax], 0
jne 0x14007d1f6
movabs rcx, 0x322afeab860243fd
movabs rax, 0x322afeab860243cd
xor rcx, rax
movabs rdx, 0x4f2036d8d18df4df
movabs rax, 0x4f2036d8d18df4d7
xor rdx, rax
call fcn.140016330
mov rcx, qword [rsp + 0x28]
mov qword [rcx], rax
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x20]
call fcn.14007d102
nop
add rsp, 0x48
ret