Function at 0x14026e630
Capabilities:
Encode data using xor
Hash data using sha256
Hash data using sha384
Hash data using sha512

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x378
cmp qword [rsp + 0x3f0], 0xfffff
mov qword [rsp + 0x3c8], rdx
mov r13, rcx
mov qword [rsp + 0x3d0], r8
mov qword [rsp + 0x3d8], r9
jbe 0x14026e688
xor eax, eax
add rsp, 0x378
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test rcx, rcx
je 0x14035a130
mov rax, qword [rcx]
mov eax, dword [rax]
cmp eax, 0x2a1
je 0x14026ef9c
jg 0x14026ec60
cmp eax, 0x40
je 0x14026ee70
cmp eax, 0x2a0
jne 0x14026ebd8
pxor xmm0, xmm0
lea rax, [0x140214c50]
mov qword [rsp + 0x20], 0x40
mov ebp, 6
movaps xmmword [rsp + 0x2f0], xmm0
mov esi, 1
mov ebx, 8
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmmword [rsp + 0x2c0], xmm0
movaps xmmword [rsp + 0x2d0], xmm0
movaps xmmword [rsp + 0x2e0], xmm0
movdqa xmm0, xmmword [0x14045cb00]
mov qword [rsp + 0x60], rax
lea rax, [0x14017f3c0]
movaps xmmword [rsp + 0x290], xmm0
movdqa xmm0, xmmword [0x14045cb10]
mov dword [rsp + 0x2fc], 0x20
mov qword [rsp + 0xa0], 0x20
mov qword [rsp + 0x68], rax
movaps xmmword [rsp + 0x2a0], xmm0
nop
mov rdi, qword [rsp + 0x20]
mov rax, qword [rsp + 0x3f0]
xor edx, edx
mov rcx, qword [rsp + 0xa0]
lea rax, [rdi + rax + 0xc]
add rax, rbx
sub rax, rcx
div rdi
cmp rbp, rax
jb 0x14026ed10
mov qword [rsp + 0x40], 0
xor r11d, r11d
mov r15, qword [rsp + 0x20]
lea rdi, [rsp + 0x110]
xor eax, eax
mov qword [rsp + 0x28], r11
mov qword [rsp + 0xa8], rdi
mov r14, rdi
mov rcx, r15
shr rcx, 3
cmp qword [rsp + 0x400], 0x80
rep stosq qword [rdi], rax
ja 0x14026e66c
mov rdx, qword [rsp + 0x3f8]
mov r8, qword [rsp + 0x400]
mov rcx, r14
call sub.msvcrt.dll_memcpy
lea rdx, [r14 + r15]
mov r11, qword [rsp + 0x28]
movdqa xmm1, xmmword [str.6666666666666666jjjjjjjjjjjjjjjjW_08lX]
mov qword [rsp + 0xb8], rdx
nop word cs:[rax + rax]
movdqa xmm0, xmmword [rax]
add rax, 0x10
pxor xmm0, xmm1
movaps xmmword [rax - 0x10], xmm0
cmp rax, rdx
jne 0x14026e800
mov rax, qword [rsp + 0x3e8]
mov rdi, qword [rsp + 0xa0]
mov qword [rsp + 0x30], r11
mov rdx, qword [rsp + 0xa8]
add rax, 0xd
sub rax, rdi
mov rdi, qword [rsp + 0x20]
mov qword [rsp + 0x28], rax
add rax, rdi
lea rdi, [rax*8]
lea rax, [rsp + 0x290]
mov qword [rsp + 0x70], rax
mov rcx, rax
mov rax, qword [rsp + 0x60]
call rax
test sil, sil
mov r11, qword [rsp + 0x30]
je 0x14026ee3f
lea r8, [rsp + 0xc0]
lea rdx, [rbx - 4]
xor r9d, r9d
mov rax, r8
cmp edx, 8
jae 0x14026f043
test dl, 4
jne 0x14026f038
mov eax, edi
bswap eax
mov dword [rsp + rdx + 0xc0], eax
cmp qword [rsp + 0x40], 0
je 0x14026e9c8
mov rax, qword [rsp + 0x3d8]
mov r15, qword [rsp + 0x20]
mov qword [rsp + 0x38], r8
lea rdi, [rsp + 0x1a0]
mov qword [rsp + 0x30], r11
mov rsi, qword [rsp + 0x3e0]
lea rdx, [rsp + 0x190]
mov rax, qword [rax]
lea r12, [r15 - 0xd]
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x3d8]
mov rax, qword [rax + 5]
mov qword [rsp + 0x195], rax
mov rax, qword [rsp + 0x3e0]
mov rax, qword [rax]
mov qword [rsp + 0x19d], rax
mov eax, r12d
mov rcx, qword [rsi + rax - 8]
mov qword [rsp + rax + 0x195], rcx
mov rsi, qword [rsp + 0x3e0]
mov rax, 0xfffffffffffffffd
sub rsi, rax
add eax, r12d
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
call rax
mov rax, qword [rsp + 0x40]
xor edx, edx
mov r11, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
div r15
cmp rax, 1
mov rdi, rax
jbe 0x14026e9c8
add r12, qword [rsp + 0x3e0]
mov esi, 1
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x30], rbx
mov rbx, rsi
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x48], rbp
mov rbp, r12
mov r12, qword [rsp + 0x70]
nop word [rax + rax]
add rbx, 1
mov rdx, rbp
mov rcx, r12
add rbp, r15
call rsi
cmp rbx, rdi
jne 0x14026e9a0
mov rbx, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
pxor xmm0, xmm0
add rbp, r11
mov qword [rsp + 0x80], rbp
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm0
jb 0x14026edd0
mov rax, qword [rsp + 0x3f0]
mov rcx, qword [rsp + 0x20]
xor edx, edx
mov qword [rsp + 0x3c0], r13
mov rsi, qword [rsp + 0xa0]
mov qword [rsp + 0xb0], r14
lea r15, [rsp + 0x210]
add rax, 0xd
mov rdi, rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x28]
sub rdi, rbx
mov r14, rdi
div rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x28]
mov rbp, rdx
xor edx, edx
lea r12, [rbp + 1]
add rax, rbx
div rcx
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0xd0]
add rsi, rax
mov qword [rsp + 0x78], rax
mov rax, rbp
not rax
mov qword [rsp + 0x98], rax
mov rax, rbx
mov rbx, rsi
sub rax, rcx
add rax, r8
mov qword [rsp + 0x38], rax
nop dword [rax]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x48], r11
xor r8d, r8d
mov qword [rsp + 0x58], rbx
mov r9, qword [rsp + 0x98]
xor rax, r11
mov r10, qword [rsp + 0x40]
mov rdx, rax
sub rax, 1
not rdx
and rdx, rax
mov rax, qword [rsp + 0x90]
sar rdx, 0x3f
xor rax, r11
mov esi, edx
mov rcx, rax
sub rax, 1
not rcx
and rcx, rax
mov rax, rcx
sar rax, 0x3f
mov r13d, eax
movzx edi, al
mov qword [rsp + 0x50], rax
not r13d
mov ecx, edi
not edi
or r13d, edx
mov dword [rsp + 0x28], ecx
jmp 0x14026eba5
mov rax, qword [rsp + 0x3d8]
movzx ebx, byte [rax + r10]
lea r11, [r9 + 1]
mov rax, rbp
mov rdx, rbp
xor r9, r12
xor rdx, r11
xor rax, r8
add r10, 1
or rax, rdx
mov rdx, r8
xor rdx, r12
xor rax, r8
or rdx, r9
sar rax, 0x3f
xor rdx, r8
not rax
sar rdx, 0x3f
and eax, esi
not rdx
movzx eax, al
and edx, esi
mov ecx, eax
not eax
not edx
and ecx, 0x80
and eax, ebx
and edx, r13d
or ecx, eax
and ecx, edx
cmp r8, r14
jb 0x14026eb8f
mov rbx, qword [rsp + 0x38]
movzx eax, byte [rsp + 0x28]
and ecx, edi
and al, byte [rbx + r8]
or ecx, eax
mov byte [r15 + r8], cl
add r8, 1
cmp qword [rsp + 0x20], r8
je 0x14026ed28
mov r9, r11
cmp r10, 0xc
jbe 0x14026eb18
mov rax, qword [rsp + 0x30]
xor ebx, ebx
cmp r10, rax
jae 0x14026eb25
mov rax, qword [rsp + 0x3e0]
movzx ebx, byte [rax + r10 - 0xd]
jmp 0x14026eb25
cmp eax, 4
jne 0x14026f0c0
pxor xmm0, xmm0
mov ebp, 6
xor esi, esi
mov ebx, 8
movaps xmmword [rsp + 0x2d0], xmm0
lea rax, [0x1401f9480]
movaps xmmword [rsp + 0x2a0], xmm0
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmmword [rsp + 0x2c0], xmm0
movups xmmword [rsp + 0x2dc], xmm0
movdqa xmm0, xmmword [0x14045cad0]
mov qword [rsp + 0x60], rax
lea rax, [0x14017f2c0]
mov qword [rsp + 0x20], 0x40
mov qword [rsp + 0xa0], 0x10
mov qword [rsp + 0x68], rax
movaps xmmword [rsp + 0x290], xmm0
jmp 0x14026e750
cmp eax, 0x2a2
je 0x14026ef00
cmp eax, 0x2a3
jne 0x14026f0c0
pxor xmm0, xmm0
lea rax, [0x140214c50]
mov qword [rsp + 0x20], 0x40
mov ebp, 6
movaps xmmword [rsp + 0x2f0], xmm0
mov esi, 1
mov ebx, 8
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmmword [rsp + 0x2c0], xmm0
movaps xmmword [rsp + 0x2d0], xmm0
movaps xmmword [rsp + 0x2e0], xmm0
movdqa xmm0, xmmword [0x14045cae0]
mov qword [rsp + 0x60], rax
lea rax, [0x14017f3c0]
movaps xmmword [rsp + 0x290], xmm0
movdqa xmm0, xmmword [0x14045caf0]
mov dword [rsp + 0x2fc], 0x1c
mov qword [rsp + 0xa0], 0x1c
mov qword [rsp + 0x68], rax
movaps xmmword [rsp + 0x2a0], xmm0
jmp 0x14026e750
sub rax, rbp
imul rdi, rax
mov r11, rax
mov qword [rsp + 0x40], rdi
jmp 0x14026e78a
mov rax, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x20]
mov rdx, r15
add qword [rsp + 0x40], rdi
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov rcx, rdi
call rax
mov rax, qword [rsp + 0x68]
mov rdx, r15
mov rcx, rdi
call rax
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x78]
mov rcx, r15
mov r11, qword [rsp + 0x48]
movzx eax, al
mov ah, al
movd xmm3, eax
pshuflw xmm2, xmm3, 0
movd xmm0, dword [rcx]
movd xmm1, dword [rdx]
add rdx, 4
add rcx, 4
pand xmm0, xmm2
por xmm1, xmm0
movd dword [rdx - 4], xmm1
cmp rbx, rdx
jne 0x14026ed80
lea rax, [r11 + 1]
cmp qword [rsp + 0x80], r11
je 0x14026edc0
mov r11, rax
jmp 0x14026eaa0
mov r14, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x3c0]
call fcn.1401e9ce0
mov rbx, rax
test rax, rax
je 0x14026ee32
mov rdx, qword [r13]
xor r8d, r8d
mov rcx, rax
call fcn.1401e9d60
test eax, eax
jle 0x14026ee32
movdqa xmm1, xmmword [0x14045cbd0]
mov rax, qword [rsp + 0xb8]
movdqa xmm0, xmmword [r14]
add r14, 0x10
pxor xmm0, xmm1
movaps xmmword [r14 - 0x10], xmm0
cmp rax, r14
jne 0x14026ee00
mov r8, qword [rsp + 0x20]
mov rdx, qword [rsp + 0xa8]
mov rcx, rbx
call qword [rbx + 0x28]
test eax, eax
jg 0x14026f062
mov rcx, rbx
call fcn.1401e9d10
jmp 0x14026e66c
mov ecx, ebx
lea r8, [rsp + 0xc0]
xor r9d, r9d
xor eax, eax
and ecx, 0xfffffff8
mov edx, eax
add eax, 8
mov qword [r8 + rdx], r9
cmp eax, ecx
jb 0x14026ee51
mov dword [rsp + rbx + 0xb8], edi
jmp 0x14026e8a2
pxor xmm0, xmm0
lea rax, [0x140214b90]
mov dword [rsp + 0x2a0], 0xc3d2e1f0
mov ebp, 6
movups xmmword [rsp + 0x2d4], xmm0
mov esi, 1
mov ebx, 8
movups xmmword [rsp + 0x2a4], xmm0
movups xmmword [rsp + 0x2b4], xmm0
movups xmmword [rsp + 0x2c4], xmm0
movups xmmword [rsp + 0x2e0], xmm0
movdqa xmm0, xmmword [0x14045cad0]
mov qword [rsp + 0x60], rax
lea rax, [0x14017f330]
mov qword [rsp + 0x20], 0x40
mov qword [rsp + 0xa0], 0x14
mov qword [rsp + 0x68], rax
movaps xmmword [rsp + 0x290], xmm0
jmp 0x14026e750
movdqa xmm0, xmmword [0x14045cb70]
mov rax, qword [0x14045cbb0]
mov qword [rsp + 0x20], pe_nt_image_headers64
mov ebp, 4
mov esi, 1
mov ebx, 0x10
mov qword [rsp + 0xa0], 0x40
movaps xmmword [rsp + 0x290], xmm0
movdqa xmm0, xmmword [0x14045cb80]
mov qword [rsp + 0x360], rax
lea rax, [0x140214c60]
movaps xmmword [rsp + 0x2a0], xmm0
movdqa xmm0, xmmword [0x14045cb90]
mov qword [rsp + 0x60], rax
lea rax, [0x14017f400]
movaps xmmword [rsp + 0x2b0], xmm0
movdqa xmm0, xmmword [0x14045cba0]
mov qword [rsp + 0x68], rax
movaps xmmword [rsp + 0x2c0], xmm0
pxor xmm0, xmm0
movaps xmmword [rsp + 0x2d0], xmm0
jmp 0x14026e750
movdqa xmm0, xmmword [0x14045cb20]
mov rax, qword [0x14045cb60]
mov qword [rsp + 0x20], pe_nt_image_headers64
mov ebp, 4
mov esi, 1
mov ebx, 0x10
mov qword [rsp + 0xa0], 0x30
movaps xmmword [rsp + 0x290], xmm0
movdqa xmm0, xmmword [0x14045cb30]
mov qword [rsp + 0x360], rax
lea rax, [0x140214c60]
movaps xmmword [rsp + 0x2a0], xmm0
movdqa xmm0, xmmword [0x14045cb40]
mov qword [rsp + 0x60], rax
lea rax, [0x14017f400]
movaps xmmword [rsp + 0x2b0], xmm0
movdqa xmm0, xmmword [0x14045cb50]
mov qword [rsp + 0x68], rax
movaps xmmword [rsp + 0x2c0], xmm0
pxor xmm0, xmm0
movaps xmmword [rsp + 0x2d0], xmm0
jmp 0x14026e750
mov dword [rax], 0
jmp 0x14026e897
mov r10d, edx
xor eax, eax
and r10d, 0xfffffff8
mov ecx, eax
add eax, 8
mov qword [r8 + rcx], r9
cmp eax, r10d
jb 0x14026f04c
add rax, r8
jmp 0x14026e88e
mov r8, qword [rsp + 0xa0]
lea rdx, [rsp + 0xd0]
mov rcx, rbx
call qword [rbx + 0x28]
test eax, eax
jle 0x14026ee32
mov rdx, qword [rsp + 0x3c8]
lea r8, [rsp + 0x210]
mov rcx, rbx
call fcn.1401ea090
test eax, eax
je 0x14026f0ae
mov rax, qword [rsp + 0x3d0]
mov esi, dword [rsp + 0x210]
mov qword [rax], rsi
mov rcx, rbx
call fcn.1401e9d10
mov eax, 1
jmp 0x14026e66e
mov rax, qword [rsp + 0x3d0]
mov qword [rax], 0
jmp 0x14026e66c
mov eax, dword [pe_dos_header]
ud2