Function at 0x140022f77
Capabilities:
Encode data using xor
Hash data using sha1 via x86 extensions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov r13, r8
mov rbp, rdx
mov r12, rcx
mov al, byte [0x141659048]
cmp al, 1
je 0x140021fff
movzx eax, al
cmp eax, 0xff
jne 0x140022027
lea r14, [rsp + 0x20]
mov rcx, r14
call fcn.140022d0a
lea rcx, [rsp + 0xb0]
call fcn.140022d2c
mov esi, dword [r14 + 8]
mov eax, esi
not eax
test eax, 0xc000000
jne 0x140022020
mov edi, dword [rsp + 0x2c]
mov ebx, dword [rsp + 0xb4]
call fcn.140022d4e
mov r15, rax
shr ebx, 0x1d
call fcn.140022d4e
mov r14, rax
shr edi, 0x1a
and r14d, r15d
shr r14d, 1
and r14d, ebx
and r14d, edi
call fcn.140022d4e
shr eax, 1
mov edi, esi
shr edi, 9
and edi, eax
call fcn.140022d4e
and eax, 2
shr eax, 1
shr esi, 0x13
and esi, eax
and esi, edi
and esi, r14d
mov byte [0x141659048], sil
je 0x140022027
mov rcx, r12
mov rdx, rbp
mov r8, r13
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140022f77
mov byte [0x141659048], 0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xe0], xmm0
movdqa xmmword [rsp + 0xd0], xmm0
movdqa xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0xb0], xmm0
shl r13, 6
add r13, rbp
mov qword [rsp + 0x100], r13
mov edx, dword [r12 + 0x10]
mov r8d, dword [r12 + 0xc]
mov r9d, dword [r12 + 8]
mov r10d, dword [r12]
mov qword [rsp + 0xf8], r12
mov r11d, dword [r12 + 4]
xor eax, eax
mov ecx, dword [rbp + rax*4]
bswap ecx
mov dword [rsp + rax*4 + 0xb0], ecx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 0x10
jne 0x140022080
add rbp, 0x40
mov qword [rsp + 0x110], rbp
mov esi, dword [rsp + 0xb0]
mov qword [rsp + 0x90], rsi
mov ecx, dword [rsp + 0xb4]
mov dword [rsp + 0xa0], ecx
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x3c], eax
mov r13d, dword [rsp + 0xbc]
mov edi, dword [rsp + 0xc0]
mov dword [rsp + 0x6c], edi
mov ebp, dword [rsp + 0xc4]
mov dword [rsp + 0x78], ebp
mov r12d, dword [rsp + 0xc8]
mov dword [rsp + 0x40], r12d
mov ebx, dword [rsp + 0xcc]
mov dword [rsp + 0x38], ebx
mov r15d, dword [rsp + 0xd0]
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x68], eax
movd xmm0, r8d
movd xmm1, r9d
punpckldq xmm1, xmm0
movd xmm0, r11d
movd xmm2, r10d
punpckldq xmm2, xmm0
lea eax, [rsi + rdx]
movd xmm0, eax
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x48], eax
punpcklqdq xmm2, xmm1
movd xmm1, ecx
punpckldq xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0xb8]
punpcklqdq xmm0, xmm1
movdqa xmmword [rsp + 0x80], xmm2
movdqa xmmword [rsp + 0x20], xmm0
mov eax, dword [rsp + 0xec]
mov dword [rsp + 0x74], eax
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x108], rdx
lea rdx, [rsp + 0x80]
mov dword [rsp + 0xac], r8d
lea r14, [rsp + 0x20]
mov r8, r14
mov dword [rsp + 0xa8], r9d
xor r9d, r9d
mov dword [rsp + 0x9c], r10d
mov dword [rsp + 0xa4], r11d
call fcn.140022d5b
mov esi, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x9c]
rol eax, 0x1e
add eax, edi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], ebp
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x2c], ebx
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
mov rbx, rdx
mov r8, r14
xor r9d, r9d
call fcn.140022d5b
mov r12d, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x80], xmm0
rol esi, 0x1e
add esi, r15d
mov dword [rsp + 0x20], esi
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x2c], eax
lea rdi, [rsp + 0x50]
mov rcx, rdi
mov rdx, rbx
mov r8, r14
xor r9d, r9d
call fcn.140022d5b
mov ebp, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x80], xmm0
rol r12d, 0x1e
add r12d, dword [rsp + 0x4c]
mov dword [rsp + 0x20], r12d
mov r12d, dword [rsp + 0x68]
mov dword [rsp + 0x24], r12d
mov esi, dword [rsp + 0x48]
mov dword [rsp + 0x28], esi
mov r14d, dword [rsp + 0x74]
mov dword [rsp + 0x2c], r14d
mov rcx, rdi
mov rdx, rbx
lea r8, [rsp + 0x20]
xor r9d, r9d
call fcn.140022d5b
mov eax, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x90]
xor edx, eax
mov ecx, dword [rsp + 0xa0]
xor ecx, r13d
xor eax, dword [rsp + 0x6c]
mov edi, r15d
xor edi, r12d
xor edi, edx
rol edi, 1
mov ebx, dword [rsp + 0x7c]
xor ebx, esi
xor ebx, ecx
mov r12d, dword [rsp + 0x70]
xor r12d, r14d
xor r12d, eax
rol ebp, 0x1e
add ebp, edi
mov dword [rsp + 0x20], ebp
mov ebp, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
mov esi, dword [rsp + 0x78]
xor r13d, esi
rol ebx, 1
rol r12d, 1
xor r13d, dword [rsp + 0x44]
xor r13d, edi
rol r13d, 1
movaps xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x2c], r13d
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
xor r9d, r9d
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x6c]
mov r8d, dword [rsp + 0x40]
xor ecx, r8d
mov r9d, dword [rsp + 0x38]
xor esi, r9d
xor r8d, r15d
xor r9d, dword [rsp + 0x7c]
xor ecx, dword [rsp + 0x4c]
xor ecx, ebx
rol ecx, 1
mov dword [rsp + 0x6c], ecx
mov r14d, dword [rsp + 0x68]
xor esi, r14d
xor esi, r12d
rol esi, 1
mov eax, r8d
xor eax, dword [rsp + 0x48]
xor eax, r13d
rol eax, 1
mov r8d, eax
mov dword [rsp + 0x40], eax
mov eax, r9d
xor eax, dword [rsp + 0x74]
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x38], eax
movaps xmmword [rsp + 0x80], xmm0
rol ebp, 0x1e
add ebp, ecx
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x24], esi
mov ebp, esi
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x90], eax
movaps xmm0, xmmword [rsp + 0x50]
mov esi, dword [rsp + 0x70]
xor r15d, esi
mov eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x7c]
xor ecx, eax
xor esi, dword [rsp + 0x4c]
xor eax, r14d
xor r15d, edi
xor r15d, ebp
rol r15d, 1
xor ecx, ebx
xor ecx, dword [rsp + 0x40]
rol ecx, 1
xor esi, r12d
xor esi, dword [rsp + 0x38]
rol esi, 1
xor eax, r13d
xor eax, r15d
rol eax, 1
mov dword [rsp + 0x44], eax
movaps xmmword [rsp + 0x80], xmm0
mov edx, dword [rsp + 0x3c]
rol edx, 0x1e
add edx, r15d
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], ecx
mov r14d, ecx
mov dword [rsp + 0x7c], ecx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x70], esi
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
xor ecx, edx
mov eax, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x74]
xor eax, r8d
xor edx, edi
xor r8d, ebx
mov ebp, dword [rsp + 0x6c]
xor ecx, ebp
xor ecx, r14d
rol ecx, 1
mov dword [rsp + 0x4c], ecx
mov r14d, dword [rsp + 0x78]
xor eax, r14d
xor eax, esi
rol eax, 1
mov esi, eax
mov eax, edx
xor eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x44]
rol eax, 1
mov edx, eax
mov dword [rsp + 0x48], eax
mov eax, r8d
xor eax, dword [rsp + 0x38]
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x74], eax
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x90]
rol r8d, 0x1e
add r8d, ecx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], esi
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x90], eax
movaps xmm0, xmmword [rsp + 0x50]
xor edi, r12d
xor ebx, r13d
xor r12d, ebp
xor r13d, r14d
xor edi, r15d
xor edi, esi
mov r14d, esi
mov dword [rsp + 0x68], esi
rol edi, 1
mov ebp, dword [rsp + 0x7c]
xor ebx, ebp
xor ebx, dword [rsp + 0x48]
rol ebx, 1
xor r12d, dword [rsp + 0x70]
mov esi, dword [rsp + 0x74]
xor r12d, esi
rol r12d, 1
xor r13d, dword [rsp + 0x44]
xor r13d, edi
rol r13d, 1
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x3c]
rol eax, 0x1e
add eax, edi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x2c], r13d
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x40]
mov edx, dword [rsp + 0x6c]
xor edx, eax
mov ecx, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x38]
xor ecx, r8d
xor eax, r15d
xor r8d, ebp
mov ebp, dword [rsp + 0x4c]
xor edx, ebp
xor edx, ebx
rol edx, 1
xor ecx, r14d
xor ecx, r12d
rol ecx, 1
mov dword [rsp + 0x78], ecx
xor eax, dword [rsp + 0x48]
xor eax, r13d
rol eax, 1
mov r9d, eax
mov dword [rsp + 0x40], eax
mov eax, r8d
xor eax, esi
mov dword [rsp + 0x6c], edx
xor eax, edx
rol eax, 1
mov dword [rsp + 0x38], eax
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x90]
rol r8d, 0x1e
add r8d, edx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x90], eax
movaps xmm0, xmmword [rsp + 0x50]
mov esi, dword [rsp + 0x70]
xor r15d, esi
mov eax, dword [rsp + 0x44]
mov r14d, dword [rsp + 0x7c]
xor r14d, eax
xor esi, ebp
xor eax, dword [rsp + 0x68]
xor r15d, edi
mov ebp, dword [rsp + 0x78]
xor r15d, ebp
rol r15d, 1
xor r14d, ebx
xor r14d, dword [rsp + 0x40]
rol r14d, 1
xor esi, r12d
xor esi, dword [rsp + 0x38]
rol esi, 1
mov dword [rsp + 0x70], esi
xor eax, r13d
xor eax, r15d
rol eax, 1
mov dword [rsp + 0x44], eax
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x3c]
rol ecx, 0x1e
add ecx, r15d
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r14d
mov dword [rsp + 0x7c], r14d
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x48]
mov edx, dword [rsp + 0x4c]
xor edx, eax
mov ecx, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x74]
and al, 0x74
xor ecx, r8d
xor eax, edi
xor r8d, ebx
mov esi, dword [rsp + 0x6c]
xor edx, esi
xor edx, r14d
rol edx, 1
xor ecx, ebp
mov r14d, ebp
xor ecx, dword [rsp + 0x70]
rol ecx, 1
mov ebp, ecx
xor eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x44]
rol eax, 1
mov r9d, eax
mov dword [rsp + 0x48], eax
mov eax, r8d
xor eax, dword [rsp + 0x38]
mov dword [rsp + 0x4c], edx
xor eax, edx
rol eax, 1
mov dword [rsp + 0x74], eax
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x90]
rol r8d, 0x1e
add r8d, edx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x90], eax
movaps xmm0, xmmword [rsp + 0x50]
xor edi, r12d
xor ebx, r13d
xor r12d, esi
xor r13d, r14d
xor edi, r15d
xor edi, ebp
rol edi, 1
mov r14d, dword [rsp + 0x7c]
jl 0x14002281f
xor ebx, esi
mov esi, dword [rsp + 0x48]
xor ebx, esi
rol ebx, 1
xor r12d, dword [rsp + 0x70]
mov ebp, dword [rsp + 0x74]
xor r12d, ebp
rol r12d, 1
xor r13d, dword [rsp + 0x44]
xor r13d, edi
rol r13d, 1
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x3c]
rol eax, 0x1e
add eax, edi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x2c], r13d
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x6c]
mov r8d, dword [rsp + 0x40]
xor ecx, r8d
mov eax, dword [rsp + 0x78]
mov edx, dword [rsp + 0x38]
xor eax, edx
xor r8d, r15d
xor edx, r14d
xor ecx, dword [rsp + 0x4c]
xor ecx, ebx
rol ecx, 1
mov dword [rsp + 0x6c], ecx
xor eax, dword [rsp + 0x68]
xor eax, r12d
rol eax, 1
mov r9d, eax
mov eax, r8d
xor eax, esi
xor eax, r13d
rol eax, 1
mov r8d, eax
mov dword [rsp + 0x40], eax
mov eax, edx
xor eax, ebp
call 0x100d3f0c7
mov dword [rsp + 0x38], eax
movaps xmmword [rsp + 0x80], xmm0
mov edx, dword [rsp + 0x90]
add byte [rax], al
rol edx, 0x1e
add edx, ecx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], r9d
mov ebp, r9d
mov dword [rsp + 0x78], r9d
and al, 0x78
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x90], eax
movaps xmm0, xmmword [rsp + 0x50]
mov esi, dword [rsp + 0x70]
xor r15d, esi
mov eax, dword [rsp + 0x44]
xor r14d, eax
xor esi, dword [rsp + 0x4c]
xor eax, dword [rsp + 0x68]
xor r15d, edi
xor r15d, ebp
rol r15d, 1
xor r14d, ebx
xor r14d, dword [rsp + 0x40]
rol r14d, 1
xor esi, r12d
xor esi, dword [rsp + 0x38]
rol esi, 1
mov ebp, esi
xor eax, r13d
xor eax, r15d
rol eax, 1
mov dword [rsp + 0x44], eax
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x3c]
rol ecx, 0x1e
add ecx, r15d
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r14d
and al, 0x44
mov dword [rsp + 0x7c], esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x70], esi
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
and byte [rcx - 0x4f], al
add ch, al
loop 0x14002297a
add byte [rax], al
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
xor ecx, edx
mov eax, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x74]
xor eax, r8d
xor edx, edi
xor r8d, ebx
mov esi, dword [rsp + 0x6c]
xor ecx, esi
xor ecx, r14d
rol ecx, 1
mov dword [rsp + 0x4c], ecx
mov r14d, dword [rsp + 0x78]
xor eax, r14d
xor eax, ebp
rol eax, 1
mov ebp, eax
mov eax, edx
xor eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x44]
rol eax, 1
mov edx, eax
mov dword [rsp + 0x48], eax
mov eax, r8d
xor eax, dword [rsp + 0x38]
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x74], eax
movaps xmmword [rsp + 0x80], xmm0
mov r8d, dword [rsp + 0x90]
test byte [rax + rdx*4], ah
add byte [rax], al
add byte [rcx - 0x3f], al
rcr byte [rsi], 0x41
add eax, ecx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], ebp
mov dword [rsp + 0x68], ebp
mov dword [rsp + 0x28], edx
and al, 0x28
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x90], eax
movaps xmm0, xmmword [rsp + 0x50]
xor edi, r12d
xor ebx, r13d
xor r12d, esi
xor r13d, r14d
xor edi, r15d
xor edi, ebp
rol edi, 1
mov ebp, dword [rsp + 0x7c]
xor ebx, ebp
xor ebx, dword [rsp + 0x48]
rol ebx, 1
xor r12d, dword [rsp + 0x70]
mov esi, dword [rsp + 0x74]
xor r12d, esi
rol r12d, 1
xor r13d, dword [rsp + 0x44]
xor r13d, edi
rol r13d, 1
movaps xmmword [rsp + 0x80], xmm0
mov eax, dword [rsp + 0x3c]
rol eax, 0x1e
add eax, edi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x2c], r13d
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
and al, 0x20
mov r9b, 3
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x6c]
xor r8d, ecx
mov eax, dword [rsp + 0x38]
mov edx, dword [rsp + 0x78]
xor edx, eax
xor ecx, r15d
xor ecx, edi
xor eax, ebp
mov ebp, dword [rsp + 0x4c]
xor r8d, ebp
xor r8d, ebx
rol r8d, 1
mov dword [rsp + 0x6c], r8d
insb byte [rdi], dx
mov r14d, dword [rsp + 0x68]
xor edx, r14d
xor edx, r12d
rol edx, 1
xor ecx, dword [rsp + 0x48]
xor ecx, r13d
rol ecx, 1
mov dword [rsp + 0x40], ecx
xor eax, esi
xor eax, r8d
rol eax, 1
mov dword [rsp + 0x38], eax
movaps xmmword [rsp + 0x80], xmm0
and al, 0x80
add byte [rax], al
add byte [rbx + rcx*4 - 0x74], al
and al, 0x90
add byte [rax], al
add byte [rcx - 0x3f], al
rcr dword [rsi], 0x45
add ecx, eax
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x24], edx
mov esi, edx
mov dword [rsp + 0x78], edx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.140022d5b
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x90], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x70]
xor r15d, ecx
mov eax, dword [rsp + 0x44]
and al, 0x44
mov edx, dword [rsp + 0x7c]
xor edx, eax
xor ecx, ebp
xor eax, r14d
xor r15d, edi
xor r15d, esi
rol r15d, 1
invalid
xor edx, ebx
mov r14d, dword [rsp + 0x40]
xor edx, r14d
rol edx, 1
mov ebp, edx
xor ecx, r12d
xor ecx, dword [rsp + 0x38]
rol ecx, 1
mov r12d, ecx
xor eax, r13d
xor eax, r15d
rol eax, 1
movaps xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsp + 0x3c]
rol ecx, 0x1e
add ecx, r15d
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], edx
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x2c], eax
sub al, 0x41
mov edi, eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
lea r13, [rsp + 0x20]
mov r8, r13
mov r9b, 3
call fcn.140022d5b
mov esi, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x48]
xor ecx, edx
mov eax, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x74]
xor eax, r8d
xor edi, edx
xor ebx, r8d
xor ecx, dword [rsp + 0x6c]
xor ecx, ebp
rol ecx, 1
xor eax, dword [rsp + 0x78]
xor eax, r12d
rol eax, 1
xor edi, r14d
xor edi, r15d
rol edi, 1
xor ebx, dword [rsp + 0x38]
xor ebx, ecx
rol ebx, 1
movaps xmmword [rsp + 0x80], xmm0
mov edx, dword [rsp + 0x90]
rol edx, 0x1e
add edx, ecx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x2c], ebx
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x80]
mov r8, r13
mov r9b, 3
call fcn.140022d5b
mov r11d, dword [rsp + 0xa4]
mov r10d, dword [rsp + 0x9c]
mov r9d, dword [rsp + 0xa8]
mov r8d, dword [rsp + 0xac]
add r10d, dword [rsp + 0x50]
rol esi, 0x1e
movdqa xmm0, xmmword [rsp + 0x50]
pshufd xmm1, xmm0, 0x55
movd eax, xmm1
pshufd xmm1, xmm0, 0xee
movd ecx, xmm1
movd ecx, mm1
pshufd xmm0, xmm0, 0xff
movd edx, xmm0
add r11d, eax
add r9d, ecx
add r8d, edx
mov rdx, qword [rsp + 0x108]
add edx, esi
mov rax, qword [rsp + 0x110]
mov rbp, rax
cmp rax, qword [rsp + 0x100]
jne 0x14002207e
mov rax, qword [rsp + 0xf8]
mov dword [rax], r10d
mov dword [rax + 4], r11d
mov dword [rax + 8], r9d
mov dword [rax + 0xc], r8d
mov dword [rax + 0x10], edx
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sub rsp, 0x58
movaps xmmword [rsp + 0x40], xmm10
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm8
movaps xmmword [rsp + 0x10], xmm7
movaps xmmword [rsp], xmm6
movdqu xmm0, xmmword [rcx]
pshufd xmm3, xmm0, 0xff
pinsrd xmm3, dword [rcx + 8], 1
pinsrd xmm3, dword [rcx + 4], 2
pinsrd xmm3, dword [rcx], 3
movd xmm7, dword [rcx + 0x10]
pslldq xmm7, 0xc
shl r8, 6
add r8, rdx
movdqa xmm0, xmmword [0x14007e5c0]
movdqa xmm1, xmm7
movdqa xmm2, xmm3
movdqu xmm6, xmmword [rdx]
movdqu xmm5, xmmword [rdx + 0x10]
movdqu xmm4, xmmword [rdx + 0x20]
movdqu xmm3, xmmword [rdx + 0x30]
pshufb xmm6, xmm0
pshufb xmm5, xmm0
pshufb xmm4, xmm0
pshufb xmm3, xmm0
paddd xmm7, xmm6
movdqa xmm8, xmm2
sha1rnds4 xmm8, xmm7, 0
movdqa xmm7, xmm2
sha1nexte xmm7, xmm5
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 0
sha1nexte xmm8, xmm4
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 0
sha1nexte xmm9, xmm3
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 0
sha1msg1 xmm6, xmm5
pxor xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm7, xmm6
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 0
sha1msg1 xmm5, xmm4
pxor xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm8, xmm5
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 1
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm9, xmm4
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 1
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm7, xmm3
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 1
sha1msg1 xmm6, xmm5
xorps xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm8, xmm6
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 1
sha1msg1 xmm5, xmm4
xorps xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm9, xmm5
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 1
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm7, xmm4
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 2
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm8, xmm3
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 2
sha1msg1 xmm6, xmm5
xorps xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm9, xmm6
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 2
sha1msg1 xmm5, xmm4
xorps xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm7, xmm5
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 2
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm8, xmm4
movaps xmm7, xmm9
sha1rnds4 xmm7, xmm8, 2
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm9, xmm3
movaps xmm8, xmm7
sha1rnds4 xmm8, xmm9, 3
sha1msg1 xmm6, xmm5
xorps xmm6, xmm4
sha1msg2 xmm6, xmm3
sha1nexte xmm7, xmm6
movaps xmm9, xmm8
sha1rnds4 xmm9, xmm7, 3
sha1msg1 xmm5, xmm4
xorps xmm5, xmm3
sha1msg2 xmm5, xmm6
sha1nexte xmm8, xmm5
movaps xmm10, xmm9
sha1rnds4 xmm10, xmm8, 3
sha1msg1 xmm4, xmm3
xorps xmm4, xmm6
sha1msg2 xmm4, xmm5
sha1nexte xmm9, xmm4
movaps xmm7, xmm10
sha1rnds4 xmm7, xmm9, 3
sha1msg1 xmm3, xmm6
xorps xmm3, xmm5
sha1msg2 xmm3, xmm4
sha1nexte xmm10, xmm3
movaps xmm3, xmm7
sha1rnds4 xmm3, xmm10, 3
paddd xmm3, xmm2
sha1nexte xmm7, xmm1
add rdx, 0x40
cmp rdx, r8
jne 0x140022fcc
pshufd xmm0, xmm3, 0x1b
movdqu xmmword [rcx], xmm0
pextrd dword [rcx + 0x10], xmm7, 3
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
add rsp, 0x58
ret