Function at 0x1400dca00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x220]
sub rsp, 0x320
mov rax, qword [0x140191088]
xor rax, rsp
mov qword [rbp + 0x210], rax
mov rsi, r8
mov r15, rdx
mov r13, rcx
mov qword [rsp + 0x60], rdx
mov qword [rbp + 0x78], r8
xor edi, edi
mov dword [rbp - 0x78], edi
mov dword [rsp + 0x30], 0xe0fae3ad
mov dword [rsp + 0x34], 0xf6f8e2ea
mov word [rsp + 0x38], 0xae
mov byte [rsp + 0x3a], 1
mov ecx, edi
nop word [rax + rax]
lea eax, [rcx - 0x75]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 9
jb 0x1400dca70
mov byte [rsp + 0x3a], 0
mov dword [rsp + 0x60], 0xe3ece2ad
mov dword [rsp + 0x64], 0x100adea
mov dword [rsp + 0x40], 0xfde8ffad
mov dword [rsp + 0x44], 0xfcfef9fc
mov dword [rsp + 0x48], 0xa8f0fa
mov byte [rsp + 0x4c], 1
mov dword [rsp + 0x68], 0xe2e4eaad
mov dword [rsp + 0x6c], 0xaff5f9ea
mov word [rsp + 0x70], 0x100
mov dword [rsp + 0x78], 0xebfdf5ff
mov dword [rsp + 0x7c], 0xfef8f6b2
mov word [rbp - 0x80], 0xf6
mov byte [rbp - 0x7e], 1
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 8]
call fcn.1400d3b10
nop
mov rdx, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x1400dcb04
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
mov rcx, rax
call fcn.14004ccb0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x20], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rsp + 0x40]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x58]
call fcn.1400d3f40
nop
lea rdx, [r13 + 0x240]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400dcb56
mov rdx, qword [rdx]
mov rcx, rax
call fcn.14004ccb0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x50], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x40], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x38]
call fcn.1400d3610
nop
mov r8, r13
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.140066ce0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rbp + 0x98]
call fcn.140066c80
nop
lea r8, [r13 + 0x20]
mov rdx, rax
lea rcx, [rbp + 0xe8]
call fcn.140066ce0
nop
mov r8, qword [rbp + 0xb0]
cmp r8, 0x10
jb 0x1400dcbeb
inc r8
mov rdx, qword [rbp + 0x98]
lea rcx, [rbp + 0x98]
call fcn.14004cd40
movdqa xmm0, xmmword [0x140177b50]
movdqu xmmword [rbp + 0xa8], xmm0
mov byte [rbp + 0x98], 0
mov r8, qword [rbp - 0x58]
cmp r8, 0x10
jb 0x1400dcc1c
inc r8
mov rdx, qword [rbp - 0x70]
lea rcx, [rbp - 0x70]
call fcn.14004cd40
movdqa xmm0, xmmword [0x140177b50]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0
lea rcx, [rbp + 0x38]
call fcn.14004c950
nop
lea rcx, [rbp - 0x50]
call fcn.14004c950
nop
lea rcx, [rbp + 0x58]
call fcn.14004c950
nop
lea rcx, [rbp - 0x30]
call fcn.14004c950
nop
lea rcx, [rbp - 8]
call fcn.14004c950
lea rax, [rbp - 0x30]
mov qword [rbp - 0x10], rax
lea rdx, [r13 + 0x80]
lea rcx, [rbp - 0x30]
call fcn.140066450
mov rbx, rax
lea rdx, [rbp + 0xe8]
lea rcx, [rbp - 0x50]
call fcn.140066450
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0xc8]
call fcn.1400e3250
nop
mov qword [rbp + 0x30], rdi
mov byte [rsp + 0x20], 0
mov r9b, 1
lea r8, [rbp - 8]
lea rdx, [rbp + 0xc8]
lea rcx, [rbp + 0xb8]
call fcn.1400d71c0
nop
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x110]
call fcn.140134f46
mov edx, 1
lea rcx, [rbp + 0x110]
call fcn.1400d9670
nop
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x90], rdi
mov ecx, 0x20
call fcn.140133ca4
mov qword [rbp + 0x80], rax
lea r9, [rax + 0x20]
mov qword [rbp + 0x90], r9
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rbp + 0x88], r9
mov rax, qword [rbp + 0x80]
sub r9, rax
lea r8, [rbp + 0xc8]
cmp qword [rbp + 0xe0], 0x10
cmovae r8, qword [rbp + 0xc8]
lea rcx, [r13 + 0x260]
cmp qword [rcx + 0x18], 0x10
jb 0x1400dcd58
mov rcx, qword [rcx]
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0xd8]
mov rdx, qword [r13 + 0x270]
call fcn.1400e9610
mov r12, qword [rbp + 0x88]
mov r14, qword [rbp + 0x80]
cmp r14, r12
je 0x1400dcdef
nop dword [rax + rax]
movzx edi, byte [r14]
lea rdx, [0x1400512c0]
lea rcx, [rbp + 0x120]
push rdx
call 0x1405acef2
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
mov byte [rcx + rbx + 0x58], 0x30
mov edx, 2
lea rcx, [rsp + 0x40]
call fcn.140133c9c
mov rdx, qword [rax + 8]
mov r8, qword [rax]
mov rax, qword [rbx]
movsxd rcx, dword [rax + 4]
add rcx, rbx
call r8
mov edx, edi
mov rcx, rbx
call 0x140644943
int3
mov qword [rbp + 0x98], rdi
movdqa xmm0, xmmword [0x140177b50]
movdqu xmmword [rbp + 0xa8], xmm0
mov byte [rbp + 0x98], 0
mov dword [rbp - 0x78], 0xc4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], rax
mov rcx, qword [rbp + 0x198]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x1400dce5f
mov rax, qword [rbp + 0x168]
mov r8, qword [rax]
test r8, r8
je 0x1400dce5f
mov rax, qword [rbp + 0x148]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x190]
cmovb r8, qword [rbp + 0x190]
sub r8, rdx
jmp 0x1400dce99
test cl, 4
jne 0x1400dce8f
mov rax, qword [rbp + 0x160]
mov rcx, qword [rax]
test rcx, rcx
je 0x1400dce8f
mov rax, qword [rbp + 0x140]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x178]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
jmp 0x1400dce99
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x1400dceab
lea rcx, [rbp + 0x98]
call fcn.14004cb40
nop
lea rdx, [section..data]
cmp qword [0x140191018], 0x10
cmovae rdx, qword [section..data]
lea rcx, [rbp + 0x98]
mov rdi, qword [rbp + 0xb0]
cmp rdi, 0x10
setae r12b
mov rbx, qword [rbp + 0x98]
cmovae rcx, rbx
mov r8, qword [rbp + 0xa8]
cmp r8, qword [0x140191010]
jne 0x1400dcf01
call fcn.140134f52
test eax, eax
jne 0x1400dcf01
xor r14b, r14b
jmp 0x1400dcf04
mov r14b, 1
test r12b, r12b
je 0x1400dcf3d
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400dcf35
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400dcf35
call 0x140699152
int3
mov rcx, rbx
call fcn.140133f44
test r14b, r14b
je 0x1400dcf49
push rcx
call 0x14061478c
int3
lea rdx, [rbp + 0xb8]
lea rcx, [rsp + 0x40]
call fcn.1400d9330
mov rdx, rax
mov rcx, r13
call fcn.1400dfd30
lea rdx, str.success
lea rcx, [rbp + 0xb8]
call fcn.1400d3210
lea rcx, [rax + 8]
cmp byte [rax], 4
mov r12d, 0
cmovne rcx, r12
cmp byte [rcx], r12b
je 0x1400dd3c3
lea rdx, str.contents
lea rcx, [rbp + 0xb8]
call fcn.1400d3210
nop
mov qword [rsp + 0x40], r12
movdqa xmm0, xmmword [0x140177b50]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], r12b
mov dword [rbp - 0x78], 0xd2
cmp byte [rax], 3
jne 0x1400dcfda
mov rdx, qword [rax + 8]
lea rax, [rsp + 0x40]
cmp rax, rdx
je 0x1400dcff6
jmp 0x1400dcfdd
mov rdx, r12
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1400dcfeb
mov rdx, qword [rdx]
lea rcx, [rsp + 0x40]
call fcn.14004cb40
nop
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x98]
call fcn.1400deaa0
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1400dd048
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400dd043
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400dd043
push rdi
call 0x1405cd9b4
int3
call fcn.140133f44
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r12
mov rdi, qword [rbp + 0xa8]
lea r14, [rbp + 0x98]
cmp qword [rbp + 0xb0], 0x10
cmovae r14, qword [rbp + 0x98]
movabs rbx, 0x7fffffffffffffff
cmp rdi, rbx
ja 0x1400dd5ab
mov qword [rsp + 0x58], 0xf
cmp rdi, 0x10
jae 0x1400dd0b1
mov qword [rsp + 0x50], rdi
mov r8d, 0x10
mov rdx, r14
lea rcx, [rsp + 0x40]
call fcn.140134f40
jmp 0x1400dd106
mov rax, rdi
or rax, 0xf
cmp rax, rbx
ja 0x1400dd0cc
mov rbx, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rbx, rcx
mov rdx, rbx
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x40]
call fcn.14004d290
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call fcn.140134f3a
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1400dd132
add rdi, rcx
mov r14, rcx
jmp 0x1400dd13a
add rdi, r8
lea r14, [rsp + 0x40]
mov qword [r15], r12
mov qword [r15 + 8], r12
mov qword [r15 + 0x10], r12
sub rdi, r14
je 0x1400dd178
mov rdx, rdi
mov rcx, r15
call fcn.140067690
mov rbx, qword [r15]
mov r8, rdi
mov rdx, r14
mov rcx, rbx
call fcn.140134f40
lea rax, [rbx + rdi]
mov qword [r15 + 8], rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1400dd1ae
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400dd1a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400dd1a9
call 0x1406a3c7b
int3
call fcn.140133f44
mov qword [rsp + 0x50], r12
mov byte [rsp + 0x40], 0
mov qword [rsp + 0x58], 0xf
mov rdx, qword [rbp + 0xb0]
cmp rdx, 0x10
jb 0x1400dd205
inc rdx
mov rcx, qword [rbp + 0x98]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400dd200
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400dd200
push rax
call 0x140670784
int3
call fcn.140133f44
mov qword [rbp + 0xa8], r12
mov qword [rbp + 0xb0], 0xf
mov byte [rbp + 0x98], 0
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x1400dd273
mov rdx, qword [rbp + 0x90]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400dd25c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400dd25c
push rdx
call 0x140635d5e
int3
call fcn.140133f44
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r12
mov rax, qword [rbp + 0x110]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x110], rax
mov rax, qword [rbp + 0x110]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x10c], edx
lea rcx, [rbp + 0x128]
call fcn.140065fe0
lea rcx, [rbp + 0x130]
call 0x14061d9f0
int3
mov qword [r15], r12
mov qword [r15 + 8], r12
mov qword [r15 + 0x10], r12
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x1400dd423
mov rdx, qword [rbp + 0x90]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400dd40c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400dd40c
call 0x14067823e
int3
call fcn.140133f44
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r12
mov rax, qword [rbp + 0x110]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x110], rax
mov rax, qword [rbp + 0x110]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x10c], edx
lea rcx, [rbp + 0x128]
call fcn.140065fe0
lea rcx, [rbp + 0x130]
call 0x1405b3134
int3
call fcn.14003bf30
nop
int3