Function at 0x140020910
Capabilities:
Contain obfuscated stackstrings
Encrypt data using salsa20 or chacha

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x638
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffe0
mov rbx, qword [r8 + 0x10]
mov dil, 1
cmp rbx, 0x10
jb 0x140020f8b
mov rsi, r8
mov r15, rdx
mov rdx, rcx
mov r14, qword [r8 + 8]
movzx eax, byte [r14]
mov byte [rsp + 0x20], al
movzx eax, byte [r14 + 1]
mov byte [rsp + 0x21], al
movzx eax, byte [r14 + 2]
mov byte [rsp + 0x22], al
movzx eax, byte [r14 + 3]
mov byte [rsp + 0x23], al
movzx eax, byte [r14 + 4]
mov byte [rsp + 0x24], al
movzx eax, byte [r14 + 5]
mov byte [rsp + 0x25], al
movzx eax, byte [r14 + 6]
mov byte [rsp + 0x26], al
movzx eax, byte [r14 + 7]
mov byte [rsp + 0x27], al
movzx eax, byte [r14 + 8]
mov byte [rsp + 0x28], al
movzx eax, byte [r14 + 9]
mov byte [rsp + 0x29], al
movzx eax, byte [r14 + 0xa]
mov byte [rsp + 0x2a], al
movzx eax, byte [r14 + 0xb]
mov byte [rsp + 0x2b], al
movzx eax, byte [r14 + 0xc]
mov byte [rsp + 0x2c], al
movzx eax, byte [r14 + 0xd]
mov byte [rsp + 0x2d], al
movzx eax, byte [r14 + 0xe]
mov byte [rsp + 0x2e], al
movzx eax, byte [r14 + 0xf]
mov byte [rsp + 0x2f], al
add rbx, 0xfffffffffffffff0
add r14, 0x10
lea rcx, [rsp + 0x30]
mov r8, r15
call fcn.14002bb40
mov dword [rsp + 0x7c], 0x61707865
movaps xmm0, xmmword [rsp + 0x30]
movaps xmm1, xmmword [rsp + 0x40]
movups xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x90], 0x3320646e
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x94], rax
mov qword [rsp + 0x9c], 0
mov dword [rsp + 0xa4], 0x79622d32
movups xmmword [rsp + 0xa8], xmm1
mov dword [rsp + 0xb8], 0x6b206574
xorps xmm0, xmm0
movups xmmword [rsp + 0xec], xmm0
movups xmmword [rsp + 0xdc], xmm0
movups xmmword [rsp + 0xcc], xmm0
movups xmmword [rsp + 0xbc], xmm0
mov byte [rsp + 0xfc], 0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
lea r13, [rsp + 0x7c]
lea r12, [rsp + 0x50]
mov r8d, 0x20
mov rcx, r13
mov rdx, r12
call fcn.140020fc0
lea r15, [rsp + 0x1a0]
mov rcx, r15
mov rdx, r12
call fcn.1400362b0
lea r12, [rsp + 0x100]
mov r8d, 0x84
mov rcx, r12
mov rdx, r13
call fcn.1400684b0
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x51], 0
mov byte [rsp + 0x52], 0
mov byte [rsp + 0x53], 0
mov byte [rsp + 0x54], 0
mov byte [rsp + 0x55], 0
mov byte [rsp + 0x56], 0
mov byte [rsp + 0x57], 0
mov byte [rsp + 0x58], 0
mov byte [rsp + 0x59], 0
mov byte [rsp + 0x5a], 0
mov byte [rsp + 0x5b], 0
mov byte [rsp + 0x5c], 0
mov byte [rsp + 0x5d], 0
mov byte [rsp + 0x5e], 0
mov byte [rsp + 0x5f], 0
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x61], 0
mov byte [rsp + 0x62], 0
mov byte [rsp + 0x63], 0
mov byte [rsp + 0x64], 0
mov byte [rsp + 0x65], 0
mov byte [rsp + 0x66], 0
mov byte [rsp + 0x67], 0
mov byte [rsp + 0x68], 0
mov byte [rsp + 0x69], 0
mov byte [rsp + 0x6a], 0
mov byte [rsp + 0x6b], 0
mov byte [rsp + 0x6c], 0
mov byte [rsp + 0x6d], 0
mov byte [rsp + 0x6e], 0
mov byte [rsp + 0x6f], 0
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x31], 0
mov byte [rsp + 0x32], 0
mov byte [rsp + 0x33], 0
mov byte [rsp + 0x34], 0
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x36], 0
mov byte [rsp + 0x37], 0
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x39], 0
mov byte [rsp + 0x3a], 0
mov byte [rsp + 0x3b], 0
mov byte [rsp + 0x3c], 0
mov byte [rsp + 0x3d], 0
mov byte [rsp + 0x3e], 0
mov byte [rsp + 0x3f], 0
mov byte [rsp + 0x40], 0
mov byte [rsp + 0x41], 0
mov byte [rsp + 0x42], 0
mov byte [rsp + 0x43], 0
mov byte [rsp + 0x44], 0
mov byte [rsp + 0x45], 0
mov byte [rsp + 0x46], 0
mov byte [rsp + 0x47], 0
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x49], 0
mov byte [rsp + 0x4a], 0
mov byte [rsp + 0x4b], 0
mov byte [rsp + 0x4c], 0
mov byte [rsp + 0x4d], 0
mov byte [rsp + 0x4e], 0
mov byte [rsp + 0x4f], 0
lea rcx, [rsp + 0x7c]
mov r8d, 0x84
mov rdx, r12
call fcn.1400684b0
lea r12, [rsp + 0x3e0]
mov r8d, 0x240
mov rcx, r12
mov rdx, r15
call fcn.1400684b0
lea rcx, [rsp + 0x100]
mov rdx, r12
mov r8, r14
mov r9, rbx
call fcn.140036bc0
movzx eax, byte [rsp + 0x20]
cmp byte [rsp + 0x100], al
sete cl
call fcn.14002d460
mov r12d, eax
movzx eax, byte [rsp + 0x21]
cmp byte [rsp + 0x101], al
sete cl
call fcn.14002d460
and r12b, al
movzx eax, byte [rsp + 0x22]
cmp byte [rsp + 0x102], al
sete cl
call fcn.14002d460
mov r15d, eax
movzx eax, byte [rsp + 0x23]
cmp byte [rsp + 0x103], al
sete cl
call fcn.14002d460
and r15b, al
and r15b, r12b
movzx eax, byte [rsp + 0x24]
cmp byte [rsp + 0x104], al
sete cl
call fcn.14002d460
mov r12d, eax
movzx eax, byte [rsp + 0x25]
cmp byte [rsp + 0x105], al
sete cl
call fcn.14002d460
and r12b, al
movzx eax, byte [rsp + 0x26]
cmp byte [rsp + 0x106], al
sete cl
call fcn.14002d460
and r12b, al
and r12b, r15b
movzx eax, byte [rsp + 0x27]
cmp byte [rsp + 0x107], al
sete cl
call fcn.14002d460
mov r15d, eax
movzx eax, byte [rsp + 0x28]
cmp byte [rsp + 0x108], al
sete cl
call fcn.14002d460
and r15b, al
movzx eax, byte [rsp + 0x29]
cmp byte [rsp + 0x109], al
sete cl
call fcn.14002d460
and r15b, al
movzx eax, byte [rsp + 0x2a]
cmp byte [rsp + 0x10a], al
sete cl
call fcn.14002d460
and r15b, al
and r15b, r12b
movzx eax, byte [rsp + 0x2b]
cmp byte [rsp + 0x10b], al
sete cl
call fcn.14002d460
mov r12d, eax
movzx eax, byte [rsp + 0x2c]
cmp byte [rsp + 0x10c], al
sete cl
call fcn.14002d460
and r12b, al
movzx eax, byte [rsp + 0x2d]
cmp byte [rsp + 0x10d], al
sete cl
call fcn.14002d460
and r12b, al
movzx eax, byte [rsp + 0x2e]
cmp byte [rsp + 0x10e], al
sete cl
call fcn.14002d460
and r12b, al
movzx eax, byte [rsp + 0x2f]
cmp byte [rsp + 0x10f], al
sete cl
call fcn.14002d460
and r12b, al
and r12b, r15b
and r12b, 1
mov ecx, r12d
call fcn.14002d460
test al, al
je 0x140020ed4
lea rdi, [rsp + 0x7c]
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.140020fc0
mov rcx, rdi
call fcn.140023430
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x8c], 0
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x94], 0
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x9c], 0
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0xac], 0
mov dword [rsp + 0xb0], 0
mov dword [rsp + 0xb4], 0
mov dword [rsp + 0xb8], 0
mov rdx, qword [rsi + 0x10]
mov rdi, rdx
sub rdi, 0x10
jb 0x140020fa1
mov rcx, qword [rsi + 8]
lea rdx, [rcx + 0x10]
mov r8, rdi
call fcn.1400684b0
cmp qword [rsi + 0x10], rdi
jb 0x140020ecd
mov qword [rsi + 0x10], rdi
xor edi, edi
jmp 0x140020f8b
lea rcx, [rsp + 0x7c]
call fcn.140023430
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x80], 0
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x88], 0
mov dword [rsp + 0x8c], 0
mov dword [rsp + 0x90], 0
mov dword [rsp + 0x94], 0
mov dword [rsp + 0x98], 0
mov dword [rsp + 0x9c], 0
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0xa4], 0
mov dword [rsp + 0xa8], 0
mov dword [rsp + 0xac], 0
mov dword [rsp + 0xb0], 0
mov dword [rsp + 0xb4], 0
mov dword [rsp + 0xb8], 0
mov eax, edi
lea rsp, [rbp + 0x5b8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, [0x1400709f0]
mov ecx, 0x10
call fcn.14006b050
int3