Function at 0x14003c980
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xb8
mov dword [rsp + 0xa4], ecx
call fcn.14003d2bf
mov ecx, dword [rsp + 0xa4]
mov qword [rsp + 0xa8], rax
movabs r8, 0x35fe2c282f3943f4
movabs rax, 0x35fe2c282f394373
xor r8, rax
movabs r9, 0x5a06c714a4a82eea
movabs rax, 0x5a06c714a4a82ec7
xor r9, rax
movabs rax, 0x5f97c04743447fcd
movabs rdx, 0x5f97c04743447fce
xor rax, rdx
lea rdx, [0x1401e76a0]
mov qword [rsp + 0x20], rax
call fcn.14003c610
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xb0], rcx
mov al, byte [rax]
mov cl, 0x59
xor cl, 0x59
cmp al, cl
jne 0x14003d28f
mov rax, qword [rsp + 0xb0]
cmp rax, 0xffffffffffffffff
jle 0x14003cdda
mov rax, qword [rsp + 0xb0]
movabs rcx, 0x28556d46459a47cd
movabs rdx, 0x28556d46459a474b
xor rcx, rdx
cmp rax, rcx
jbe 0x14003ca6b
mov rcx, qword [rsp + 0xb0]
mov edx, 0x86
call fcn.1400137e9
jmp 0x14003d28f
mov ecx, dword [rsp + 0xa4]
mov rdx, qword [rsp + 0xb0]
lea rax, [0x1401e76a0]
mov rax, qword [rax + rdx*8]
movsxd rcx, ecx
mov qword [rsp + 0x98], rcx
cmp rax, rcx
jg 0x14003cdda
mov rax, qword [rsp + 0xb0]
movabs rdx, 0xf0a71d0c0902cbb3
movabs rcx, 0xf0a71d0c0902cbb2
xor rdx, rcx
mov rcx, rax
and rcx, rdx
mov rdx, rax
or rdx, 1
add rcx, rdx
mov qword [rsp + 0x90], rcx
movabs rcx, 0x35181dc16a82a318
movabs rdx, 0x35181dc16a82a39d
xor rcx, rdx
cmp rax, rcx
jbe 0x14003cb19
mov rcx, qword [rsp + 0x90]
movabs rdx, 0x6abad8ba537a1124
movabs rax, 0x6abad8ba537a11a2
xor rdx, rax
call fcn.1400137e9
jmp 0x14003d28f
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
lea rax, [0x1401e76a0]
cmp qword [rax + rcx*8], rdx
jl 0x14003cdda
mov rax, qword [rsp + 0xb0]
movabs rdx, 0xbcdb72086fc07364
movabs rcx, 0x3655580bdad7fa5c
xor rdx, rcx
mov rcx, rax
sub rcx, rdx
add rcx, 2
movabs rdx, 0x8a8e2a03b5178938
add rcx, rdx
mov qword [rsp + 0x88], rcx
movabs rcx, 0xb357d226403e9a4b
movabs rdx, 0xb357d226403e9acf
xor rcx, rdx
cmp rax, rcx
jbe 0x14003cbaf
mov rcx, qword [rsp + 0x88]
mov edx, 0x86
call fcn.1400137e9
jmp 0x14003d28f
mov r8, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
lea rax, [0x1401e76a0]
mov rdx, qword [rax + rcx*8]
xor eax, eax
sub rax, rdx
xor ecx, ecx
sub rcx, r8
add rax, rcx
movabs rcx, 0x3957e37db30933f7
movabs r9, 0x3957e37db30933f7
xor rcx, r9
sub rcx, rax
mov qword [rsp + 0x80], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003cc19
call fcn.1400067fe
jmp 0x14003d28f
mov eax, dword [0x1401dce10]
add eax, dword [0x1401dce14]
mov ecx, 0xffffffff
xor ecx, 0xc57b9c4d
mov edx, 0x1dfccf13
xor edx, 0x1dfccf13
mov r8d, 0xc94f585e
xor r8d, 0xc94f585f
sub edx, r8d
sub ecx, edx
sub eax, ecx
imul eax, eax, 0x2093c483
sub eax, 0x85ed1603
cmp eax, 0xbd21592c
ja 0x14003d29b
mov r9, qword [rsp + 0x80]
mov ecx, dword [0x1401dce18]
sub ecx, dword [0x1401dce1c]
mov edx, 0x56ad9c89
xor edx, 0x5157640
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, 0x53b8eac9
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0x3624616b
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xd46004c3
xor ecx, 0x79474a2a
and eax, ecx
mov ecx, 0x35e51435
xor ecx, 0x1718692e
mov rdx, r9
add rdx, 0xfffffffffffffe0c
mov qword [rsp + 0x70], rdx
mov r8, rdx
xor r8, r9
movabs r9, 0x5720fd129ced445d
movabs r10, 0x5720fd129ced445d
xor r9, r10
cmp r8, r9
setl r9b
movabs r8, 0x6eb56c2343971a83
movabs r10, 0x914a93dcbc68e57c
xor r8, r10
cmp rdx, r8
setg dl
mov r8b, dl
xor r8b, r9b
xor r8b, 0xff
or dl, r9b
and dl, r8b
mov byte [rsp + 0x7f], dl
cmp eax, ecx
ja 0x14003d29b
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x14003cd39
jmp 0x14003cd43
call fcn.1400067fe
jmp 0x14003d28f
mov rax, qword [rsp + 0x80]
xor ecx, ecx
sub rcx, rax
xor eax, eax
movabs rdx, 0xffffffff7ffffe0c
sub rax, rdx
add rcx, rax
movabs rax, 0x486330145cb044ed
movabs rdx, 0x486330145cb044ed
xor rax, rdx
sub rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14003cdcc
mov rcx, qword [rsp + 0x70]
movabs rdx, 0xeafe3a6491144885
movabs rax, 0x1501c59b11144885
xor rdx, rax
movabs r8, 0x378016e5fbbe0703
movabs rax, 0x378016e58441f8fc
xor r8, rax
call fcn.14000c499
jmp 0x14003d28f
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x6c], eax
jmp 0x14003d28f
mov ecx, dword [rsp + 0xa4]
lea rdx, [0x1401e7ae0]
mov r8d, 0x4c4
mov r9d, 0x262
mov qword [rsp + 0x20], 2
call fcn.14003c610
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x60], rcx
cmp byte [rax], 0
jne 0x14003d28f
mov eax, dword [rsp + 0xa4]
mov rcx, qword [rsp + 0x60]
cmp rcx, 0xffffffffffffffff
mov dword [rsp + 0x6c], eax
jle 0x14003d28f
mov rax, qword [rsp + 0x60]
cmp rax, 0x4c3
jbe 0x14003ce5a
mov rcx, qword [rsp + 0x60]
mov edx, 0x4c3
call fcn.1400137e9
jmp 0x14003d28f
mov eax, dword [rsp + 0xa4]
mov rdx, qword [rsp + 0x60]
movsxd r8, eax
mov qword [rsp + 0x58], r8
lea rcx, [0x1401e7ae0]
cmp qword [rcx + rdx*8], r8
mov dword [rsp + 0x6c], eax
jne 0x14003d28f
mov ecx, dword [0x1401dce20]
mov edx, dword [0x1401dce24]
xor eax, eax
sub eax, edx
add ecx, eax
mov eax, ecx
and eax, 0x2a34404f
xor eax, 0xffffffff
mov edx, 0xe41b6e44
xor edx, 0x1be491bb
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x2a34404f
or ecx, edx
mov edx, 0x5cead9eb
xor edx, 0xa3152614
xor eax, edx
mov edx, 0xdf83f25d
xor edx, 0x207c0da2
xor ecx, edx
or eax, ecx
mov ecx, 0x257680f4
xor edx, edx
div ecx
mov ecx, 0x66dbebc4
xor edx, edx
div ecx
mov ecx, 0x211b6708
xor ecx, 0x8f57ab86
cmp eax, ecx
je 0x14003d2a4
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x1401dce28]
xor eax, 0xce3046a6
mov edx, dword [0x1401dce2c]
sub eax, 0xf5068a62
sub eax, edx
add eax, 0xf5068a62
add eax, 0xcccfa78d
sub eax, 0x25e2351
mov edx, 0x268d90b5
xor edx, 0xea423738
sub eax, edx
mov edx, 0x315d483e
xor edx, 0xec7d36e2
imul eax, edx
mov edx, eax
and edx, 0xa11b6821
shl edx, 1
mov r8d, 0x1b3abe0a
xor r8d, 0xba21d62b
add eax, r8d
sub eax, edx
mov rdx, rcx
add rdx, 1
mov qword [rsp + 0x48], rdx
cmp rcx, 0x4c2
seta cl
mov byte [rsp + 0x57], cl
cmp eax, 0xbdffbf33
ja 0x14003cefa
mov al, byte [rsp + 0x57]
test al, 1
jne 0x14003cf94
jmp 0x14003d076
mov eax, dword [0x1401dce30]
mov ecx, dword [0x1401dce34]
xor ecx, 0x32b3dcdb
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xdc7becf9
add eax, ecx
add eax, 1
mov ecx, 0x376a1c59
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x300b7f8d
xor edx, 0xcff48072
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x677bfd03
and eax, edx
or ecx, 0x677bfd03
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x83d9d2d4
ja 0x14003d2ad
mov rcx, qword [rsp + 0x48]
mov eax, dword [0x1401dce38]
or eax, dword [0x1401dce3c]
and eax, 0x41549e87
xor eax, 0xa3cdf081
mov edx, eax
xor edx, 0xffffffff
and edx, 0xcf913257
mov r8d, 0xfe5422fc
xor r8d, 0x31c510ab
mov r9d, 0xc359ad90
xor r9d, 0x3ca6526f
xor r8d, r9d
and eax, r8d
sub eax, edx
mov dword [rsp + 0x44], eax
movabs rdx, 0x4a1336a53001b42a
movabs rax, 0x4a1336a53001b0e9
xor rdx, rax
call fcn.1400137e9
mov eax, dword [rsp + 0x44]
cmp eax, 0x758780bb
jae 0x14003cffa
jmp 0x14003d28f
mov r8, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
lea rax, [0x1401e7ae0]
mov rcx, qword [rax + rcx*8]
mov rdx, rcx
add rdx, r8
mov qword [rsp + 0x38], rdx
mov rax, rdx
xor rax, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14003d0c3
call fcn.1400067fe
jmp 0x14003d28f
mov rdx, qword [rsp + 0x38]
mov rax, rdx
add rax, 0xfffffffffffffe0c
mov qword [rsp + 0x30], rax
mov rcx, rax
xor rcx, 0xffffffffffffffff
mov r8, rax
xor r8, 0xffffffffffffffff
or rcx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or r8, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x84c0912fd16a1bc5
movabs r8, 0x84c0912fd16a1bc5
xor rdx, r8
cmp rcx, rdx
setl dl
cmp rax, 0xffffffffffffffff
setg al
mov cl, al
xor cl, dl
xor cl, 0xff
or al, dl
and al, cl
test al, 1
jne 0x14003d14d
jmp 0x14003d157
call fcn.1400067fe
jmp 0x14003d28f
mov rcx, qword [rsp + 0x38]
movabs rdx, 0xae912b085a74bd12
movabs rax, 0x516ed4f7258b431e
xor rdx, rax
mov rax, rcx
and rax, rdx
movabs rdx, 0x7fbfce2312ab372b
movabs r8, 0x804031dc6d54c927
xor rdx, r8
or rcx, rdx
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14003d286
mov eax, dword [0x1401dce40]
mov ecx, dword [0x1401dce44]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0x7294b536
xor edx, edx
div ecx
mov ecx, 0x5be6d743
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xcc094d4a
add eax, ecx
mov ecx, 0x1e0feadf
xor ecx, 0x1e0feade
add eax, ecx
cmp eax, 0xc038654b
jae 0x14003d2b6
mov rcx, qword [rsp + 0x30]
mov edx, dword [0x1401dce48]
mov r8d, dword [0x1401dce4c]
mov eax, edx
and eax, r8d
or edx, r8d
add eax, edx
mov edx, 0x58ebfdb
xor edx, 0xb89f2ebb
sub eax, edx
imul eax, eax, 0xb3396a2a
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x4ffc1ace
mov edx, 0xb1bdcd14
xor edx, 0xf8e07c0d
mov r9d, 0xd08aef27
xor r9d, 0x2f7510d8
xor edx, r9d
or eax, r8d
or edx, 0x495db119
xor eax, 0xffffffff
and eax, edx
mov dword [rsp + 0x2c], eax
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
call fcn.14000c499
mov eax, dword [rsp + 0x2c]
cmp eax, 0xeea8c956
ja 0x14003d1f4
jmp 0x14003d28f
mov rax, qword [rsp + 0x30]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x6c]
and al, 0x6c
add rsp, 0xb8
ret
mov eax, 0xc3000000
jle 0x14003d296
sbb eax, 0xf9c1e961
invalid
mov eax, 0xe987023d
cld
invalid
pop rsp
retf 0xa59d
leave
je 0x14003d290
jmp 0x14003d1f4