Function at 0x14026a6a0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x268
vmovups xmmword [rsp + 0x250], xmm7
mov rcx, qword [r9 + 0x18]
mov r15d, dword [r9]
mov r14d, dword [r9 + 4]
mov eax, dword [r9 + 8]
mov r10, qword [r9 + 0x10]
lea rsi, [rsp + 0x17f]
mov qword [rsp + 0x2c0], r8
mov rdi, rdx
mov qword [rsp + 0x48], rcx
and rsi, 0xffffffffffffffc0
cmp r15d, 5
je 0x14026a6fb
cmp r15d, 0xa
jne 0x14026af28
lea edx, [r14 - 0x400]
cmp edx, 0x7fc00
ja 0x14026af28
lea edx, [rax - 8]
cmp edx, 0x18
ja 0x14026af28
lea ebp, [r14 - 1]
and ebp, r14d
jne 0x14026af28
test r10, r10
jne 0x14026a738
cmp qword [rsp + 0x48], 0
jne 0x14026af28
mov r13, rax
mov ecx, r14d
mov qword [rsp + 0x50], r10
shl r13, 7
mov qword [rsp + 0x58], rax
imul rcx, r13
call sym.malloc
mov r10, qword [rsp + 0x50]
test rax, rax
mov qword [rsp + 0x40], rax
je 0x14026af34
mov rcx, r13
mov qword [rsp + 0x68], r10
call sym.malloc
mov r12, rax
test rax, rax
je 0x14026b0e1
mov rcx, r13
call sym.malloc
mov rbx, rax
test rax, rax
je 0x14026b0f1
cmp r15d, 5
mov eax, 8
mov ecx, 0x18000
mov r11d, 2
cmove r11d, eax
mov r8d, 0x2000
sete al
setne dl
cmovne r8d, ecx
mov r9d, 0x40
movzx eax, al
mov ecx, 0x300
lea eax, [rax + rax*2 + 3]
movzx edx, dl
cmove ecx, r9d
lea edx, [rdx + rdx*2 + 8]
vmovd xmm7, eax
mov r9d, 0x18000
vpinsrd xmm0, xmm7, edx, 1
vmovd xmm7, r15d
mov dword [rsp + 0x60], edx
mov dword [rsp + 0x50], ecx
mov ecx, 0x2000
vpinsrd xmm1, xmm7, r11d, 1
cmovne rcx, r9
vpunpcklqdq xmm0, xmm1, xmm0
mov dword [rsp + 0xd0], r8d
vmovdqu xmmword [rsp + 0xc0], xmm0
call sym.malloc
mov r11, rax
test rax, rax
je 0x14026b0e9
mov edx, dword [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x60], r11
mov qword [rsp + 0xd8], rax
mov ecx, edx
mov qword [rsp + 0xe0], rax
mov eax, 2
mov qword [rsp + 0xf8], 0
shl eax, cl
cdqe
shl rax, 3
lea rcx, [r11 + rax]
mov qword [rsp + 0xe8], rcx
add rcx, rax
mov eax, 1
mov qword [rsp + 0xf0], rcx
mov ecx, edx
mov edx, 0x20
shl eax, cl
mov rcx, rsi
sub eax, 1
shl eax, 4
mov dword [rsp + 0xd4], eax
call sym.sph_blake2b_init
mov r8, qword [rsp + 0x2c0]
mov rcx, rsi
mov rdx, rdi
call sym.sph_blake2b_update
lea rax, [rsp + 0xa0]
mov rcx, rsi
lea esi, [r14 + 2]
mov rdx, rax
mov qword [rsp + 0x80], rax
call sym.sph_blake2b_final
mov eax, 0xaaaaaaab
mov r11, qword [rsp + 0x60]
imul rsi, rax
shr rsi, 0x21
lea eax, [rsi + 1]
and eax, 0xfffffffe
cmp r15d, 5
mov dword [rsp + 0x88], eax
je 0x14026b077
mov r10, qword [rsp + 0x68]
test r10, r10
je 0x14026b0d0
mov qword [rsp + 0x30], r13
mov r9, qword [rsp + 0x48]
mov r8, r10
mov edx, 0x20
mov qword [rsp + 0x28], r12
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x20], 1
mov qword [rsp + 0x60], r11
call sym.pbkdf2_blake2b
mov r11, qword [rsp + 0x60]
mov dword [rsp + 0x8c], 0
vmovdqu xmm7, xmmword [r12]
xor edi, edi
mov qword [rsp + 0x60], r13
mov r8, r11
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x68], r12
mov esi, dword [rsp + 0x50]
lea r15, [rsp + 0x100]
vmovdqu xmmword [rsp + 0xa0], xmm7
vmovdqu xmm7, xmmword [r12 + 0x10]
mov qword [rsp + 0x48], rax
lea rax, [rbx + 0x80]
vmovdqu xmmword [rsp + 0xb0], xmm7
vmovdqu ymm7, ymmword [0x14030cb20]
mov r13, rax
vpermd ymm1, ymm7, ymmword [r12]
vpermd ymm0, ymm7, ymmword [r12 + 0x20]
mov dword [rsp + 0x70], ebp
mov rbp, r11
mov dword [rsp + 0x50], r14d
vpblendd ymm2, ymm1, ymm0, 0x6c
vpblendd ymm0, ymm0, ymm1, 0x6c
vpermd ymm1, ymm7, ymmword [r12 + 0x40]
vmovdqu ymmword [rbx + 0x20], ymm0
vpermd ymm0, ymm7, ymmword [r12 + 0x60]
mov r12, rdi
vmovdqu ymmword [rbx], ymm2
vpblendd ymm2, ymm1, ymm0, 0x6c
vpblendd ymm0, ymm0, ymm1, 0x6c
vmovdqu ymmword [rbx + 0x40], ymm2
vmovdqu ymmword [rbx + 0x60], ymm0
jmp 0x14026aa22
cmp rbp, r8
je 0x14026afb8
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
add r12, 1
call sym.blockmix_pwxform.constprop.0_1
mov r8, qword [rsp + 0xd8]
mov rax, r12
vmovdqu xmm3, xmmword [rbx]
vmovdqu xmm4, xmmword [rbx + 0x10]
shl rax, 7
vmovdqu xmm5, xmmword [rbx + 0x60]
add rax, rbp
vmovdqu xmmword [rax], xmm3
vmovdqu xmm3, xmmword [rbx + 0x20]
vmovdqu xmmword [rax + 0x10], xmm4
vmovdqu xmm4, xmmword [rbx + 0x30]
vmovdqu xmmword [rax + 0x20], xmm3
vmovdqu xmm3, xmmword [rbx + 0x40]
vmovdqu xmmword [rax + 0x30], xmm4
vmovdqu xmm4, xmmword [rbx + 0x50]
vmovdqu xmmword [rax + 0x40], xmm3
vmovdqu xmm3, xmmword [rbx + 0x70]
vmovdqu xmmword [rax + 0x50], xmm4
vmovdqu xmmword [rax + 0x60], xmm5
vmovdqu xmmword [rax + 0x70], xmm3
cmp r12, 1
jbe 0x14026aa00
mov edi, dword [rbx + 0x40]
mov r10d, r12d
mov eax, r12d
nop dword [rax]
lea edx, [rax - 1]
mov ecx, eax
and eax, edx
jne 0x14026aa90
and edi, edx
sub r10d, ecx
lea eax, [rdi + r10]
shl rax, 7
add rax, rbp
vmovdqu ymm2, ymmword [rax]
vpxor ymm0, ymm2, ymmword [rbx]
vmovdqu ymm4, ymmword [rax + 0x20]
vmovdqu ymm5, ymmword [rax + 0x40]
vmovdqu ymmword [rbx], ymm0
vpxor ymm0, ymm4, ymmword [rbx + 0x20]
vmovdqu ymm3, ymmword [rax + 0x60]
vmovdqu ymmword [rbx + 0x20], ymm0
vpxor ymm0, ymm5, ymmword [rbx + 0x40]
vmovdqu ymmword [rbx + 0x40], ymm0
vpxor ymm0, ymm3, ymmword [rbx + 0x60]
vmovdqu ymmword [rbx + 0x60], ymm0
cmp rbp, r8
je 0x14026afb8
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
call sym.blockmix_pwxform.constprop.0_1
add r12, 1
mov eax, dword [rbx]
cmp rsi, r12
jne 0x14026aa1a
vmovd xmm2, dword [rbx + 0x18]
vmovd xmm4, dword [rbx + 0x30]
mov r11, rbp
xor edx, edx
vpinsrd xmm1, xmm2, dword [rbx + 0xc], 1
vpinsrd xmm0, xmm4, dword [rbx + 0x24], 1
vmovd xmm5, dword [rbx + 8]
vmovd xmm2, dword [rbx + 0x20]
vpunpcklqdq xmm0, xmm0, xmm1
vpinsrd xmm4, xmm2, dword [rbx + 0x14], 1
vmovd xmm2, dword [rbx + 0x50]
vpinsrd xmm1, xmm5, dword [rbx + 0x3c], 1
vmovd xmm5, dword [rbx + 0x78]
vmovd xmm3, dword [rbx + 0x68]
mov r12, qword [rsp + 0x68]
vpunpcklqdq xmm4, xmm4, xmm1
vpinsrd xmm1, xmm5, dword [rbx + 0x6c], 1
vmovd xmm5, dword [rbx + 0x40]
vinserti128 ymm4, ymm4, xmm0, 1
vpinsrd xmm0, xmm2, dword [rbx + 0x44], 1
vpinsrd xmm2, xmm5, dword [rbx + 0x74], 1
vmovd xmm5, dword [rbx + 0x70]
mov r14d, dword [rsp + 0x50]
vpunpcklqdq xmm0, xmm0, xmm1
mov r13, qword [rsp + 0x60]
vpinsrd xmm1, xmm3, dword [rbx + 0x5c], 1
vmovd xmm3, dword [rbx + 0x58]
mov ebp, dword [rsp + 0x70]
vpunpcklqdq xmm2, xmm2, xmm1
vpinsrd xmm1, xmm3, dword [rbx + 0x4c], 1
vmovd xmm3, dword [rbx + 0x48]
vinserti128 ymm2, ymm2, xmm0, 1
vpinsrd xmm0, xmm5, dword [rbx + 0x64], 1
vpinsrd xmm3, xmm3, dword [rbx + 0x7c], 1
vmovd xmm5, dword [rbx + 0x60]
mov ecx, dword [rsp + 0xc0]
vpunpcklqdq xmm0, xmm0, xmm1
vpinsrd xmm1, xmm5, dword [rbx + 0x54], 1
vmovd xmm5, dword [rbx + 0x10]
vpunpcklqdq xmm1, xmm1, xmm3
vmovd xmm3, dword [rbx + 0x38]
vinserti128 ymm1, ymm1, xmm0, 1
vpinsrd xmm0, xmm3, dword [rbx + 0x2c], 1
vpinsrd xmm3, xmm5, dword [rbx + 4], 1
vmovdqu ymmword [r12 + 0x20], ymm4
vmovd xmm5, dword [rbx + 0x28]
vpinsrd xmm5, xmm5, dword [rbx + 0x1c], 1
vmovdqu ymmword [r12 + 0x40], ymm2
vpunpcklqdq xmm3, xmm3, xmm0
vmovd xmm0, eax
vpinsrd xmm0, xmm0, dword [rbx + 0x34], 1
mov rax, qword [rsp + 0x58]
vmovdqu ymmword [r12 + 0x60], ymm1
vpunpcklqdq xmm0, xmm0, xmm5
shl rax, 5
vinserti128 ymm0, ymm0, xmm3, 1
vmovdqu ymmword [r12], ymm0
nop dword [rax]
vpermd ymm1, ymm7, ymmword [r12 + rdx]
vpermd ymm0, ymm7, ymmword [r12 + rdx + 0x20]
vpblendd ymm2, ymm1, ymm0, 0x6c
vpblendd ymm0, ymm0, ymm1, 0x6c
vmovdqu ymmword [rbx + rdx], ymm2
vmovdqu ymmword [rbx + rdx + 0x20], ymm0
add rdx, 0x40
cmp r13, rdx
jne 0x14026ac48
lea rsi, [rbx + 0x80]
mov edi, 1
cmp ecx, 5
je 0x14026acfa
mov qword [rsp + 0x60], r11
mov r15, qword [rsp + 0x58]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x50], rbx
mov rbx, rdi
mov rdi, qword [rsp + 0x48]
nop word [rax + rax]
vmovdqu ymm4, ymmword [rsi - 0x80]
vmovdqu ymm2, ymmword [rsi - 0x60]
mov rcx, rsi
mov rdx, rdi
vmovdqu ymm5, ymmword [rsi - 0x20]
add rbx, 1
sub rsi, 0xffffffffffffff80
vmovdqu ymmword [rsi - 0x80], ymm4
vmovdqu ymm4, ymmword [rsi - 0xc0]
vmovdqu ymmword [rsi - 0x60], ymm2
vmovdqu ymmword [rsi - 0x40], ymm4
vmovdqu ymmword [rsi - 0x20], ymm5
call sym.blockmix_pwxform.constprop.0_1
cmp rbx, r15
jb 0x14026aca8
mov rbx, qword [rsp + 0x50]
mov r11, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
lea ecx, [r13 - 1]
mov edx, r13d
shl rax, 2
mov r15, qword [rsp + 0x40]
shr ecx, 3
lea rdi, [rbx + 0x80]
mov qword [rsp + 0x68], rdx
lea r9, [rbx + rdx]
mov dword [rsp + 0x60], ecx
mov qword [rsp + 0x98], r11
mov qword [rsp + 0x78], rdi
mov edi, ebp
mov rbp, r13
mov dword [rsp + 0x50], r14d
mov r13d, edi
mov r14, rax
mov qword [rsp + 0x90], r12
mov r12, r9
nop dword [rax]
mov rdx, qword [r12 - 8]
mov rax, qword [rsp + 0x68]
mov rdi, r15
mov rsi, rbx
mov qword [r15 + rax - 8], rdx
mov ecx, dword [rsp + 0x60]
rep movsq qword [rdi], qword [rsi]
cmp r13d, 1
jbe 0x14026adc0
mov esi, dword [rbx + rbp - 0x40]
mov edx, r13d
nop dword [rax]
lea ecx, [rdx - 1]
mov r8d, edx
and edx, ecx
jne 0x14026ad80
and esi, ecx
mov ecx, r13d
mov rax, qword [rsp + 0x40]
xor edx, edx
sub ecx, r8d
add ecx, esi
mov ecx, ecx
imul rcx, rbp
add rcx, rax
nop dword [rax]
vmovdqu ymm5, ymmword [rcx + rdx]
vpxor ymm0, ymm5, ymmword [rbx + rdx]
vmovdqu ymmword [rbx + rdx], ymm0
add rdx, 0x20
cmp r14, rdx
jne 0x14026ada8
mov rax, qword [rsp + 0x40]
cmp rax, qword [rsp + 0xd8]
je 0x14026af40
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
call sym.blockmix_pwxform_1
mov eax, dword [rsp + 0x50]
add r13d, 1
add r15, rbp
cmp r13d, eax
jb 0x14026ad50
mov r12, qword [rsp + 0x90]
mov r11, qword [rsp + 0x98]
mov r14d, eax
mov r13, rbp
xor eax, eax
nop dword [rax]
vpermd ymm1, ymm7, ymmword [rbx + rax]
vpermd ymm0, ymm7, ymmword [rbx + rax + 0x20]
vpblendd ymm2, ymm1, ymm0, 0xc6
vpblendd ymm0, ymm0, ymm1, 0xc6
vmovdqu ymmword [r12 + rax], ymm2
vmovdqu ymmword [r12 + rax + 0x20], ymm0
add rax, 0x40
cmp r13, rax
jne 0x14026ae18
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
mov r8d, r14d
mov rcx, r12
mov qword [rsp + 0x50], r11
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0x30], rsi
mov r9d, dword [rsp + 0x88]
mov qword [rsp + 0x28], rbx
mov rdx, rdi
mov qword [rsp + 0x20], r15
vzeroupper
call sym.smix2_2
mov qword [rsp + 0x30], rsi
mov r9d, dword [rsp + 0x8c]
mov qword [rsp + 0x28], rbx
mov r8d, r14d
mov rdx, rdi
mov rcx, r12
mov qword [rsp + 0x20], r15
mov esi, 1
call sym.smix2_2
mov rax, rdi
mov qword [rsp + 0x20], 0x20
mov r9, qword [rsp + 0x80]
shl rax, 9
mov rcx, qword [rsp + 0x2d0]
mov r8d, 0x40
lea rdx, [r12 + rax - 0x100]
call sym.hmac_blake2b_hash
mov rcx, qword [rsp + 0x50]
call sym.free
mov rcx, rbx
call sym.free
mov rcx, r12
call sym.free
mov rcx, qword [rsp + 0x40]
call sym.free
nop
vmovups xmm7, xmmword [rsp + 0x250]
mov eax, esi
add rsp, 0x268
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x16
or esi, 0xffffffff
jmp 0x14026af05
lea rax, [rsp + 0x100]
mov edi, dword [rsp + 0xc4]
vmovdqu ymm1, ymmword [rbx + 0x40]
mov rsi, rbx
mov qword [rsp + 0x70], rax
vmovdqu ymm0, ymmword [rbx + 0x60]
vpxor ymm0, ymm0, ymmword [rsi + 0x20]
vpxor ymm1, ymm1, ymmword [rsi]
mov edx, edi
add rsi, 0x40
mov rcx, qword [rsp + 0x70]
vmovdqu ymmword [rsp + 0x100], ymm1
vmovdqu ymmword [rsp + 0x120], ymm0
call sym.salsa20_1
vmovdqu ymm1, ymmword [rsp + 0x100]
vmovdqu ymm0, ymmword [rsp + 0x120]
vmovdqu ymmword [rsi - 0x40], ymm1
vmovdqu ymmword [rsi - 0x20], ymm0
cmp qword [rsp + 0x78], rsi
jne 0x14026af61
jmp 0x14026ade5
mov edi, dword [rsp + 0xc4]
vmovdqu ymm1, ymmword [rbx + 0x40]
mov r14, rbx
vmovdqu xmm2, xmmword [rbx + 0x60]
vmovq xmm0, qword [rbx + 0x70]
mov ecx, dword [rbx + 0x78]
mov edx, dword [rbx + 0x7c]
vpxor ymm1, ymm1, ymmword [r14]
vpxor xmm2, xmm2, xmmword [r14 + 0x20]
add r14, 0x40
xor ecx, dword [r14 - 8]
xor edx, dword [r14 - 4]
vmovdqu ymmword [rsp + 0x100], ymm1
vmovq xmm1, qword [r14 - 0x10]
mov dword [rsp + 0x138], ecx
mov rcx, r15
vpxor xmm1, xmm1, xmm0
mov dword [rsp + 0x13c], edx
mov edx, edi
vmovdqu xmmword [rsp + 0x120], xmm2
vmovq qword [rsp + 0x130], xmm1
call sym.salsa20_1
mov ecx, dword [rsp + 0x138]
vmovdqu ymm1, ymmword [rsp + 0x100]
vmovdqu ymm3, ymmword [rsp + 0x120]
mov edx, dword [rsp + 0x13c]
vmovdqu xmm2, xmmword [rsp + 0x120]
vmovdqu ymmword [r14 - 0x40], ymm1
vmovq xmm0, qword [rsp + 0x130]
vmovdqu ymmword [r14 - 0x20], ymm3
cmp r13, r14
jne 0x14026afd7
jmp 0x14026aaf8
mov qword [rsp + 0x30], r13
mov r8, rdi
mov edx, 0x20
and esi, 0xfffffffe
mov qword [rsp + 0x28], r12
mov r9, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x20], 1
call sym.pbkdf2_blake2b
mov eax, dword [rsp + 0x88]
mov r11, qword [rsp + 0x48]
mov dword [rsp + 0x88], esi
sub eax, esi
mov dword [rsp + 0x8c], eax
jmp 0x14026a94b
mov qword [rsp + 0x48], 0
mov r10, rdi
jmp 0x14026a909
or esi, 0xffffffff
jmp 0x14026aefa
or esi, 0xffffffff
jmp 0x14026aeea
or esi, 0xffffffff
jmp 0x14026aef2