Function at 0x140033e20
Capabilities:
Encode data using xor
Encrypt data using salsa20 or chacha
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0xc0], rax
test r8, r8
je 0x140034328
mov edi, dword [rsp + 0x138]
mov rax, qword [rsp + 0x130]
mov r10d, dword [r9]
mov dword [rsp + 0x4c], r10d
mov r10d, dword [r9 + 4]
mov dword [rsp + 0x48], r10d
mov r10d, dword [r9 + 8]
mov dword [rsp + 0x44], r10d
mov r10d, dword [r9 + 0xc]
mov dword [rsp + 0x40], r10d
mov ebx, dword [r9 + 0x10]
mov r10d, dword [r9 + 0x14]
mov dword [rsp + 0x3c], r10d
mov r10d, dword [r9 + 0x18]
mov dword [rsp + 0x38], r10d
mov r9d, dword [r9 + 0x1c]
mov dword [rsp + 0x34], r9d
mov r14d, dword [rax]
mov r9d, dword [rax + 4]
mov dword [rsp + 0x30], r9d
mov eax, dword [rax + 8]
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x5c], ebx
mov dword [rsp + 0x58], r14d
jmp 0x140033ed1
add rcx, r15
add rdx, r15
inc edi
sub r8, r15
je 0x140034328
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], rdx
mov dword [rsp + 0x24], 0x6b206574
mov dword [rsp + 0x20], 0x79622d32
mov ebp, 0x3320646e
mov edx, 0x61707865
mov r9d, reloc.WS2_32.dll_shutdown
mov esi, dword [rsp + 0x4c]
mov dword [rsp + 0x60], edi
mov eax, edi
mov dword [rsp + 0x28], ebx
mov r10d, dword [rsp + 0x48]
mov r15d, r14d
mov r14d, dword [rsp + 0x3c]
mov ebx, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x30]
mov r11d, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x40]
mov r13d, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x34]
nop word cs:[rax + rax]
mov dword [rsp + 0x50], r9d
add edx, esi
xor eax, edx
rol eax, 0x10
mov r8d, dword [rsp + 0x28]
add r8d, eax
xor esi, r8d
rol esi, 0xc
add edx, esi
xor eax, edx
rol eax, 8
add r8d, eax
xor esi, r8d
rol esi, 7
add ebp, r10d
xor r15d, ebp
rol r15d, 0x10
add r14d, r15d
xor r10d, r14d
rol r10d, 0xc
add ebp, r10d
xor r15d, ebp
rol r15d, 8
add r14d, r15d
mov dword [rsp + 0x64], r14d
xor r10d, r14d
rol r10d, 7
mov r14d, dword [rsp + 0x20]
add r14d, ebx
xor r12d, r14d
rol r12d, 0x10
add r11d, r12d
xor ebx, r11d
rol ebx, 0xc
add r14d, ebx
xor r12d, r14d
rol r12d, 8
add r11d, r12d
xor ebx, r11d
rol ebx, 7
mov r9d, dword [rsp + 0x24]
add r9d, ecx
xor r13d, r9d
rol r13d, 0x10
add edi, r13d
xor ecx, edi
rol ecx, 0xc
add r9d, ecx
xor r13d, r9d
rol r13d, 8
add edi, r13d
xor ecx, edi
rol ecx, 7
add edx, r10d
xor r13d, edx
rol r13d, 0x10
add r11d, r13d
xor r10d, r11d
rol r10d, 0xc
add edx, r10d
xor r13d, edx
rol r13d, 8
add r11d, r13d
xor r10d, r11d
rol r10d, 7
add ebp, ebx
xor eax, ebp
rol eax, 0x10
add edi, eax
xor ebx, edi
rol ebx, 0xc
add ebp, ebx
xor eax, ebp
rol eax, 8
add edi, eax
xor ebx, edi
rol ebx, 7
add r14d, ecx
xor r15d, r14d
rol r15d, 0x10
add r8d, r15d
xor ecx, r8d
rol ecx, 0xc
add r14d, ecx
mov dword [rsp + 0x20], r14d
xor r15d, r14d
mov r14d, dword [rsp + 0x64]
rol r15d, 8
add r8d, r15d
mov dword [rsp + 0x28], r8d
xor ecx, r8d
rol ecx, 7
add r9d, esi
xor r12d, r9d
rol r12d, 0x10
add r14d, r12d
xor esi, r14d
rol esi, 0xc
add r9d, esi
mov dword [rsp + 0x24], r9d
xor r12d, r9d
mov r9d, dword [rsp + 0x50]
rol r12d, 8
add r14d, r12d
xor esi, r14d
rol esi, 7
add r9d, 0xfffffffe
cmp r9d, 2
ja 0x140033f40
mov r9, qword [rsp + 0x78]
cmp r9, 0x40
mov r8d, 0x40
cmovb r8, r9
mov qword [rsp + 0x50], r8
add edx, 0x61707865
mov dword [rsp + 0x80], edx
add ebp, 0x3320646e
mov dword [rsp + 0x84], ebp
mov edx, dword [rsp + 0x20]
add edx, 0x79622d32
mov dword [rsp + 0x88], edx
mov edx, dword [rsp + 0x24]
add edx, 0x6b206574
mov dword [rsp + 0x8c], edx
add esi, dword [rsp + 0x4c]
mov dword [rsp + 0x90], esi
add r10d, dword [rsp + 0x48]
mov dword [rsp + 0x94], r10d
mov r8, r9
add ebx, dword [rsp + 0x44]
mov dword [rsp + 0x98], ebx
add ecx, dword [rsp + 0x40]
mov dword [rsp + 0x9c], ecx
mov ebx, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x28]
add ecx, ebx
mov dword [rsp + 0xa0], ecx
add r14d, dword [rsp + 0x3c]
mov dword [rsp + 0xa4], r14d
add r11d, dword [rsp + 0x38]
mov dword [rsp + 0xa8], r11d
add edi, dword [rsp + 0x34]
mov dword [rsp + 0xac], edi
mov edi, dword [rsp + 0x60]
add eax, edi
mov dword [rsp + 0xb0], eax
mov r14d, dword [rsp + 0x58]
add r15d, r14d
mov dword [rsp + 0xb4], r15d
mov r15, qword [rsp + 0x50]
add r12d, dword [rsp + 0x30]
mov dword [rsp + 0xb8], r12d
add r13d, dword [rsp + 0x2c]
mov dword [rsp + 0xbc], r13d
cmp r15, 1
mov rax, r15
adc rax, 0
cmp r9, 8
jb 0x1400341e0
mov rcx, qword [rsp + 0x68]
mov r9, rcx
mov rdx, qword [rsp + 0x70]
sub r9, rdx
mov esi, 0
cmp r9, 0x20
jb 0x140034282
cmp r8, 0x20
jae 0x140034200
xor esi, esi
jmp 0x140034256
xor esi, esi
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
jmp 0x140034282
mov esi, eax
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
xorps xmm0, xmmword [rsp + 0x80]
xorps xmm1, xmmword [rsp + 0x90]
and esi, 0x60
movups xmmword [rcx], xmm0
movups xmmword [rcx + 0x10], xmm1
cmp rsi, 0x20
je 0x140034249
movups xmm0, xmmword [rdx + 0x20]
movups xmm1, xmmword [rdx + 0x30]
xorps xmm0, xmmword [rsp + 0xa0]
xorps xmm1, xmmword [rsp + 0xb0]
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm1
cmp rax, rsi
je 0x140033ec0
test al, 0x18
je 0x140034282
mov r10, rsi
mov esi, eax
and esi, 0x78
nop
mov r9, qword [rsp + r10 + 0x80]
xor r9, qword [rdx + r10]
mov qword [rcx + r10], r9
add r10, 8
cmp rsi, r10
jne 0x140034260
cmp rax, rsi
je 0x140033ec0
mov r10, rax
mov r11, rsi
and r10, 3
je 0x1400342b9
mov r11, rsi
nop word cs:[rax + rax]
movzx r9d, byte [rsp + r11 + 0x80]
xor r9b, byte [rdx + r11]
mov byte [rcx + r11], r9b
inc r11
dec r10
jne 0x1400342a0
sub rsi, rax
cmp rsi, 0xfffffffffffffffc
ja 0x140033ec0
nop word cs:[rax + rax]
movzx eax, byte [rsp + r11 + 0x80]
xor al, byte [rdx + r11]
mov byte [rcx + r11], al
movzx eax, byte [rsp + r11 + 0x81]
xor al, byte [rdx + r11 + 1]
mov byte [rcx + r11 + 1], al
movzx eax, byte [rsp + r11 + 0x82]
xor al, byte [rdx + r11 + 2]
mov byte [rcx + r11 + 2], al
movzx eax, byte [rsp + r11 + 0x83]
xor al, byte [rdx + r11 + 3]
mov byte [rcx + r11 + 3], al
add r11, 4
cmp r15, r11
jne 0x1400342d0
jmp 0x140033ec0
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140259980
nop
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret