Function at 0x140217570
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov qword [rsp + 0x30], rdx
mov ebx, ecx
call fcn.1402164f0
mov esi, eax
test eax, eax
jne 0x140217931
mov ecx, 5
call fcn.1401ec540
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.140217060
test ebx, ebx
jle 0x1402175bc
cmp qword [rsp + 0x30], 0
jne 0x1402175cb
mov dword [0x140233680], 0
jmp 0x140217698
cmp dword [0x140233680], 0
jne 0x140217668
movabs rdi, 0x3320646e61707865
xor ecx, ecx
movabs rbp, 0x6b20657479622d32
call fcn.14021b6a0
mov qword [0x140233680], rdi
mov qword [0x140233688], rbp
test rax, rax
jne 0x14021761b
lea rdx, [0x140233690]
mov ecx, 0xb
mov eax, esi
mov rdi, rdx
rep stosd dword [rdi], eax
jmp 0x14021764b
mov edx, dword [0x140233610]
lea r8, [0x140233690]
test edx, edx
je 0x140217640
mov ecx, 0xb
mov rdi, r8
mov eax, esi
rep stosd dword [rdi], eax
mov dword [0x140233690], edx
jmp 0x14021764b
mov edx, 0x2c
mov rcx, rax
call qword [rax + 0x68]
mov eax, dword [0x1402336b0]
mov byte [0x140233700], 0
mov dword [0x1402336b0], 0
mov dword [0x1402336bc], eax
movzx esi, byte [0x140233700]
mov rcx, rsi
cmp esi, ebx
jl 0x1402176b5
sub esi, ebx
lea rax, [0x140233680]
mov rdi, qword [rsp + 0x30]
movsxd rcx, ebx
add esi, 0x40
movsxd rsi, esi
add rsi, rax
rep movsb byte [rdi], byte [rsi]
sub byte [0x140233700], bl
mov rcx, qword [rsp + 0x38]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.140217080
test sil, sil
je 0x1402176d6
mov rdi, qword [rsp + 0x30]
lea rsi, [0x1402336c0]
rep movsb byte [rdi], byte [rsi]
movzx edx, byte [0x140233700]
add qword [rsp + 0x30], rdx
sub ebx, edx
mov eax, dword [0x1402336b0]
lea rdi, [rsp + 0x50]
mov ecx, 0x10
lea rsi, [0x140233680]
mov dword [rsp + 0x4c], 0xa
inc eax
mov dword [0x1402336b0], eax
rep movsd dword [rdi], dword [rsi]
mov edi, dword [rsp + 0x78]
mov esi, dword [rsp + 0x8c]
mov r13d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x70]
mov r12d, dword [rsp + 0x54]
mov dword [rsp + 0x40], edi
mov r10d, dword [rsp + 0x64]
mov r14d, dword [rsp + 0x74]
mov dword [rsp + 0x2c], esi
mov r9d, dword [rsp + 0x84]
mov ebp, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x88]
mov edi, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x6c]
mov esi, dword [rsp + 0x7c]
add r12d, r10d
add r13d, r11d
add ebp, r8d
xor r9d, r12d
xor eax, r13d
xor ecx, ebp
rol r9d, 0x10
rol eax, 0x10
add r14d, r9d
add r15d, eax
rol ecx, 0x10
xor r10d, r14d
xor r11d, r15d
rol r10d, 0xc
rol r11d, 0xc
add r12d, r10d
add r13d, r11d
xor r9d, r12d
xor eax, r13d
rol r9d, 8
rol eax, 8
add r14d, r9d
mov dword [rsp + 0x44], r9d
mov r9d, dword [rsp + 0x40]
add r15d, eax
xor r11d, r15d
xor r10d, r14d
rol r11d, 7
add r9d, ecx
rol r10d, 7
xor r8d, r9d
rol r8d, 0xc
add ebp, r8d
xor ecx, ebp
rol ecx, 8
add edi, edx
add r13d, r10d
mov dword [rsp + 0x48], ecx
add ecx, r9d
mov r9d, dword [rsp + 0x2c]
xor r8d, ecx
xor r9d, edi
rol r8d, 7
rol r9d, 0x10
add r12d, r8d
add esi, r9d
xor eax, r12d
xor edx, esi
rol eax, 0x10
rol edx, 0xc
add edi, edx
xor r9d, edi
rol r9d, 8
add esi, r9d
xor r9d, r13d
rol r9d, 0x10
xor edx, esi
add esi, eax
add ecx, r9d
rol edx, 7
xor r10d, ecx
rol r10d, 0xc
add r13d, r10d
xor r9d, r13d
rol r9d, 8
add ecx, r9d
mov dword [rsp + 0x2c], r9d
mov r9d, dword [rsp + 0x44]
xor r10d, ecx
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x48]
rol r10d, 7
xor r8d, esi
add ebp, edx
add edi, r11d
xor r9d, ebp
xor ecx, edi
rol r8d, 0xc
rol r9d, 0x10
rol ecx, 0x10
add r12d, r8d
add r15d, r9d
add r14d, ecx
xor eax, r12d
xor edx, r15d
xor r11d, r14d
rol eax, 8
rol edx, 0xc
rol r11d, 0xc
add esi, eax
add ebp, edx
add edi, r11d
xor r8d, esi
xor r9d, ebp
xor ecx, edi
rol r8d, 7
rol r9d, 8
rol ecx, 8
add r15d, r9d
add r14d, ecx
xor edx, r15d
xor r11d, r14d
rol edx, 7
rol r11d, 7
dec dword [rsp + 0x4c]
jne 0x140217754
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x60], r11d
mov dword [rsp + 0x70], r15d
mov dword [rsp + 0x54], r12d
mov dword [rsp + 0x64], r10d
mov dword [rsp + 0x84], r9d
mov dword [rsp + 0x74], r14d
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x88], ecx
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x6c], edx
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x8c], eax
xor eax, eax
lea rdi, [0x140233680]
mov edx, dword [rdi + rax]
add edx, dword [rsp + rax + 0x50]
add rax, 4
mov dword [rax + rdi + 0x3c], edx
cmp rax, 0x40
jne 0x140217909
mov byte [0x140233700], 0x40
jmp 0x140217668
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret