Function at 0x14000d2f0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov rax, rdx
add rax, 8
mov qword [rsp + 0x80], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0x88], rax
mov r8, rax
add r8, qword [rcx + 0x2080]
mov qword [rcx + 0x2080], r8
mov rcx, qword [rdx]
mov r8, rcx
add r8, 1
movabs r9, 0x62d53a2ebfde7cb1
movabs r10, 0x9d2ac5d14021834e
xor r9, r10
xor rcx, r9
movabs r9, 0x3ccb527a508ffd75
movabs r10, 0xc334ad85af70028b
xor r9, r10
or rcx, r9
add rcx, r8
mov qword [rsp + 0x90], rcx
mov qword [rdx], rcx
cmp rcx, 0
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rdx
je 0x14000d519
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x90]
sub rdx, rax
mov qword [rsp + 0x68], rdx
call fcn.14000d79e
mov rcx, qword [rsp + 0x88]
mov dl, al
mov rax, qword [rsp + 0x70]
test dl, 1
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
jne 0x14000d3df
jmp 0x14000d519
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rdx]
mov r9, 0xffffffffffffffff
xor r9, 1
mov rdx, r8
xor rdx, r9
and rdx, r8
cmp rdx, 0
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
jne 0x14000d519
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x68]
mov r8, rdx
add r8, 8
mov qword [rsp + 0x60], r8
mov rdx, qword [rdx + 8]
xor r8d, r8d
sub r8, 0xfffffffffffff04f
sub rdx, r8
cmp rdx, 0x3efff04f
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
jae 0x14000d519
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
call fcn.14000c980
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x60]
mov r8, qword [r8]
add r8, qword [rax]
mov qword [rax], r8
sar rdx, 0xc
add rcx, 0x20a0
call fcn.14000cf70
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rcx]
cmp rcx, 0x3f000000
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
jle 0x14000d519
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x78]
mov r8d, 0x3f000000
call fcn.14000a594
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x58], rax
call fcn.14000a6ee
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x98]
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
mov r8, rax
add r8, 8
mov qword [rsp + 0x48], r8
add rdx, rax
mov qword [rsp + 0x50], rdx
call fcn.14000d79e
test al, 1
jne 0x14000d55e
jmp 0x14000d77f
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov rax, rcx
and rax, 1
movabs rdx, 0xf37c7d4d2291d256
movabs r8, 0xc8382b2dd6e2da9
xor rdx, r8
xor rax, rdx
and rcx, 1
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jne 0x14000d77f
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x50]
mov rdx, rax
add rdx, 8
mov qword [rsp + 0x30], rdx
mov rax, qword [rax + 8]
sub rax, 0xfb1
setge al
sub rcx, 0x3f000000
setl cl
and al, cl
test al, 1
jne 0x14000d5e0
jmp 0x14000d77f
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x50]
call fcn.14000c980
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rcx]
add rcx, qword [rax]
mov qword [rax], rcx
movabs rcx, 0xe64ddf19b3524e25
movabs rax, 0xe64ddf19b3524e29
xor rcx, rax
sar rdx, cl
mov rcx, qword [rsp + 0x78]
add rcx, 0x20a0
call fcn.14000cf70
mov rax, qword [rsp + 0x48]
cmp qword [rax], 0x3f000000
jle 0x14000d77f
mov r8d, dword [0x1402168c8]
mov edx, dword [0x1402168cc]
xor edx, 0x6e47eebc
mov ecx, 0xbfa6c24
xor ecx, 0xf40593db
mov eax, r8d
xor eax, ecx
and eax, 0xcd43262
mov r9d, 0xffffffff
xor r9d, 0xcd43262
and r8d, r9d
mov r10d, 0x5ffc3c2c
xor r10d, 0xa003c3d3
mov ecx, edx
xor ecx, r10d
and ecx, 0xcd43262
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0xb94a49b8
xor edx, edx
div ecx
mov r8d, 0xd0c0b7a3
xor r8d, 0x4a3a5e17
mov ecx, 0x74aefa2c
xor ecx, 0x8b5105d3
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x6ee839db
xor r8d, 0xf412d06f
mov edx, eax
and edx, r8d
or eax, 0x9afae9b4
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x39ea7a14
shl ecx, 1
add eax, 0x39ea7a14
sub eax, ecx
cmp eax, 0xf80ec10a
jae 0x14000d795
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1402168d0]
mov r8d, dword [0x1402168d4]
xor r8d, 0xcbf5511f
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x38]
sub eax, 0xff6a43e6
imul eax, eax, 0x70b80171
mov r8d, eax
and r8d, 0x6e24163a
shl r8d, 1
add eax, 0x6e24163a
sub eax, r8d
mov dword [rsp + 0x2c], eax
mov r8d, 0x3f000000
call fcn.14000a594
mov rcx, qword [rsp + 0x78]
mov rdx, rax
call fcn.14000a6ee
mov eax, dword [rsp + 0x2c]
cmp eax, 0x58fec7cf
ja 0x14000d70b
jmp 0x14000d77f
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x78]
add rsp, 0xa8
jmp fcn.14000a6ee
invalid