Function at 0x10013830
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov qword [rsp + 0x78], rcx
cmp r8, 0x10
jne 0x10013e74
mov qword [rsp + 0xa8], r9
mov eax, dword [rdx]
mov r8d, dword [rdx + 4]
mov r9d, dword [rdx + 8]
mov ecx, dword [rdx + 0xc]
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0x60]
mov edx, eax
call fcn.10013110
mov rax, qword [rsp + 0x78]
movzx ebx, word [rax + 0xae]
xor bx, word [rsp + 0x6e]
movzx r13d, word [rax + 0xac]
xor r13w, word [rsp + 0x6c]
movzx r15d, word [rax + 0xaa]
xor r15w, word [rsp + 0x6a]
movzx r8d, word [rax + 0xa8]
xor r8w, word [rsp + 0x68]
movzx ebp, word [rax + 0xa6]
xor bp, word [rsp + 0x66]
movzx esi, word [rax + 0xa4]
xor si, word [rsp + 0x64]
movzx r9d, word [rax + 0xa0]
movzx ecx, word [rax + 0xa2]
xor cx, word [rsp + 0x62]
xor r9w, word [rsp + 0x60]
mov edi, 0x90
nop dword [rax]
mov qword [rsp + 0xb0], rdi
not r15d
not r13d
mov eax, r8d
xor eax, r13d
xor ecx, r9d
mov edx, ecx
xor edx, eax
mov r10d, edx
xor r10d, r15d
mov r11d, r8d
xor r11d, ebp
xor r11d, r9d
not r11d
xor esi, ebx
xor esi, r15d
mov r9d, eax
xor r9d, ebx
xor r13d, ebp
xor r13d, ecx
xor r8d, ebx
mov word [rsp + 0x40], r10w
mov word [rsp + 0x42], r11w
mov word [rsp + 0x44], si
mov word [rsp + 0x46], r9w
mov word [rsp + 0x48], r13w
mov word [rsp + 0x4a], ax
mov word [rsp + 0x4c], dx
mov word [rsp + 0x4e], r8w
lea rbx, [rsp + 0x30]
mov rcx, rbx
lea r14, [rsp + 0x40]
mov rdx, r14
call fcn.10012a00
movzx ecx, word [rsp + 0x32]
movzx eax, word [rsp + 0x3a]
mov edx, eax
xor edx, ecx
mov r8d, dword [rsp + 0x3c]
movzx r9d, word [rsp + 0x36]
xor r9w, r8w
mov r10d, dword [rsp + 0x34]
xor eax, r10d
xor eax, r9d
xor r9d, edx
movzx r11d, word [rsp + 0x3e]
movzx esi, word [rsp + 0x30]
xor si, r11w
mov edi, dword [rsp + 0x38]
xor r11d, edi
xor r11d, edx
mov word [rsp + 0x30], r10w
xor r10d, edi
xor r10d, r9d
xor r8d, ecx
xor eax, esi
xor r9d, esi
xor edi, ecx
mov word [rsp + 0x32], dx
mov word [rsp + 0x34], r11w
mov word [rsp + 0x36], r10w
mov word [rsp + 0x38], r8w
mov word [rsp + 0x3a], ax
mov word [rsp + 0x3c], r9w
mov word [rsp + 0x3e], di
mov rcx, r14
mov rdx, rbx
call fcn.10013ed0
movzx ecx, word [rsp + 0x42]
mov r10d, dword [rsp + 0x44]
mov edx, dword [rsp + 0x48]
movzx r9d, word [rsp + 0x4a]
movzx ebp, word [rsp + 0x4e]
mov eax, r9d
xor eax, edx
mov esi, edx
mov r8d, eax
mov dword [rsp + 0xa4], eax
mov edx, ebp
mov edi, ebp
mov eax, ebp
xor eax, r8d
rol ax, 8
mov r11d, dword [rsp + 0x4c]
xor edx, esi
mov r12d, esi
rol dx, 4
xor edx, eax
mov r14d, edx
mov eax, r11d
xor eax, r9d
xor edi, r9d
mov dword [rsp + 0x5c], edi
mov r8d, r9d
mov dword [rsp + 0xa0], r9d
mov edx, edi
xor edx, ecx
mov dword [rsp + 0x74], edx
xor r8d, ecx
mov dword [rsp + 0x58], r8d
mov edx, r11d
xor edx, ecx
mov dword [rsp + 0x9c], edx
mov edi, r10d
mov edx, r10d
xor edx, ecx
mov dword [rsp + 0x98], edx
mov edx, eax
xor eax, ecx
mov dword [rsp + 0x94], eax
mov esi, dword [rsp + 0x40]
xor ecx, esi
xor ecx, ebp
mov r13d, ebp
movzx r10d, word [rsp + 0x46]
xor r13d, r10d
mov eax, r13d
xor eax, edx
mov ebx, r10d
xor ebx, edi
mov dword [rsp + 0x88], ebx
xor ebx, edx
xor ecx, edx
xor edx, ebp
mov dword [rsp + 0x8c], edx
mov r15d, r11d
xor ebp, r11d
mov edx, ebp
mov r9d, r12d
xor edx, r12d
rol dx, 0xc
mov r11d, r13d
xor r11d, r15d
mov r12d, r15d
rol r11w, 4
rol ax, 0xc
xor r14d, edx
mov dword [rsp + 0x90], r14d
xor eax, r11d
mov r8d, r9d
mov edx, r9d
xor r8d, r10d
mov r11d, r8d
xor r11d, ebp
rol r11w, 8
rol bx, 8
mov r14d, r15d
mov dword [rsp + 0x70], r15d
mov r9d, edi
xor r15d, edi
mov r12d, dword [rsp + 0x5c]
mov edi, r12d
xor edi, r15d
rol di, 4
xor eax, r11d
mov dword [rsp + 0x84], eax
xor r14d, edx
mov r11d, r14d
xor r11d, r9d
mov eax, r9d
mov dword [rsp + 0x80], r9d
xor r11d, r12d
rol r11w, 0xc
xor edi, ebx
xor r11d, edi
mov ebx, r15d
xor r15d, r8d
mov r9d, edx
xor r9d, eax
mov edi, dword [rsp + 0x74]
xor r9d, edi
rol r9w, 8
mov edx, r8d
mov r8d, dword [rsp + 0x58]
xor r14d, r8d
rol r14w, 4
xor edx, dword [rsp + 0x70]
xor edx, edi
rol dx, 0xc
xor r14d, r9d
xor edx, r14d
mov edi, dword [rsp + 0x88]
xor r8d, edi
mov dword [rsp + 0x58], r8d
mov r9d, dword [rsp + 0xa0]
xor r9d, esi
xor edi, r9d
rol di, 0xc
mov r14d, r13d
xor r14d, r9d
rol r14w, 4
xor r14d, edi
mov r8d, r12d
xor r8d, esi
mov dword [rsp + 0x5c], r8d
mov r12d, dword [rsp + 0x9c]
xor r10d, r12d
xor r10d, r8d
rol r10w, 8
xor r14d, r10d
mov r8d, dword [rsp + 0x98]
xor r8d, ebp
xor ebx, esi
rol bx, 8
xor ebp, eax
rol bp, 4
xor ebp, ebx
mov ebx, dword [rsp + 0xa4]
rol r8w, 0xc
mov edi, dword [rsp + 0x94]
rol di, 4
xor r8d, ebp
mov ebp, r9d
mov r9d, dword [rsp + 0x74]
rol r9w, 8
xor r9d, edi
rol cx, 0xc
xor ecx, r9d
xor r13d, ebx
mov edi, dword [rsp + 0x70]
xor ebx, edi
mov r10d, ebp
rol r10w, 4
xor edi, ebp
rol di, 8
xor edi, r10d
mov eax, dword [rsp + 0x5c]
rol ax, 0xc
xor eax, edi
mov rdi, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x78]
xor ax, word [r10 + rdi]
xor r8w, word [r10 + rdi + 4]
mov r9d, dword [rsp + 0x8c]
xor r9d, eax
xor esi, r12d
xor r14w, word [r10 + rdi + 6]
xor esi, r8d
mov r8d, dword [rsp + 0x58]
xor r14d, dword [rsp + 0x80]
xor cx, word [r10 + rdi + 2]
xor ecx, ebp
xor ebp, r12d
xor dx, word [r10 + rdi + 8]
xor ebp, r14d
xor r8d, edx
xor r11w, word [r10 + rdi + 0xa]
xor r15d, r11d
mov eax, dword [rsp + 0x84]
xor ax, word [r10 + rdi + 0xc]
xor r13d, eax
mov eax, dword [rsp + 0x90]
xor ax, word [r10 + rdi + 0xe]
xor ebx, eax
add rdi, 0xfffffffffffffff0
jne 0x100138f0
not r15d
not r13d
mov eax, r8d
xor eax, r13d
xor ecx, r9d
mov edx, ecx
xor edx, eax
mov r10d, edx
xor r10d, r15d
mov r11d, r8d
xor r11d, ebp
xor r11d, r9d
not r11d
xor esi, ebx
xor esi, r15d
mov r9d, eax
xor r9d, ebx
xor r13d, ebp
xor r13d, ecx
xor r8d, ebx
mov word [rsp + 0x40], r10w
mov word [rsp + 0x42], r11w
mov word [rsp + 0x44], si
mov word [rsp + 0x46], r9w
mov word [rsp + 0x48], r13w
mov word [rsp + 0x4a], ax
mov word [rsp + 0x4c], dx
mov word [rsp + 0x4e], r8w
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x40]
call fcn.10012a00
movzx ecx, word [rsp + 0x32]
movzx eax, word [rsp + 0x3a]
mov edx, eax
xor edx, ecx
mov r8d, dword [rsp + 0x3c]
movzx r9d, word [rsp + 0x36]
xor r9w, r8w
mov r10d, dword [rsp + 0x34]
xor eax, r10d
xor eax, r9d
xor r9d, edx
movzx r11d, word [rsp + 0x3e]
movzx esi, word [rsp + 0x30]
xor si, r11w
mov edi, dword [rsp + 0x38]
xor r11d, edi
xor r11d, edx
mov word [rsp + 0x30], r10w
xor r10d, edi
xor r10d, r9d
xor r8d, ecx
xor eax, esi
xor r9d, esi
xor edi, ecx
mov word [rsp + 0x32], dx
mov word [rsp + 0x34], r11w
mov word [rsp + 0x36], r10w
mov word [rsp + 0x38], r8w
mov word [rsp + 0x3a], ax
mov word [rsp + 0x3c], r9w
mov word [rsp + 0x3e], di
lea rcx, [rsp + 0x40]
lea rdx, [rsp + 0x30]
call fcn.10013ed0
mov rax, qword [rsp + 0x78]
movups xmm0, xmmword [rax]
xorps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x60], xmm0
lea r14, [rsp + 0x60]
mov rcx, r14
mov edx, 1
call fcn.10012d30
mov ebx, eax
mov rcx, r14
mov edx, 2
call fcn.10012d30
mov ebp, eax
mov rcx, r14
mov edx, 3
call fcn.10012d30
mov rsi, qword [rsp + 0x120]
cmp rsi, 3
jbe 0x10013e8e
mov r14d, eax
lea rcx, [rsp + 0x60]
xor edx, edx
call fcn.10012d30
mov rcx, qword [rsp + 0xa8]
mov dword [rcx], eax
cmp rsi, 7
jbe 0x10013e9c
mov dword [rcx + 4], ebx
cmp rsi, 0xb
jbe 0x10013eaa
mov dword [rcx + 8], ebp
cmp rsi, 0xf
jbe 0x10013eb8
mov dword [rcx + 0xc], r14d
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.assertion_failed:_dst.len____4__input.len__
lea r8, str.C:Users001.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_srccryptoutil.rs
mov edx, 0x2e
call fcn.1000ea10
ud2
lea r8, str.C:Users001.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_aessafe.rs
mov ecx, 4
jmp 0x10013ec4
lea r8, str.C:Users001.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_aessafe.rs
mov ecx, 8
jmp 0x10013ec4
lea r8, str.C:Users001.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_aessafe.rs
mov ecx, 0xc
jmp 0x10013ec4
lea r8, str.C:Users001.cargo_registry_srcindex.crates.io_6f17d22bba15001f_rust_crypto_0.2.36_src_aessafe.rs
mov ecx, 0x10
mov rdx, rsi
call fcn.1000e630
ud2