Function at 0x14003ddf0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x118
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x70], r9
mov qword [rbp + 0x78], r8
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0x90], rcx
mov ecx, dword [0x1401d9a90]
xor ecx, 0xeaace710
mov edx, dword [0x1401d9a94]
xor edx, 0xbf870d0a
mov r8d, 0xbc345b22
xor r8d, 0x43cba4dd
mov eax, ecx
xor eax, r8d
xor ecx, 0xffffffff
and eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
mov r8d, 0x62056aed
xor r8d, 0x9dfa9512
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0xbddb9df2
mov ecx, eax
and ecx, 0x15d69cc2
xor ecx, 0xffffffff
mov edx, 0x55e39d06
xor edx, 0x403501c4
add eax, edx
mov edx, 0x1382d8ff
xor edx, 0x1382d8fe
add eax, edx
add eax, ecx
add eax, 0xff2c50b8
mov ecx, 0x1003192d
xor ecx, 0xe8882323
cmp eax, ecx
je 0x14003e3c3
mov eax, dword [0x1401d9a98]
mov ecx, dword [0x1401d9a9c]
not eax
xor ecx, 0x4f9b65e
or eax, ecx
not eax
imul rax, rax, 0x5a84df23
shr rax, 0x3e
add eax, 0x44567a7b
xor eax, 0x8b0c8c0b
mov dword [rbp + 0x4c], eax
mov eax, 0x1d6b9d87
mov dword [rbp + 0x48], eax
mov eax, 0x10
mov qword [rbp + 0x18], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x18]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x20], rax
sub rsp, 0x20
call fcn.1400397d3
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x28], rcx
mov qword [rax], 0
xor eax, eax
mov ecx, eax
mov edx, 0x10
mov r8d, 8
sub rsp, 0x20
call fcn.14000fb25
mov r11, qword [rbp + 0x88]
mov r10, qword [rbp + 0x30]
mov r9, qword [rbp + 0x78]
mov r8, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x40]
mov ecx, dword [rbp + 0x48]
add rsp, 0x20
mov rsi, rax
mov eax, dword [rbp + 0x4c]
mov qword [r11 + 8], rsi
mov qword [r10], 0
mov r11, r10
add r11, 8
mov qword [rbp + 0x50], r11
mov qword [r10 + 8], 0
mov r9, qword [r9]
mov r10d, 1
cmp r9, 0
cmove r9, r10
mov qword [rbp + 0x58], r9
add r8, 8
mov qword [rbp + 0x60], r8
add rdx, 8
mov qword [rbp + 0x68], rdx
cmp eax, ecx
je 0x14003deb1
mov rax, qword [rbp + 0x70]
xor ecx, ecx
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
jmp 0x14003e042
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], rax
cmp rax, qword [rcx]
mov qword [rbp - 0x20], rax
jg 0x14003e360
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x38], rax
cmp rax, qword [rcx]
jge 0x14003e12d
mov r8, qword [rbp + 8]
mov rdx, qword [rbp - 0x38]
mov rcx, qword [rbp]
mov rax, qword [rbp + 0x78]
mov r9, qword [rbp + 0x80]
mov r10, qword [r9]
mov qword [rcx], r10
mov r9, qword [r9 + 8]
mov qword [rcx + 8], r9
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.14003d9b0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x28]
mov byte [rbp - 0x39], cl
cmp byte [rax], 0
jne 0x14003e360
mov al, byte [rbp - 0x39]
test al, 1
jne 0x14003e12d
jmp 0x14003e0e0
mov rcx, qword [rbp - 0x38]
mov rax, rcx
add rax, 1
mov r8, rcx
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or r8, rcx
mov rdx, rax
xor rdx, r8
xor rdx, 0xffffffffffffffff
mov rcx, rax
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x20], rax
jl 0x14003e353
jmp 0x14003e066
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x30]
cmp rcx, 0
sete cl
mov byte [rbp - 0x49], cl
test cl, 1
mov qword [rbp - 0x48], rax
jne 0x14003e151
jmp 0x14003e15f
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
mov r8, qword [rbp - 0x48]
mov qword [rbp - 0x60], r8
mov rax, r8
and rax, 0xffffffffffffffff
mov rcx, r8
or rcx, 0xffffffffffffffff
add rax, rcx
mov qword [rbp - 0x58], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs rcx, 0x159e77ceb0f67f0f
movabs r9, 0x2bbc5f7ef08c074c
xor rcx, r9
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x3e2228b0407a7843
xor r10, rdx
mov r9, rax
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0x3e2228b0407a7843
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
movabs rdx, 0xa14fc749f85a4c19
movabs r8, 0xa14fc749f85a4c19
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x14003e353
mov rcx, qword [rbp + 0x38]
mov r9, qword [rbp - 0x58]
mov r8, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x80]
mov r10, qword [rax]
mov qword [rdx], r10
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140019020
mov r9, qword [rbp + 0x38]
mov r8, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov r9, qword [r9]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140013af0
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rdx, qword [rcx + 8]
mov qword [rax + 8], rdx
sub rsp, 0x20
call fcn.14000fb15
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x20]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001a640
mov al, byte [rbp - 0x49]
add rsp, 0x20
test al, 1
jne 0x14003e360
mov rax, qword [rbp - 0x30]
mov rcx, rax
dec rcx
mov qword [rbp - 0x68], rcx
mov rdx, rcx
xor rdx, rax
not rdx
mov r8, rax
and r8, rdx
add r8, r8
mov rdx, rax
sub rdx, r8
lea rdx, [rax + rdx - 1]
test rcx, rcx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x14003e353
mov rdx, qword [rbp + 0x58]
mov rax, qword [rbp - 0x60]
mov rcx, rax
add rcx, rdx
mov qword [rbp - 0x70], rcx
mov r9, rcx
xor r9, rax
xor r9, 0xffffffffffffffff
mov r8, rax
and r8, r9
shl r8, 1
sub r8, rax
mov rax, rcx
sub rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jl 0x14003e353
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x70]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
jmp 0x14003e042
sub rsp, 0x20
call fcn.140007bb8
add rsp, 0x20
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x14003e3b2
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x14003e3b2
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
mov rax, qword [rbp + 0x90]
lea rsp, [rbp + 0x98]
pop rsi
pop rbp
ret
out dx, eax
xor al, 0xb1
invalid