Function at 0x14003cef0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x130
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x40], r9
mov byte [rbp + 0xf], r8b
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x10], rcx
mov eax, 0x10
mov qword [rbp + 0x18], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
sub rsp, 0x20
call fcn.14003d810
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov qword [rcx], 0
movabs rcx, 0xd9d44db1efff800d
movabs rax, 0xd9d44db1efff800d
xor rcx, rax
movabs rdx, 0x146dd1517cc79d0
movabs rax, 0x146dd1517cc79c0
xor rdx, rax
movabs r8, 0xcc1057f9f62a81ca
movabs rax, 0xcc1057f9f62a81c2
xor r8, rax
sub rsp, 0x20
call fcn.1400105f0
mov r8, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x38]
mov r9, qword [rbp + 0x40]
add rsp, 0x20
mov r10, rax
mov rax, qword [rbp + 0x48]
mov qword [r8 + 8], r10
mov qword [rcx], 0
mov r8, rcx
add r8, 8
mov qword [rbp + 0x50], r8
mov qword [rcx + 8], 0
add rdx, 8
mov qword [rbp + 0x58], rdx
add rax, 8
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x90]
add rax, 8
mov qword [rbp + 0x68], rax
xor eax, eax
mov qword [rbp + 0x70], r9
mov qword [rbp + 0x78], rax
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x70]
mov rax, qword [rbp + 0x78]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rdx
mov rcx, qword [rcx]
mov qword [rbp], rcx
cmp rax, rcx
jg 0x14003d4d3
mov rax, qword [rbp - 0x10]
movabs rcx, 0x603c974c8fcaaf84
movabs rdx, 0x9fc368b37035507b
xor rcx, rdx
cmp rax, rcx
setg cl
mov byte [rbp - 0x19], cl
mov qword [rbp - 0x18], rax
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x30], rcx
cmp rcx, rax
mov qword [rbp - 0x28], rax
jge 0x14003d0e6
mov al, byte [rbp - 0x19]
test al, 1
jne 0x14003d0af
jmp 0x14003d091
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x14003d4d3
mov rax, qword [rbp - 0x30]
mov dl, byte [rbp + 0xf]
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx]
cmp byte [rcx + rax + 8], dl
mov qword [rbp - 0x28], rax
je 0x14003d0e6
mov rcx, qword [rbp - 0x30]
mov rax, rcx
and rax, 1
or rcx, 1
add rax, rcx
mov qword [rbp - 0x18], rax
jmp 0x14003d068
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x38], rax
mov eax, dword [0x1401d6db0]
xor eax, 0x949da567
xor edx, edx
div dword [str.vCAz]
imul eax, eax, 0x299e7d3a
mov r8d, 0xffffffff
xor r8d, 0x206f4ea3
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x206f4ea3
mov r8d, 0x4fa931e5
xor r8d, 0x6fc67f46
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x527c898
xor ecx, 0x74dc4a48
add eax, ecx
cmp eax, 0xd1e6edae
jae 0x14003d7e6
mov rcx, qword [rbp]
mov r8, qword [rbp - 0x38]
mov rdx, qword [rbp - 8]
mov eax, dword [0x1401d6db8]
or eax, dword [0x1401d6dbc]
or eax, 0x3415c4f
mov r9d, eax
add r9d, 1
xor eax, 0xffffffff
mov r10d, 0x66bac250
xor r10d, 0x78601eb3
or eax, r10d
add eax, r9d
imul eax, eax, 0x3e781483
cmp rdx, 0
sete r9b
mov byte [rbp - 0x51], r9b
cmp rdx, 0
cmove r8, rcx
mov qword [rbp - 0x50], r8
mov rcx, r8
add rcx, 0xffffffffffffffff
mov qword [rbp - 0x48], rcx
mov rdx, rcx
xor rdx, r8
movabs r8, 0x2e809960418f1f13
movabs r9, 0x2e809960418f1f13
xor r8, r9
cmp rdx, r8
setl dl
cmp rcx, 0xffffffffffffffff
setg cl
and cl, dl
mov byte [rbp - 0x39], cl
cmp eax, 0x98588528
je 0x14003d159
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14003d206
jmp 0x14003d218
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14003d4d3
mov eax, dword [0x1401d6dc0]
and eax, dword [0x1401d6dc4]
add eax, 0x1a48cd81
mov edx, eax
xor edx, 0x6aa60281
xor edx, 0xffffffff
and edx, 0x6aa60281
mov ecx, 0x306d2a3b
xor ecx, 0x306d2a39
imul ecx, edx
mov edx, 0x19830d9f
xor edx, 0x73250f1e
sub ecx, edx
sub eax, ecx
mov ecx, eax
and ecx, 0x2f3844b7
shl ecx, 1
xor eax, 0x2f3844b7
add eax, ecx
cmp eax, 0xf0d62fd1
jae 0x14003d7ef
mov rcx, qword [rbp + 0x48]
mov r9, qword [rbp - 0x48]
mov r8, qword [rbp - 0x10]
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x38]
mov r10d, dword [0x1401d6dc8]
mov r11d, dword [0x1401d6dcc]
xor r11d, 0xd46c8858
or r10d, r11d
mov edi, 0xffffffff
xor edi, 0xf6b48266
mov esi, r10d
and esi, edi
mov r11d, r10d
or r11d, edi
mov edi, 0x3be75f3e
xor edi, 0xc418a0c1
xor r11d, edi
imul r11d, esi
mov esi, r10d
and esi, 0xf6b48266
mov edi, 0x5c3beafe
xor edi, 0xaa8f6898
or r10d, edi
imul r10d, esi
add r10d, r11d
mov r11d, 0xc18c7ac2
xor r11d, 0xcc2df4a4
sub r10d, r11d
imul r10d, r10d, 0x6bd4d088
mov dword [rbp - 0x58], r10d
mov r10, qword [rax]
mov qword [rdx], r10
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001aa20
mov r8, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov r8, qword [r8]
mov rdx, qword [rdx]
mov qword [rbp + 0x90], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140014bff
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp + 0xa0], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0xa8], rax
sub rsp, 0x20
call fcn.140010510
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x88], rax
lea rdx, [rbp + 0x80]
sub rsp, 0x20
call fcn.14001ae60
mov eax, dword [rbp - 0x58]
add rsp, 0x20
cmp eax, 0xe9c049c2
ja 0x14003d274
mov al, byte [rbp - 0x51]
test al, 1
jne 0x14003d4d3
jmp 0x14003d3c8
mov rdx, qword [rbp - 8]
mov rax, rdx
add rax, 0xffffffffffffffff
mov qword [rbp - 0x60], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
mov al, cl
xor al, 0xff
xor r8d, r8d
mov r9b, r8b
xor r9b, 1
mov r8b, dl
xor r8b, r9b
or al, r8b
xor cl, 0xff
xor dl, 0xff
or cl, dl
and al, cl
xor ecx, ecx
xor cl, 1
xor al, cl
test al, 1
jne 0x14003d420
jmp 0x14003d432
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14003d4d3
mov rdx, qword [rbp - 0x50]
movabs rcx, 0xd779b1ebd540d257
movabs rax, 0xd779b1ebd540d256
xor rcx, rax
mov rax, rdx
and rax, rcx
mov rcx, rdx
or rcx, 1
add rax, rcx
mov qword [rbp - 0x68], rax
movabs rcx, 0xc9592a31ca9d3efc
movabs r8, 0x36a6d5ce3562c103
xor rcx, r8
xor rdx, rcx
mov rcx, rax
add rcx, 1
movabs r8, 0x5d687d7af68e143c
movabs r9, 0xa29782850971ebc3
xor r8, r9
xor rax, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x14003d4be
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x14003d4d3
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x78], rax
jmp 0x14003d01c
mov ecx, dword [0x1401d6dd0]
mov eax, dword [0x1401d6dd4]
mov edx, 0x3ba42a9d
xor edx, 0x59c36833
xor eax, edx
sub ecx, eax
mov eax, 0xfb9c691a
xor eax, 0x3f0e7c0a
imul ecx, eax
mov edx, 0x25789118
xor edx, 0xf6abe5f9
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
or ecx, 0xd3d374e1
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov edx, eax
xor edx, 0x678018aa
xor edx, 0xffffffff
and edx, 0x678018aa
mov ecx, 0xcc300ec2
xor ecx, 0xcc300ec0
imul ecx, edx
mov edx, 0x9a55e232
xor edx, 0xfdd5fa98
sub ecx, edx
sub eax, ecx
cmp eax, 0x56af194
je 0x14003d7f8
mov rcx, qword [rbp + 0x50]
mov eax, dword [0x1401d6dd8]
xor eax, 0x11be15bd
imul eax, dword [0x1401d6ddc]
mov r8d, 0xf47db44f
xor edx, edx
div r8d
mov edx, eax
mov eax, edx
and eax, 0x933fdd9f
xor edx, 0x933fdd9f
or eax, edx
mov r8d, 0x89023f82
xor edx, edx
div r8d
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0xc78c7d51
je 0x14003d554
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14003d626
jmp 0x14003d5bd
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x23673db82a88adf9
movabs r8, 0x63673db82a88adf9
xor rdx, r8
or rax, rdx
and rax, rcx
movabs rcx, 0x856862d484e22be8
movabs rdx, 0x856862d484e22be8
xor rcx, rdx
cmp rax, rcx
jne 0x14003d626
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov eax, dword [0x1401d6de0]
mov edx, dword [0x1401d6de4]
mov r8d, 0x973557bf
xor r8d, 0x68caa840
mov ecx, eax
xor ecx, r8d
mov r8d, eax
xor r8d, 0xffffffff
or ecx, r8d
and ecx, edx
xor ecx, 0xffffffff
and edx, edx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x1e03c7c6
xor edx, 0xe1fc3839
xor eax, edx
and ecx, eax
xor ecx, 0xffffffff
mov r8d, 0xb23359fa
xor r8d, 0xccb7df95
mov eax, 0xeef17cac
xor eax, 0x110e8353
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
mov r8d, 0x98292728
xor r8d, 0x67d6d8d7
xor eax, r8d
imul eax, edx
mov r8d, 0x1d339f92
xor r8d, 0x63b719fd
mov edx, ecx
and edx, r8d
mov r8d, 0x7650c7f9
xor r8d, 0x8d44196
or ecx, r8d
imul ecx, edx
add ecx, eax
mov edx, 0xe6196e67
xor edx, 0x19e69198
mov eax, ecx
xor eax, edx
mov edx, 0x2255e6e8
xor edx, 0x1d683266
mov r8d, 0x1afd48de
xor r8d, 0xe502b721
xor edx, r8d
or eax, edx
and ecx, 0x3f3dd48e
mov edx, 0xbed51932
xor edx, 0x412ae6cd
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
or eax, 0x320bc08c
mov ecx, 0x88de982d
xor ecx, 0x9e6d114a
cmp eax, ecx
jb 0x14003d801
mov ecx, dword [0x1401d6de8]
mov edx, dword [0x1401d6dec]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov r8d, 0x343d02d1
xor r8d, 0xa82c492
mov ecx, 0x50f42ff
xor ecx, 0xfaf0bd00
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x876e2b3f
xor r8d, 0x7891d4c0
xor ecx, r8d
imul ecx, edx
mov r8d, 0x1f50c098
xor r8d, 0x21ef06db
mov edx, eax
and edx, r8d
or eax, 0x3ebfc643
imul eax, edx
add eax, ecx
mov ecx, 0xd1c87833
xor ecx, 0x4c2853d4
mov edx, 0x3746557a
xor edx, 0xc8b9aa85
xor ecx, edx
add eax, ecx
mov ecx, 0xe0545ec9
xor ecx, 0xe0545ec8
add eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x71f5404f
xor edx, 0x413199e6
or eax, edx
add eax, ecx
cmp eax, 0x1a6bf7db
jbe 0x14003d801
mov rax, qword [rbp + 0x10]
lea rsp, [rbp + 0xb0]
pop rdi
pop rsi
pop rbp
ret
call qword [rdi - 0x40]
shr cl, 1
push 0xfffffffffffffff9
invalid
adc al, 0xfe
cmp eax, 0xfa7ce9da
invalid
imul esp, dword [0x193ed3c55], 0xfffffffd
invalid
push rsi
jmp 0x14003d554
jle 0x14003d7fa
invalid