Function at 0x1400d6b30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rcx
call fcn.1400d9252
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
add rax, 0x60
mov qword [rsp + 0x58], rax
mov rdx, qword [rdx]
call fcn.14001f2c0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
add rdx, 8
mov qword [rsp + 0x70], rdx
add rcx, 8
mov qword [rsp + 0x78], rcx
xor eax, eax
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
cmp rax, qword [rcx]
jge 0x1400d7040
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x48], rax
cmp rax, 0
je 0x1400d6e86
mov eax, dword [0x1401f75c8]
sub eax, dword [0x1401f75cc]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x81b3f3ca
xor edx, 0xb81032db
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x39a3c111
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x39a3c111
or eax, 0x39a3c111
imul eax, edx
add eax, ecx
mov ecx, 0xbdc07ad6
xor ecx, 0x1ea1cf5e
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0x445ae68d
or ecx, 0x445ae68d
add eax, ecx
cmp eax, 0xdcd6794
je 0x1400d7048
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401f75d0]
or eax, dword [0x1401f75d4]
sub eax, 0xe41cdbd1
mov r8d, 0x596adab7
xor edx, edx
div r8d
mov edx, 0x9f78891
xor edx, 0x5784f42f
or eax, edx
movabs rdx, 0xdd8c0ea539def418
sub rcx, rdx
add rcx, 0xfffffffffffffff0
movabs rdx, 0x89ad8c41812e6c60
movabs r8, 0x542182e4b8f09878
xor rdx, r8
add rcx, rdx
mov qword [rsp + 0x30], rcx
mov rdx, qword [rcx]
movabs r8, 0xefd69f164cf6ed5e
movabs rcx, 0xefd69f164cf6ed4e
xor r8, rcx
mov rcx, rdx
add rcx, r8
mov qword [rsp + 0x38], rcx
mov r8, rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
shl r8, 1
sub r8, 0xffffffffffffffff
sub rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x47], cl
cmp eax, 0xf3e89f82
je 0x1400d7048
mov al, byte [rsp + 0x47]
test al, 1
jne 0x1400d6cfa
jmp 0x1400d6dcb
mov eax, dword [0x1401f75d8]
imul eax, dword [0x1401f75dc]
add eax, 0xbc506bf2
add eax, 0xafd7fe80
mov ecx, 0xe7c4f8ff
xor ecx, 0x5b94930d
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x1fe661b1
mov r8d, 0xffffffff
xor r8d, 0x1fe661b1
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1fe661b1
or eax, 0x1fe661b1
imul eax, edx
add eax, ecx
or eax, 0x2d2f2b6b
cmp eax, 0x4362d1ad
jb 0x1400d7051
mov eax, dword [0x1401f75e0]
mov ecx, dword [0x1401f75e4]
xor ecx, 0xe8c48a31
xor eax, ecx
add eax, 0xd9c8506c
sub eax, 0x62d8532e
mov ecx, 0xc0841d94
xor ecx, 0x3f7be26b
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0x169a1e01
mov ecx, 0xffffffff
xor ecx, 0x556d5aa1
or eax, edx
or ecx, 0x556d5aa1
xor eax, 0xffffffff
and eax, ecx
mov dword [rsp + 0x2c], eax
call fcn.1400091c0
mov eax, dword [rsp + 0x2c]
cmp eax, 0xaf5e6670
jae 0x1400d6d60
jmp 0x1400d6e86
mov eax, dword [0x1401f75e8]
mov ecx, dword [0x1401f75ec]
and eax, eax
xor eax, 0xffffffff
and ecx, ecx
mov edx, 0x76dc298a
xor edx, 0x8923d675
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0x862b4ecc
xor edx, 0x79d4b133
xor ecx, edx
or eax, ecx
sub eax, 0x6088b4cb
sub eax, 0xd23e2fc0
add eax, 0x94d4b2d5
mov ecx, 0xd9354fc
xor ecx, 0xdfad7b3c
add eax, ecx
xor eax, 0x5680a1e9
mov ecx, 0x8817b248
xor ecx, 0x5e29b41d
cmp eax, ecx
jb 0x1400d705a
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov eax, dword [0x1401f75f0]
mov r8d, dword [0x1401f75f4]
mov r9d, 0x3491fad3
xor r9d, 0x1d23415
xor r8d, r9d
or eax, r8d
imul eax, eax, 0xceb4e4e3
or eax, 0xa468aef1
xor r8d, r8d
sub r8d, 0x834faa07
sub eax, r8d
mov qword [rcx], rdx
cmp eax, 0x111e05f
je 0x1400d6e31
jmp 0x1400d6e86
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.1400d696f
test al, 1
jne 0x1400d6eaa
jmp 0x1400d7010
mov eax, dword [0x1401f75f8]
or eax, dword [0x1401f75fc]
xor eax, 0xffffffff
mov edx, 0x5d0d2612
xor edx, 0x9de0b7f4
mov ecx, 0x9cbd61ca
xor ecx, 0x63429e35
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xa7559f70
or eax, edx
or ecx, 0xa7559f70
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x3862ec20
xor ecx, 0xa7fdeec2
xor edx, edx
div ecx
mov ecx, 0x8d614527
xor ecx, 0x8d614527
sub ecx, eax
xor eax, eax
sub eax, 0x668fbafb
add ecx, eax
mov eax, 0x92e24926
xor eax, 0x92e24926
sub eax, ecx
mov ecx, 0xc3228cbd
xor ecx, 0xb0954d93
cmp eax, ecx
je 0x1400d7063
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x78]
mov edx, dword [0x1401f7600]
mov r8d, dword [0x1401f7604]
sub edx, 0x52fa17b3
add edx, r8d
add edx, 0x52fa17b3
and edx, 0xad84667a
add edx, 0xa79d68ec
mov r9d, edx
xor r9d, 0xffffffff
and r9d, 0x92be953a
mov r10d, 0xffffffff
xor r10d, 0x92be953a
mov r8d, edx
and r8d, r10d
imul r8d, r9d
mov r10d, 0x441daecf
xor r10d, 0xd6a33bf5
mov r9d, edx
and r9d, r10d
mov r10d, 0x3991f078
xor r10d, 0xab2f6542
or edx, r10d
imul edx, r9d
add edx, r8d
mov dword [rsp + 0x24], edx
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.1400d64f0
mov rcx, qword [rsp + 0x58]
mov eax, dword [rsp + 0x24]
mov cl, byte [rcx]
mov dl, 0x67
xor dl, 0x67
cmp cl, dl
sete cl
mov byte [rsp + 0x2b], cl
cmp eax, 0xba92a365
ja 0x1400d7063
mov al, byte [rsp + 0x2b]
test al, 1
jne 0x1400d6ff4
jmp 0x1400d7040
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
mov edx, 8
call fcn.140011370
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx]
mov rdx, qword [rdx + rax*8 + 8]
mov rcx, qword [rcx]
mov qword [rcx + rax*8 + 8], rdx
add rax, 1
mov qword [rsp + 0x80], rax
jmp 0x1400d6b87
add rsp, 0x88
ret
outsd dx, dword [rsi]
rcl byte [rbx]
jmp 0x1400d6c33
movsb byte [rdi], byte [rsi]
and edx, esi
mov ecx, 0xfffd06e9
call qword [rbx]
test byte [rax], dh
or ebp, ecx
invalid
adc eax, dword [rax + rsi - 0x23116f5]
invalid
sub ah, byte [rcx + 0x24]
jmp 0x1400d7051