Function at 0x14003d9b0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rcx
mov rcx, qword [r8]
mov qword [rsp + 0x98], rcx
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0xa7], al
jle 0x14003ddca
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
movabs r9, 0x4dfc6e7af08162c0
movabs r8, 0xb20391850f7e9d3f
xor r9, r8
mov r8, rax
xor r8, r9
mov qword [rsp + 0x58], r8
add rdx, 8
mov qword [rsp + 0x60], rdx
add rcx, 8
mov qword [rsp + 0x68], rcx
cmp rax, 0
setl al
mov byte [rsp + 0x77], al
xor eax, eax
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x48], rcx
cmp rcx, rax
mov qword [rsp + 0x50], rax
je 0x14003dcb1
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x48]
add rcx, rax
mov qword [rsp + 0x40], rcx
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r9, 0x61a42a97a227d0fd
movabs r8, 0x9e5bd5685dd82f02
xor r9, r8
mov r8, rdx
xor r8, r9
or rax, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xc22657a941ae03fd
movabs rdx, 0x3dd9a856be51fc02
xor rcx, rdx
xor rax, rcx
cmp rax, 0
jge 0x14003daed
call fcn.140007bb8
xor eax, eax
mov byte [rsp + 0xa7], al
jmp 0x14003ddca
mov eax, dword [0x1401d9a70]
mov r8d, dword [0x1401d9a74]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xa99e379f
shl ecx, 1
xor eax, 0xa99e379f
add eax, ecx
add eax, 0x5db22c3f
mov ecx, 0xb73571a8
xor edx, edx
div ecx
cmp eax, 0x30988fb1
ja 0x14003ddde
mov r8, qword [rsp + 0x90]
mov eax, dword [0x1401d9a78]
mov ecx, dword [0x1401d9a7c]
xor ecx, 0x450c9eed
xor eax, ecx
and eax, 0xf0a2b417
mov ecx, 0xbc5b6ec2
xor ecx, 0x6018b49a
add eax, ecx
mov ecx, 0xca5ef0d4
xor ecx, 0xa07043a8
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x40]
mov ecx, 0x21ed7e91
xor ecx, 0x388fe08b
mov r8, qword [r8]
mov qword [rsp + 0x30], r8
cmp rdx, r8
setl dl
mov byte [rsp + 0x3f], dl
cmp eax, ecx
ja 0x14003db49
mov rax, qword [rsp + 0x48]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x50], rax
jne 0x14003dbcc
jmp 0x14003dcb1
mov al, byte [rsp + 0x77]
test al, 1
jne 0x14003dbdd
jmp 0x14003dbfe
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffff
call fcn.140012270
xor eax, eax
mov byte [rsp + 0xa7], al
jmp 0x14003ddca
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x98]
cmp rax, rcx
jl 0x14003dc4c
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x98]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140012270
xor eax, eax
mov byte [rsp + 0xa7], al
jmp 0x14003ddca
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
mov cl, byte [rcx + r8 + 8]
mov rdx, qword [rdx]
cmp cl, byte [rdx + rax + 8]
mov qword [rsp + 0x50], rax
jne 0x14003dcb1
mov rax, qword [rsp + 0x48]
mov rcx, rax
and rcx, 1
shl rcx, 1
movabs rdx, 0x1313316d85c402af
movabs r8, 0x1313316d85c402ae
xor rdx, r8
xor rax, rdx
add rax, rcx
mov qword [rsp + 0x78], rax
jmp 0x14003da4b
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1401d9a80]
add eax, dword [0x1401d9a84]
and eax, 0x2a5896d0
mov ecx, 0x786be020
xor ecx, 0x83fa0a6a
add eax, ecx
mov ecx, 0xb6ea33ec
xor ecx, 0x3a9847f9
xor eax, ecx
cmp eax, 0x2eab32bd
je 0x14003dde7
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x98]
mov eax, dword [0x1401d9a88]
mov r9d, dword [0x1401d9a8c]
xor r9d, 0xe10284e7
mov r8d, eax
xor r8d, r9d
xor r8d, 0xffffffff
mov r10d, r9d
and r10d, r8d
mov r8d, 0x93ccbc6e
xor r8d, 0x93ccbc6c
imul r8d, r10d
sub r8d, r9d
sub eax, r8d
mov r8d, 0x6bc0293a
xor r8d, 0x2225315
imul eax, r8d
mov r8d, 0x1c59ba41
xor r8d, 0xd03c3ae9
or eax, r8d
mov r9d, eax
xor r9d, 0xffffffff
and r9d, 0x4aa6862e
mov r10d, 0xb1d75172
xor r10d, 0xfb71d75c
mov r8d, 0x21129598
xor r8d, 0xdeed6a67
xor r10d, r8d
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x4aa6862e
or eax, 0x4aa6862e
imul eax, r9d
add eax, r8d
cmp rcx, rdx
sete cl
mov byte [rsp + 0x27], cl
cmp eax, 0x64fadc56
je 0x14003dde7
mov al, byte [rsp + 0x27]
mov byte [rsp + 0xa7], al
jmp 0x14003ddca
mov al, byte [rsp + 0xa7]
and al, 1
movzx eax, al
add rsp, 0xa8
ret
mov byte [rsi], ah
popfq
invalid
invalid