Function at 0x411460
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rbx
sub rsp, 0x28
test r8d, r8d
mov rsi, rcx
mov r10, rdx
mov ebx, r8d
je 0x40f770
test rdx, rdx
je 0x40f779
xor edx, edx
mov rcx, r10
mov r8d, r8d
call sub.msvcrt.dll_memset
mov r8d, ebx
mov rdx, rax
mov r9, rax
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp 0x411460
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
lea rdx, str.src_stream_chacha_chacha_keystream.c
lea rcx, [0x00441045]
mov r8d, 0x1d
call fcn.00409b50
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
test r8d, r8d
mov r13, rcx
mov qword [rsp + 0x128], rdx
mov dword [rsp + 0x130], r8d
mov qword [rsp + 0x138], r9
je 0x411aa1
test rcx, rcx
je 0x412570
cmp qword [rsp + 0x128], 0
je 0x41253e
cmp qword [rsp + 0x138], 0
je 0x412525
mov eax, dword [rcx + 0x84]
test eax, eax
mov dword [rsp + 0x44], eax
je 0x412557
mov r12d, dword [rcx + 0x80]
test r12d, r12d
jne 0x411ac0
lea r8, [rsp + 0x90]
mov qword [rsp + 0x120], r13
mov r15, r13
mov qword [rsp + 0x48], r8
nop dword [rax + rax]
mov r14, qword [rsp + 0x120]
mov r12, qword [rsp + 0x120]
mov rax, qword [rsp + 0x120]
mov ecx, dword [r15 + 0x88]
mov r11, qword [rsp + 0x48]
mov r9, qword [r15 + 8]
mov r13, qword [r15]
mov rbx, qword [r14 + 0x18]
mov rsi, qword [r14 + 0x10]
mov r15, qword [r12 + 0x28]
test ecx, ecx
mov r10, qword [r12 + 0x20]
mov rdx, qword [rax + 0x38]
mov rdi, qword [rax + 0x30]
mov qword [r11], r13
mov qword [r11 + 8], r9
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rbx
mov qword [r11 + 0x20], r10
mov qword [r11 + 0x28], r15
mov qword [r11 + 0x30], rdi
mov qword [r11 + 0x38], rdx
jle 0x411900
mov r12d, dword [rsp + 0xcc]
lea eax, [rcx - 2]
mov ebp, dword [rsp + 0xc0]
mov r11d, dword [rsp + 0xb8]
sub ecx, 1
mov r15d, dword [rsp + 0x90]
and ecx, 0xfffffffe
mov dword [rsp + 0x3c], eax
mov r9d, dword [rsp + 0xa0]
mov dword [rsp + 0x28], r12d
mov r12d, dword [rsp + 0xbc]
sub eax, ecx
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x2c], r11d
mov dword [rsp + 0x40], eax
mov ebx, dword [rsp + 0xb0]
mov r13d, dword [rsp + 0x94]
mov r14d, dword [rsp + 0xa4]
mov r10d, dword [rsp + 0xc4]
mov esi, dword [rsp + 0xb4]
mov edi, dword [rsp + 0x98]
mov edx, dword [rsp + 0xa8]
mov r8d, dword [rsp + 0xc8]
mov ebp, dword [rsp + 0x9c]
mov r11d, dword [rsp + 0xac]
mov dword [rsp + 0x30], r12d
mov eax, dword [rsp + 0x34]
jmp 0x411619
sub ecx, 2
mov dword [rsp + 0x3c], ecx
add r15d, r9d
mov ecx, 0x10
add r13d, r14d
xor eax, r15d
xor r10d, r13d
add edi, edx
rol eax, cl
add ebx, eax
mov ecx, 0xc
xor r8d, edi
xor r9d, ebx
rol r9d, cl
add r15d, r9d
mov ecx, 8
xor eax, r15d
rol eax, cl
add ebx, eax
mov ecx, 7
xor r9d, ebx
mov dword [rsp + 0x34], ebx
mov ebx, dword [rsp + 0x2c]
mov r12d, r9d
mov r9d, dword [rsp + 0x30]
rol r12d, cl
mov ecx, 0x10
rol r10d, cl
add esi, r10d
mov ecx, 0xc
xor r14d, esi
rol r14d, cl
add r13d, r14d
mov ecx, 8
xor r10d, r13d
rol r10d, cl
add esi, r10d
mov ecx, 7
xor r14d, esi
mov dword [rsp + 0x38], esi
mov esi, dword [rsp + 0x28]
rol r14d, cl
mov ecx, 0x10
rol r8d, cl
add ebx, r8d
mov ecx, 0xc
xor edx, ebx
rol edx, cl
add edi, edx
mov ecx, 8
xor r8d, edi
rol r8d, cl
add ebp, r11d
add ebx, r8d
mov ecx, 7
xor edx, ebx
xor esi, ebp
add r15d, r14d
rol edx, cl
mov ecx, 0x10
add r13d, edx
rol esi, cl
add r9d, esi
mov ecx, 0xc
xor eax, r13d
xor r11d, r9d
rol r11d, cl
add ebp, r11d
mov ecx, 8
xor esi, ebp
rol esi, cl
add r9d, esi
mov ecx, 7
xor esi, r15d
xor r11d, r9d
rol r11d, cl
mov ecx, 0x10
rol esi, cl
add ebx, esi
mov ecx, 0xc
xor r14d, ebx
rol r14d, cl
add r15d, r14d
mov ecx, 8
xor esi, r15d
rol esi, cl
add ebx, esi
mov ecx, 7
mov dword [rsp + 0x28], esi
xor r14d, ebx
mov dword [rsp + 0x2c], ebx
mov ebx, dword [rsp + 0x34]
rol r14d, cl
mov ecx, 0x10
mov esi, dword [rsp + 0x38]
rol eax, cl
add r9d, eax
mov ecx, 0xc
xor edx, r9d
add edi, r11d
add ebp, r12d
rol edx, cl
add r13d, edx
mov ecx, 8
xor r10d, edi
xor eax, r13d
xor r8d, ebp
rol eax, cl
add r9d, eax
mov ecx, 7
xor edx, r9d
mov dword [rsp + 0x30], r9d
mov r9d, r12d
rol edx, cl
mov ecx, 0x10
mov r12d, dword [rsp + 0x40]
rol r10d, cl
add ebx, r10d
mov ecx, 0xc
xor r11d, ebx
rol r11d, cl
add edi, r11d
mov ecx, 8
xor r10d, edi
rol r10d, cl
add ebx, r10d
mov ecx, 7
xor r11d, ebx
rol r11d, cl
mov ecx, 0x10
rol r8d, cl
add esi, r8d
mov ecx, 0xc
xor r9d, esi
rol r9d, cl
add ebp, r9d
mov ecx, 8
xor r8d, ebp
rol r8d, cl
add esi, r8d
mov ecx, 7
xor r9d, esi
rol r9d, cl
mov ecx, dword [rsp + 0x3c]
cmp ecx, r12d
jne 0x411612
mov ecx, dword [rsp + 0x30]
mov dword [rsp + 0x30], edi
movd xmm1, dword [rsp + 0x30]
mov dword [rsp + 0x30], ebp
movd xmm4, dword [rsp + 0x30]
mov dword [rsp + 0x30], r15d
movd xmm0, dword [rsp + 0x30]
mov dword [rsp + 0x30], r13d
movd xmm5, dword [rsp + 0x30]
punpckldq xmm1, xmm4
mov dword [rsp + 0x30], edx
punpckldq xmm0, xmm5
movd xmm2, dword [rsp + 0x30]
mov dword [rsp + 0x30], r11d
movd xmm3, dword [rsp + 0x30]
mov dword [rsp + 0x30], r9d
punpcklqdq xmm0, xmm1
movd xmm1, dword [rsp + 0x30]
mov dword [rsp + 0x30], r14d
punpckldq xmm2, xmm3
movd xmm4, dword [rsp + 0x30]
movaps xmmword [rsp + 0x90], xmm0
punpckldq xmm1, xmm4
punpcklqdq xmm1, xmm2
movd xmm2, dword [rsp + 0x2c]
mov dword [rsp + 0x2c], ecx
movd xmm4, dword [rsp + 0x28]
movd xmm0, dword [rsp + 0x2c]
mov dword [rsp + 0x2c], ebx
movd xmm3, dword [rsp + 0x2c]
mov dword [rsp + 0x2c], esi
movd xmm5, dword [rsp + 0x2c]
punpckldq xmm2, xmm0
mov dword [rsp + 0x2c], r8d
mov dword [rsp + 0x28], eax
punpckldq xmm3, xmm5
movaps xmmword [rsp + 0xa0], xmm1
punpcklqdq xmm3, xmm2
movd xmm1, dword [rsp + 0x2c]
movd xmm2, dword [rsp + 0x28]
movaps xmmword [rsp + 0xb0], xmm3
mov dword [rsp + 0x28], r10d
punpckldq xmm1, xmm4
movd xmm0, dword [rsp + 0x28]
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movaps xmmword [rsp + 0xc0], xmm2
nop dword [rax + rax]
mov r15, qword [rsp + 0x120]
mov r14, qword [rsp + 0x120]
mov r13d, dword [r15 + 0x30]
mov rdi, qword [rsp + 0x120]
movdqu xmm5, xmmword [r14 + 0x10]
mov r10d, dword [r14 + 0x34]
mov dword [rsp + 0x28], r13d
mov edx, dword [rsp + 0x28]
paddd xmm5, xmmword [rsp + 0xa0]
movdqu xmm1, xmmword [r14 + 0x20]
add edx, 1
cmp dword [rsp + 0x44], 8
paddd xmm1, xmmword [rsp + 0xb0]
movdqu xmm4, xmmword [r14 + 0x30]
movdqu xmm3, xmmword [r14]
paddd xmm4, xmmword [rsp + 0xc0]
mov dword [rdi + 0x30], edx
paddd xmm3, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x60], xmm5
movaps xmmword [rsp + 0x50], xmm3
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x80], xmm4
je 0x411c90
test edx, edx
je 0x411ca9
cmp dword [rsp + 0x130], 0x40
jbe 0x411d60
mov r8, qword [rsp + 0x138]
add r8, 0x10
cmp qword [rsp + 0x128], r8
jae 0x4119d2
mov rbp, qword [rsp + 0x128]
add rbp, 0x10
cmp qword [rsp + 0x138], rbp
jb 0x411cb3
mov rdi, qword [rsp + 0x128]
mov r8, qword [rsp + 0x138]
mov rbp, qword [rsp + 0x128]
mov r11, qword [rsp + 0x138]
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x138]
movdqu xmm2, xmmword [rdi]
mov rsi, qword [rsp + 0x128]
mov r9, qword [rsp + 0x138]
pxor xmm2, xmmword [rsp + 0x50]
movups xmmword [r8], xmm2
movdqu xmm0, xmmword [rbp + 0x10]
pxor xmm0, xmmword [rsp + 0x60]
movups xmmword [r11 + 0x10], xmm0
movdqu xmm5, xmmword [rax + 0x20]
pxor xmm5, xmmword [rsp + 0x70]
movups xmmword [rbx + 0x20], xmm5
movdqu xmm1, xmmword [rsi + 0x30]
pxor xmm1, xmmword [rsp + 0x80]
movups xmmword [r9 + 0x30], xmm1
mov r12, qword [rsp + 0x120]
sub dword [rsp + 0x130], 0x40
mov ecx, dword [r12 + 0x84]
add qword [rsp + 0x138], 0x40
add qword [rsp + 0x128], 0x40
mov r15, qword [rsp + 0x120]
mov dword [rsp + 0x44], ecx
jmp 0x411500
mov r9d, dword [r13]
mov r12d, eax
mov dword [rsi], r9d
mov r15d, dword [r13 + r12 - 4]
mov dword [rsi + r12 - 4], r15d
xor eax, eax
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp r12d, dword [rsp + 0x130]
mov ecx, r12d
mov r8d, 0x40
cmova ecx, dword [rsp + 0x130]
xor ebp, ebp
lea r9d, [rcx - 1]
add r9, 1
mov r10, r9
and r10d, 3
je 0x412510
cmp r10, 1
je 0x411b6d
cmp r10, 2
je 0x411b33
mov edi, r8d
mov rbx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x138]
sub edi, r12d
mov ebp, 1
movzx edx, byte [r13 + rdi + 0x40]
xor dl, byte [rbx]
mov byte [rsi], dl
mov r12d, dword [r13 + 0x80]
sub r12d, 1
mov dword [r13 + 0x80], r12d
mov r11d, r8d
mov r15, qword [rsp + 0x128]
mov rax, qword [rsp + 0x138]
sub r11d, r12d
movzx r14d, byte [r13 + r11 + 0x40]
xor r14b, byte [r15 + rbp]
mov byte [rax + rbp], r14b
mov r12d, dword [r13 + 0x80]
add rbp, 1
sub r12d, 1
mov dword [r13 + 0x80], r12d
mov r10d, r8d
mov rbx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x138]
sub r10d, r12d
movzx edx, byte [r13 + r10 + 0x40]
xor dl, byte [rbx + rbp]
mov byte [rsi + rbp], dl
mov r12d, dword [r13 + 0x80]
add rbp, 1
sub r12d, 1
cmp r9, rbp
mov dword [r13 + 0x80], r12d
je 0x411c60
mov r14, qword [rsp + 0x128]
mov r11, rsi
mov eax, r8d
sub eax, r12d
movzx r10d, byte [r13 + rax + 0x40]
mov eax, r8d
xor r10b, byte [r14 + rbp]
mov byte [r11 + rbp], r10b
mov edx, dword [r13 + 0x80]
sub edx, 1
sub eax, edx
mov dword [r13 + 0x80], edx
movzx ebx, byte [r13 + rax + 0x40]
mov eax, r8d
xor bl, byte [r14 + rbp + 1]
mov byte [r11 + rbp + 1], bl
mov esi, dword [r13 + 0x80]
sub esi, 1
sub eax, esi
mov dword [r13 + 0x80], esi
movzx r15d, byte [r13 + rax + 0x40]
mov eax, r8d
xor r15b, byte [r14 + rbp + 2]
mov byte [r11 + rbp + 2], r15b
mov r10d, dword [r13 + 0x80]
sub r10d, 1
sub eax, r10d
mov dword [r13 + 0x80], r10d
movzx edi, byte [r13 + rax + 0x40]
xor dil, byte [r14 + rbp + 3]
mov byte [r11 + rbp + 3], dil
mov r12d, dword [r13 + 0x80]
add rbp, 4
sub r12d, 1
cmp r9, rbp
mov dword [r13 + 0x80], r12d
jne 0x411bb9
sub dword [rsp + 0x130], ecx
je 0x411aa1
mov ebp, ecx
mov ecx, dword [r13 + 0x84]
add qword [rsp + 0x138], rbp
add qword [rsp + 0x128], rbp
mov dword [rsp + 0x44], ecx
jmp 0x4114e0
test edx, edx
jne 0x411994
add r10d, 1
test r10d, r10d
mov dword [rdi + 0x34], r10d
jne 0x411994
mov eax, 0x13
jmp 0x411aa3
mov rbx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x138]
lea rax, [rsp + 0x50]
xor r11d, r11d
nop dword [rax + rax]
movzx r9d, byte [rax + r11]
movzx r12d, byte [rax + r11 + 1]
xor r9b, byte [rbx + r11]
movzx ecx, byte [rax + r11 + 2]
movzx r15d, byte [rax + r11 + 3]
movzx r13d, byte [rax + r11 + 4]
movzx r14d, byte [rax + r11 + 5]
movzx r10d, byte [rax + r11 + 6]
movzx edx, byte [rax + r11 + 7]
mov byte [rsi + r11], r9b
xor r12b, byte [rbx + r11 + 1]
mov byte [rsi + r11 + 1], r12b
xor cl, byte [rbx + r11 + 2]
mov byte [rsi + r11 + 2], cl
xor r15b, byte [rbx + r11 + 3]
mov byte [rsi + r11 + 3], r15b
xor r13b, byte [rbx + r11 + 4]
mov byte [rsi + r11 + 4], r13b
xor r14b, byte [rbx + r11 + 5]
mov byte [rsi + r11 + 5], r14b
xor r10b, byte [rbx + r11 + 6]
mov byte [rsi + r11 + 6], r10b
xor dl, byte [rbx + r11 + 7]
mov byte [rsi + r11 + 7], dl
add r11, 8
cmp r11, 0x40
jne 0x411cd0
jmp 0x411a52
mov r14, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x138]
mov r13, qword [rsp + 0x120]
add r14, 0x10
cmp qword [rsp + 0x138], r14
setae r10b
add rdx, 0x10
cmp qword [rsp + 0x128], rdx
setae dil
or r10b, dil
je 0x4121a0
cmp dword [rsp + 0x130], 0xf
jbe 0x4121a0
mov r8d, dword [rsp + 0x130]
mov rax, qword [rsp + 0x128]
mov ebp, 1
mov rbx, qword [rsp + 0x138]
test r8d, r8d
movdqu xmm4, xmmword [rax]
cmovne ebp, dword [rsp + 0x130]
pxor xmm4, xmmword [rsp + 0x50]
mov r11d, ebp
shr r11d, 4
cmp r11d, 1
movups xmmword [rbx], xmm4
jbe 0x411e59
cmp r11d, 2
mov rsi, qword [rsp + 0x128]
mov r9, qword [rsp + 0x138]
movdqu xmm3, xmmword [rsi + 0x10]
pxor xmm3, xmmword [rsp + 0x60]
movups xmmword [r9 + 0x10], xmm3
je 0x411e59
cmp r11d, 4
mov r12, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x138]
movdqu xmm2, xmmword [r12 + 0x20]
pxor xmm2, xmmword [rsp + 0x70]
movups xmmword [rcx + 0x20], xmm2
jne 0x411e59
mov r15, qword [rsp + 0x128]
movdqu xmm0, xmmword [r15 + 0x30]
pxor xmm0, xmmword [rsp + 0x80]
movups xmmword [rcx + 0x30], xmm0
mov r14d, ebp
and r14d, 0xfffffff0
cmp r14d, ebp
je 0x412118
mov rdx, qword [rsp + 0x128]
mov r10d, r14d
lea r11d, [r14 + 1]
mov rbp, qword [rsp + 0x138]
movzx r8d, byte [rdx + r10]
xor r8b, byte [rsp + r10 + 0x50]
cmp r11d, dword [rsp + 0x130]
mov byte [rbp + r10], r8b
jae 0x412118
mov rax, qword [rsp + 0x128]
lea r9d, [r14 + 2]
mov rsi, qword [rsp + 0x138]
movzx ebx, byte [rax + r11]
xor bl, byte [rsp + r11 + 0x50]
cmp dword [rsp + 0x130], r9d
mov byte [rsi + r11], bl
jbe 0x412118
mov r12, qword [rsp + 0x128]
lea r10d, [r14 + 3]
mov r15, qword [rsp + 0x138]
movzx ecx, byte [r12 + r9]
xor cl, byte [rsp + r9 + 0x50]
cmp dword [rsp + 0x130], r10d
mov byte [r15 + r9], cl
jbe 0x412118
mov rdi, qword [rsp + 0x128]
lea ebp, [r14 + 4]
mov r8, qword [rsp + 0x138]
movzx edx, byte [rdi + r10]
xor dl, byte [rsp + r10 + 0x50]
cmp dword [rsp + 0x130], ebp
mov byte [r8 + r10], dl
jbe 0x412118
mov r11, qword [rsp + 0x128]
lea esi, [r14 + 5]
mov rbx, qword [rsp + 0x138]
movzx eax, byte [r11 + rbp]
xor al, byte [rsp + rbp + 0x50]
cmp dword [rsp + 0x130], esi
mov byte [rbx + rbp], al
jbe 0x412118
mov r9, qword [rsp + 0x128]
lea r15d, [r14 + 6]
mov rcx, qword [rsp + 0x138]
movzx r12d, byte [r9 + rsi]
xor r12b, byte [rsp + rsi + 0x50]
cmp dword [rsp + 0x130], r15d
mov byte [rcx + rsi], r12b
jbe 0x412118
mov r10, qword [rsp + 0x128]
lea r8d, [r14 + 7]
mov rdi, qword [rsp + 0x138]
movzx edx, byte [r10 + r15]
xor dl, byte [rsp + r15 + 0x50]
cmp dword [rsp + 0x130], r8d
mov byte [rdi + r15], dl
jbe 0x412118
mov rbp, qword [rsp + 0x128]
lea ebx, [r14 + 8]
mov rax, qword [rsp + 0x138]
movzx r11d, byte [rbp + r8]
xor r11b, byte [rsp + r8 + 0x50]
cmp dword [rsp + 0x130], ebx
mov byte [rax + r8], r11b
jbe 0x412118
mov rsi, qword [rsp + 0x128]
lea r15d, [r14 + 9]
mov r12, qword [rsp + 0x138]
movzx r9d, byte [rsi + rbx]
xor r9b, byte [rsp + rbx + 0x50]
cmp dword [rsp + 0x130], r15d
mov byte [r12 + rbx], r9b
jbe 0x412118
mov rcx, qword [rsp + 0x128]
lea r8d, [r14 + 0xa]
mov rdx, qword [rsp + 0x138]
movzx r10d, byte [rcx + r15]
xor r10b, byte [rsp + r15 + 0x50]
cmp dword [rsp + 0x130], r8d
mov byte [rdx + r15], r10b
jbe 0x412118
mov rdi, qword [rsp + 0x128]
lea eax, [r14 + 0xb]
mov r11, qword [rsp + 0x138]
movzx ebp, byte [rdi + r8]
xor bpl, byte [rsp + r8 + 0x50]
cmp dword [rsp + 0x130], eax
mov byte [r11 + r8], bpl
jbe 0x412118
mov rbx, qword [rsp + 0x128]
lea r12d, [r14 + 0xc]
mov r9, qword [rsp + 0x138]
movzx esi, byte [rbx + rax]
xor sil, byte [rsp + rax + 0x50]
cmp dword [rsp + 0x130], r12d
mov byte [r9 + rax], sil
jbe 0x412118
mov r15, qword [rsp + 0x128]
lea edx, [r14 + 0xd]
mov r10, qword [rsp + 0x138]
movzx ecx, byte [r15 + r12]
xor cl, byte [rsp + r12 + 0x50]
cmp dword [rsp + 0x130], edx
mov byte [r10 + r12], cl
jbe 0x412118
mov r8, qword [rsp + 0x128]
add r14d, 0xe
mov rdi, qword [rsp + 0x138]
movzx ebp, byte [r8 + rdx]
xor bpl, byte [rsp + rdx + 0x50]
cmp dword [rsp + 0x130], r14d
mov byte [rdi + rdx], bpl
jbe 0x412118
mov r11, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x138]
movzx eax, byte [r11 + r14]
xor al, byte [rsp + r14 + 0x50]
mov byte [rbx + r14], al
mov r14d, 0x40
sub r14d, dword [rsp + 0x130]
cmp dword [rsp + 0x130], 0x40
mov dword [r13 + 0x80], r14d
je 0x411aa1
mov eax, 0x3f
sub eax, dword [rsp + 0x130]
mov ebp, dword [rsp + 0x130]
add rax, 1
lea rsi, [r13 + rbp + 0x40]
lea r13, [rsp + rbp + 0x50]
cmp eax, 8
jae 0x4123b0
test al, 4
jne 0x411a8d
test eax, eax
je 0x411aa1
movzx ecx, byte [r13]
test al, 2
mov byte [rsi], cl
je 0x411aa1
mov r10d, eax
movzx edx, word [r13 + r10 - 2]
mov word [rsi + r10 - 2], dx
jmp 0x411aa1
mov esi, dword [rsp + 0x130]
lea r14, [rsp + 0x50]
mov r15, qword [rsp + 0x128]
movzx r12d, byte [r14]
mov rcx, qword [rsp + 0x138]
mov ebp, 1
lea r9d, [rsi - 1]
xor r12b, byte [r15]
and r9d, 7
cmp dword [rsp + 0x130], 1
mov byte [rcx], r12b
jbe 0x412118
test r9d, r9d
je 0x41230d
cmp r9d, 1
je 0x4122e0
cmp r9d, 2
je 0x4122bf
cmp r9d, 3
je 0x41229e
cmp r9d, 4
je 0x41227d
cmp r9d, 5
je 0x41225d
cmp r9d, 6
je 0x41223c
mov rdx, qword [rsp + 0x128]
movzx r10d, byte [r14 + 1]
mov ebp, 2
mov r8, qword [rsp + 0x138]
xor r10b, byte [rdx + 1]
mov byte [r8 + 1], r10b
mov rdi, qword [rsp + 0x128]
movzx r11d, byte [r14 + rbp]
mov rax, qword [rsp + 0x138]
xor r11b, byte [rdi + rbp]
mov byte [rax + rbp], r11b
add rbp, 1
mov rsi, qword [rsp + 0x128]
movzx ebx, byte [r14 + rbp]
mov r9, qword [rsp + 0x138]
xor bl, byte [rsi + rbp]
mov byte [r9 + rbp], bl
add rbp, 1
mov r15, qword [rsp + 0x128]
movzx r12d, byte [r14 + rbp]
mov rcx, qword [rsp + 0x138]
xor r12b, byte [r15 + rbp]
mov byte [rcx + rbp], r12b
add rbp, 1
mov rdx, qword [rsp + 0x128]
movzx r10d, byte [r14 + rbp]
mov r8, qword [rsp + 0x138]
xor r10b, byte [rdx + rbp]
mov byte [r8 + rbp], r10b
add rbp, 1
mov rdi, qword [rsp + 0x128]
movzx r11d, byte [r14 + rbp]
mov rax, qword [rsp + 0x138]
xor r11b, byte [rdi + rbp]
mov byte [rax + rbp], r11b
add rbp, 1
mov rsi, qword [rsp + 0x128]
movzx ebx, byte [r14 + rbp]
mov r9, qword [rsp + 0x138]
xor bl, byte [rsi + rbp]
mov byte [r9 + rbp], bl
add rbp, 1
cmp dword [rsp + 0x130], ebp
jbe 0x412118
mov r12, qword [rsp + 0x128]
mov r15, qword [rsp + 0x138]
movzx ecx, byte [r14 + rbp]
movzx r10d, byte [r14 + rbp + 1]
xor cl, byte [r12 + rbp]
movzx edx, byte [r14 + rbp + 2]
movzx r8d, byte [r14 + rbp + 3]
movzx r11d, byte [r14 + rbp + 4]
movzx edi, byte [r14 + rbp + 5]
movzx eax, byte [r14 + rbp + 6]
movzx ebx, byte [r14 + rbp + 7]
mov byte [r15 + rbp], cl
xor r10b, byte [r12 + rbp + 1]
mov byte [r15 + rbp + 1], r10b
xor dl, byte [r12 + rbp + 2]
mov byte [r15 + rbp + 2], dl
xor r8b, byte [r12 + rbp + 3]
mov byte [r15 + rbp + 3], r8b
xor r11b, byte [r12 + rbp + 4]
mov byte [r15 + rbp + 4], r11b
xor dil, byte [r12 + rbp + 5]
mov byte [r15 + rbp + 5], dil
xor al, byte [r12 + rbp + 6]
mov byte [r15 + rbp + 6], al
xor bl, byte [r12 + rbp + 7]
mov byte [r15 + rbp + 7], bl
add rbp, 8
cmp dword [rsp + 0x130], ebp
ja 0x41231d
jmp 0x412118
mov r8, qword [r13]
mov r11d, eax
lea rbx, [rsi + 8]
and rbx, 0xfffffffffffffff8
mov qword [rsi], r8
mov rdi, qword [r13 + r11 - 8]
mov qword [rsi + r11 - 8], rdi
sub rsi, rbx
add eax, esi
sub r13, rsi
and eax, 0xfffffff8
cmp eax, 8
jb 0x411aa1
xor esi, esi
lea ebp, [rax - 1]
mov edx, 8
mov r12, qword [r13 + rsi]
mov r14d, eax
shr ebp, 3
and ebp, 7
cmp edx, eax
mov qword [rbx + rsi], r12
jae 0x411aa1
test ebp, ebp
je 0x41249b
cmp ebp, 1
je 0x412484
cmp ebp, 2
je 0x412475
cmp ebp, 3
je 0x412467
cmp ebp, 4
je 0x412459
cmp ebp, 5
je 0x41244a
cmp ebp, 6
je 0x41243b
mov r15d, edx
mov edx, 0x10
mov rcx, qword [r13 + r15]
mov qword [rbx + r15], rcx
mov r8d, edx
add edx, 8
mov r10, qword [r13 + r8]
mov qword [rbx + r8], r10
mov r11d, edx
add edx, 8
mov rdi, qword [r13 + r11]
mov qword [rbx + r11], rdi
mov eax, edx
add edx, 8
mov r9, qword [r13 + rax]
mov qword [rbx + rax], r9
mov ebp, edx
add edx, 8
mov rsi, qword [r13 + rbp]
mov qword [rbx + rbp], rsi
mov r12d, edx
add edx, 8
mov r15, qword [r13 + r12]
mov qword [rbx + r12], r15
mov ecx, edx
add edx, 8
mov r8, qword [r13 + rcx]
cmp edx, r14d
mov qword [rbx + rcx], r8
jae 0x411aa1
mov r11d, edx
lea edi, [rdx + 8]
lea r9d, [rdx + 0x10]
mov r10, qword [r13 + r11]
lea esi, [rdx + 0x18]
lea r15d, [rdx + 0x20]
lea r8d, [rdx + 0x28]
mov qword [rbx + r11], r10
mov rax, qword [r13 + rdi]
mov qword [rbx + rdi], rax
mov rbp, qword [r13 + r9]
lea edi, [rdx + 0x30]
lea eax, [rdx + 0x38]
add edx, 0x40
cmp edx, r14d
mov qword [rbx + r9], rbp
mov r12, qword [r13 + rsi]
mov qword [rbx + rsi], r12
mov rcx, qword [r13 + r15]
mov qword [rbx + r15], rcx
mov r11, qword [r13 + r8]
mov qword [rbx + r8], r11
mov r10, qword [r13 + rdi]
mov qword [rbx + rdi], r10
mov r9, qword [r13 + rax]
mov qword [rbx + rax], r9
jb 0x41249b
jmp 0x411aa1
mov r14, qword [rsp + 0x128]
mov r11, qword [rsp + 0x138]
jmp 0x411bb9
lea rdx, str.src_stream_chacha_chacha_crypt.c
lea rcx, [0x00441277]
mov r8d, 0x3f
call fcn.00409b50
lea rdx, str.src_stream_chacha_chacha_crypt.c
lea rcx, [0x0044126c]
mov r8d, 0x3e
call fcn.00409b50
lea rdx, str.src_stream_chacha_chacha_crypt.c
lea rcx, str.st__ivlen___0
mov r8d, 0x40
call fcn.00409b50
lea rdx, str.src_stream_chacha_chacha_crypt.c
lea rcx, str.st___NULL
mov r8d, 0x3d
call fcn.00409b50
nop
nop
nop
nop
nop
nop
nop