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

Disassembly:
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 [0x1401059a0]
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 0x1400a2022
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
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov r13, r8
mov r12, rdx
mov r15, rcx
mov al, byte [0x140165018]
cmp al, 1
je 0x1400a2325
movzx eax, al
cmp eax, 0xff
jne 0x1400a234d
lea rbx, [rsp + 0x20]
mov rcx, rbx
call fcn.1400a2faa
lea rcx, [rsp + 0xa0]
call fcn.1400a2fcc
mov esi, dword [rbx + 8]
mov eax, esi
not eax
test eax, 0xc000000
jne 0x1400a2346
mov edi, dword [rsp + 0x2c]
mov ebp, dword [rsp + 0xa4]
call fcn.1400a1fc0
mov r14, rax
shr ebp, 0x1d
call fcn.1400a1fc0
mov rbx, rax
shr edi, 0x1a
and ebx, r14d
shr ebx, 1
and ebx, ebp
and ebx, edi
call fcn.1400a1fc0
shr eax, 1
mov edi, esi
shr edi, 9
and edi, eax
call fcn.1400a1fc0
and eax, 2
shr eax, 1
shr esi, 0x13
and esi, eax
and esi, edi
and esi, ebx
mov byte [0x140165018], sil
je 0x1400a234d
mov rcx, r15
mov rdx, r12
mov r8, r13
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x1400a1fcd
mov byte [0x140165018], 0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0xd0], xmm0
movdqa xmmword [rsp + 0xc0], xmm0
movdqa xmmword [rsp + 0xb0], xmm0
movdqa xmmword [rsp + 0xa0], xmm0
shl r13, 6
add r13, r12
mov qword [rsp + 0xe8], r13
mov edx, dword [r15 + 0x10]
mov r8d, dword [r15 + 0xc]
mov r9d, dword [r15 + 8]
mov r10d, dword [r15]
mov qword [rsp + 0xe0], r15
mov r11d, dword [r15 + 4]
lea rax, [r12 + 0x40]
mov qword [rsp + 0xf8], rax
xor eax, eax
mov ecx, dword [r12 + rax*4]
bswap ecx
mov dword [rsp + rax*4 + 0xa0], ecx
lea rcx, [rax + 1]
mov rax, rcx
cmp rcx, 0x10
jne 0x1400a23ae
mov r15d, dword [rsp + 0xa0]
mov qword [rsp + 0xf0], r15
mov ecx, dword [rsp + 0xa4]
mov dword [rsp + 0x84], ecx
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x88], eax
mov eax, dword [rsp + 0xac]
mov dword [rsp + 0x44], eax
mov r14d, dword [rsp + 0xb0]
mov dword [rsp + 0x48], r14d
mov edi, dword [rsp + 0xb4]
mov dword [rsp + 0x64], edi
mov esi, dword [rsp + 0xb8]
mov dword [rsp + 0x30], esi
mov r12d, dword [rsp + 0xbc]
mov dword [rsp + 0x3c], r12d
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x8c], eax
mov eax, dword [rsp + 0xc8]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0xcc]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x4c], eax
movd xmm0, r8d
movd xmm1, r9d
punpckldq xmm1, xmm0
movd xmm0, r11d
movd xmm2, r10d
punpckldq xmm2, xmm0
lea eax, [r15 + rdx]
movd xmm0, eax
mov eax, dword [rsp + 0xd8]
mov dword [rsp + 0x40], eax
punpcklqdq xmm2, xmm1
movd xmm1, ecx
punpckldq xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0xa8]
punpcklqdq xmm0, xmm1
movdqa xmmword [rsp + 0x70], xmm2
movdqa xmmword [rsp + 0x20], xmm0
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0x68], eax
lea r13, [rsp + 0x50]
mov rcx, r13
mov qword [rsp + 0x100], rdx
lea r15, [rsp + 0x70]
mov rdx, r15
mov dword [rsp + 0x9c], r8d
lea rbx, [rsp + 0x20]
mov r8, rbx
mov dword [rsp + 0x98], r9d
xor r9d, r9d
mov dword [rsp + 0x90], r10d
mov dword [rsp + 0x94], r11d
call fcn.1400a1cc0
mov ebp, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x70], xmm0
mov eax, dword [rsp + 0x90]
rol eax, 0x1e
add eax, r14d
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], edi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x2c], r12d
mov rcx, r13
mov rdi, r13
mov rdx, r15
mov rsi, r15
mov r8, rbx
mov r12, rbx
xor r9d, r9d
call fcn.1400a1cc0
mov r14d, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x70], xmm0
rol ebp, 0x1e
mov r13d, dword [rsp + 0x6c]
add ebp, r13d
mov dword [rsp + 0x20], ebp
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x2c], eax
mov r15, rdi
mov rcx, rdi
mov rbx, rsi
mov rdx, rsi
mov rbp, r12
mov r8, r12
xor r9d, r9d
call fcn.1400a1cc0
mov r12d, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x70], xmm0
rol r14d, 0x1e
add r14d, dword [rsp + 0x34]
mov dword [rsp + 0x20], r14d
mov esi, dword [rsp + 0x4c]
mov dword [rsp + 0x24], esi
mov r14d, dword [rsp + 0x40]
mov dword [rsp + 0x28], r14d
mov edi, dword [rsp + 0x68]
mov dword [rsp + 0x2c], edi
mov rcx, r15
mov rdx, rbx
mov r8, rbp
xor r9d, r9d
call fcn.1400a1cc0
mov ecx, dword [rsp + 0x88]
mov r8, qword [rsp + 0xf0]
xor r8d, ecx
mov eax, dword [rsp + 0x44]
mov edx, dword [rsp + 0x84]
xor edx, eax
xor ecx, dword [rsp + 0x48]
mov ebp, r13d
xor ebp, esi
xor ebp, r8d
rol ebp, 1
mov ebx, dword [rsp + 0x8c]
mov r15d, ebx
xor r15d, r14d
xor r15d, edx
mov r13d, dword [rsp + 0x60]
xor r13d, edi
xor r13d, ecx
rol r12d, 0x1e
add r12d, ebp
mov dword [rsp + 0x20], r12d
mov r12d, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
mov esi, eax
mov r14d, dword [rsp + 0x64]
xor esi, r14d
rol r15d, 1
rol r13d, 1
xor esi, dword [rsp + 0x38]
xor esi, ebp
rol esi, 1
movaps xmmword [rsp + 0x70], xmm0
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x2c], esi
mov dword [rsp + 0x44], esi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
xor r9d, r9d
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x84], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x48]
mov r8d, dword [rsp + 0x30]
xor ecx, r8d
mov eax, r14d
mov r9d, dword [rsp + 0x3c]
xor eax, r9d
mov r14d, dword [rsp + 0x6c]
xor r8d, r14d
xor r9d, ebx
xor ecx, dword [rsp + 0x34]
xor ecx, r15d
rol ecx, 1
mov dword [rsp + 0x48], ecx
xor eax, dword [rsp + 0x4c]
xor eax, r13d
rol eax, 1
mov edx, eax
mov eax, r8d
xor eax, dword [rsp + 0x40]
xor eax, esi
rol eax, 1
mov r8d, eax
mov dword [rsp + 0x30], eax
mov eax, r9d
xor eax, edi
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x3c], eax
movaps xmmword [rsp + 0x70], xmm0
rol r12d, 0x1e
add r12d, ecx
mov dword [rsp + 0x20], r12d
mov dword [rsp + 0x24], edx
mov r12d, edx
mov dword [rsp + 0x64], edx
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x88], eax
movaps xmm0, xmmword [rsp + 0x50]
mov edi, dword [rsp + 0x60]
xor r14d, edi
mov esi, dword [rsp + 0x38]
xor ebx, esi
xor edi, dword [rsp + 0x34]
xor esi, dword [rsp + 0x4c]
xor r14d, ebp
xor r14d, r12d
rol r14d, 1
mov dword [rsp + 0x6c], r14d
xor ebx, r15d
xor ebx, dword [rsp + 0x30]
rol ebx, 1
xor edi, r13d
xor edi, dword [rsp + 0x3c]
rol edi, 1
xor esi, dword [rsp + 0x44]
xor esi, r14d
rol esi, 1
movaps xmmword [rsp + 0x70], xmm0
mov eax, dword [rsp + 0x84]
rol eax, 0x1e
add eax, r14d
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x2c], esi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x40]
xor ecx, r12d
mov eax, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x68]
xor eax, edx
xor r12d, ebp
xor edx, r15d
xor ecx, dword [rsp + 0x48]
xor ecx, ebx
rol ecx, 1
mov r14d, dword [rsp + 0x64]
xor eax, r14d
xor eax, edi
rol eax, 1
mov r8d, eax
xor r12d, dword [rsp + 0x30]
xor r12d, esi
rol r12d, 1
mov r9d, r12d
mov dword [rsp + 0x40], r12d
mov eax, edx
xor eax, dword [rsp + 0x3c]
mov dword [rsp + 0x34], ecx
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x68], eax
movaps xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x88]
rol edx, 0x1e
add edx, ecx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], r8d
mov r12d, r8d
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], eax
movaps xmm0, xmmword [rsp + 0x50]
xor ebp, r13d
mov eax, dword [rsp + 0x44]
xor r15d, eax
xor r13d, dword [rsp + 0x48]
xor eax, r14d
mov r14d, dword [rsp + 0x6c]
xor ebp, r14d
xor ebp, r12d
rol ebp, 1
xor r15d, ebx
xor r15d, dword [rsp + 0x40]
rol r15d, 1
xor r13d, edi
xor r13d, dword [rsp + 0x68]
rol r13d, 1
xor eax, esi
xor eax, ebp
rol eax, 1
mov dword [rsp + 0x44], eax
movaps xmmword [rsp + 0x70], xmm0
mov ecx, dword [rsp + 0x38]
rol ecx, 0x1e
add ecx, ebp
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x48]
mov edx, dword [rsp + 0x30]
xor ecx, edx
mov eax, dword [rsp + 0x64]
mov r8d, dword [rsp + 0x3c]
xor eax, r8d
xor edx, r14d
xor r8d, ebx
xor ecx, dword [rsp + 0x34]
xor ecx, r15d
rol ecx, 1
mov r9d, ecx
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x4c], r12d
xor eax, r12d
xor eax, r13d
rol eax, 1
mov ecx, eax
mov dword [rsp + 0x64], eax
mov eax, edx
xor eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x44]
rol eax, 1
mov edx, eax
mov dword [rsp + 0x30], eax
mov eax, r8d
xor eax, dword [rsp + 0x68]
xor eax, r9d
rol eax, 1
mov dword [rsp + 0x3c], eax
movaps xmmword [rsp + 0x70], xmm0
mov r8d, dword [rsp + 0x60]
rol r8d, 0x1e
add r8d, r9d
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 1
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], eax
movaps xmm0, xmmword [rsp + 0x50]
xor r14d, edi
xor ebx, esi
xor edi, dword [rsp + 0x34]
xor esi, r12d
xor r14d, ebp
xor r14d, dword [rsp + 0x64]
rol r14d, 1
mov dword [rsp + 0x6c], r14d
xor ebx, r15d
xor ebx, dword [rsp + 0x30]
rol ebx, 1
xor edi, r13d
xor edi, dword [rsp + 0x3c]
rol edi, 1
xor esi, dword [rsp + 0x44]
xor esi, r14d
rol esi, 1
movaps xmmword [rsp + 0x70], xmm0
mov eax, dword [rsp + 0x38]
rol eax, 0x1e
add eax, r14d
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x2c], esi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov r12d, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x34]
xor ecx, r12d
mov eax, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x68]
xor eax, edx
xor r12d, ebp
xor edx, r15d
xor ecx, dword [rsp + 0x48]
xor ecx, ebx
rol ecx, 1
mov r14d, dword [rsp + 0x64]
xor eax, r14d
xor eax, edi
rol eax, 1
mov dword [rsp + 0x4c], eax
xor r12d, dword [rsp + 0x30]
xor r12d, esi
rol r12d, 1
mov r8d, r12d
mov dword [rsp + 0x40], r12d
mov r12d, edx
xor r12d, dword [rsp + 0x3c]
mov dword [rsp + 0x34], ecx
xor r12d, ecx
rol r12d, 1
movaps xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x60]
rol edx, 0x1e
add edx, ecx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x2c], r12d
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], eax
movaps xmm0, xmmword [rsp + 0x50]
xor ebp, r13d
mov eax, dword [rsp + 0x44]
xor r15d, eax
xor r13d, dword [rsp + 0x48]
xor eax, r14d
mov r14d, dword [rsp + 0x6c]
xor ebp, r14d
xor ebp, dword [rsp + 0x4c]
rol ebp, 1
xor r15d, ebx
xor r15d, dword [rsp + 0x40]
rol r15d, 1
xor r13d, edi
mov dword [rsp + 0x68], r12d
xor r13d, r12d
rol r13d, 1
xor eax, esi
xor eax, ebp
rol eax, 1
mov dword [rsp + 0x44], eax
movaps xmmword [rsp + 0x70], xmm0
mov ecx, dword [rsp + 0x38]
rol ecx, 0x1e
add ecx, ebp
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x30]
xor eax, ecx
mov edx, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x64]
xor r9d, edx
xor ecx, r14d
xor edx, ebx
xor eax, dword [rsp + 0x34]
xor eax, r15d
rol eax, 1
mov r8d, eax
mov dword [rsp + 0x48], eax
mov eax, r9d
mov r14d, dword [rsp + 0x4c]
xor eax, r14d
xor eax, r13d
rol eax, 1
mov r9d, eax
mov eax, ecx
xor eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x44]
rol eax, 1
mov ecx, eax
mov dword [rsp + 0x30], eax
mov eax, edx
xor eax, r12d
xor eax, r8d
rol eax, 1
mov dword [rsp + 0x3c], eax
movaps xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x60]
rol edx, 0x1e
add edx, r8d
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], r9d
mov r12d, r9d
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x6c]
xor eax, edi
xor ebx, esi
xor edi, dword [rsp + 0x34]
xor esi, r14d
xor eax, ebp
xor eax, r12d
mov r14d, r12d
rol eax, 1
mov dword [rsp + 0x6c], eax
xor ebx, r15d
xor ebx, dword [rsp + 0x30]
rol ebx, 1
xor edi, r13d
xor edi, dword [rsp + 0x3c]
rol edi, 1
xor esi, dword [rsp + 0x44]
xor esi, eax
rol esi, 1
movaps xmmword [rsp + 0x70], xmm0
mov ecx, dword [rsp + 0x38]
rol ecx, 0x1e
add ecx, eax
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x2c], esi
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 2
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x40]
xor ecx, edx
mov eax, dword [rsp + 0x4c]
mov r12d, dword [rsp + 0x68]
xor eax, r12d
xor edx, ebp
xor r12d, r15d
mov r9d, r12d
mov r12d, dword [rsp + 0x48]
xor ecx, r12d
xor ecx, ebx
rol ecx, 1
mov dword [rsp + 0x34], ecx
mov dword [rsp + 0x64], r14d
xor eax, r14d
xor eax, edi
rol eax, 1
mov r8d, eax
mov dword [rsp + 0x4c], eax
mov eax, edx
xor eax, dword [rsp + 0x30]
xor eax, esi
rol eax, 1
mov edx, eax
mov dword [rsp + 0x40], eax
mov eax, r9d
xor eax, dword [rsp + 0x3c]
xor eax, ecx
rol eax, 1
mov dword [rsp + 0x68], eax
movaps xmmword [rsp + 0x70], xmm0
mov r9d, dword [rsp + 0x60]
rol r9d, 0x1e
add r9d, ecx
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x24], r8d
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x60], eax
movaps xmm0, xmmword [rsp + 0x50]
xor ebp, r13d
mov eax, dword [rsp + 0x44]
xor r15d, eax
xor r13d, r12d
xor eax, r14d
mov r14d, dword [rsp + 0x6c]
xor ebp, r14d
xor ebp, dword [rsp + 0x4c]
rol ebp, 1
xor r15d, ebx
xor r15d, dword [rsp + 0x40]
rol r15d, 1
xor r13d, edi
xor r13d, dword [rsp + 0x68]
rol r13d, 1
xor eax, esi
xor eax, ebp
rol eax, 1
mov dword [rsp + 0x44], eax
movaps xmmword [rsp + 0x70], xmm0
mov ecx, dword [rsp + 0x38]
rol ecx, 0x1e
add ecx, ebp
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], r15d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x2c], eax
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x38], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x30]
mov edx, r12d
xor edx, eax
mov r12d, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x64]
xor ecx, r12d
xor eax, r14d
xor r12d, ebx
xor edx, dword [rsp + 0x34]
xor edx, r15d
rol edx, 1
mov dword [rsp + 0x48], edx
mov r14d, dword [rsp + 0x4c]
xor ecx, r14d
xor ecx, r13d
rol ecx, 1
mov dword [rsp + 0x64], ecx
xor eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x44]
rol eax, 1
mov dword [rsp + 0x30], eax
xor r12d, dword [rsp + 0x68]
xor r12d, edx
rol r12d, 1
movaps xmmword [rsp + 0x70], xmm0
mov r8d, dword [rsp + 0x60]
rol r8d, 0x1e
add r8d, edx
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], r12d
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.1400a1cc0
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x3c], eax
movaps xmm0, xmmword [rsp + 0x50]
mov eax, dword [rsp + 0x6c]
xor eax, edi
xor ebx, esi
xor edi, dword [rsp + 0x34]
xor esi, r14d
xor eax, ebp
xor eax, dword [rsp + 0x64]
rol eax, 1
xor ebx, r15d
xor ebx, dword [rsp + 0x30]
rol ebx, 1
xor edi, r13d
xor edi, r12d
rol edi, 1
xor esi, dword [rsp + 0x44]
xor esi, eax
rol esi, 1
movaps xmmword [rsp + 0x70], xmm0
mov ecx, dword [rsp + 0x38]
rol ecx, 0x1e
add ecx, eax
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x24], ebx
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x2c], esi
lea r13, [rsp + 0x50]
mov rcx, r13
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.1400a1cc0
mov r14d, dword [rsp + 0x50]
movaps xmm0, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x40]
xor ecx, edx
mov eax, dword [rsp + 0x4c]
mov r8d, dword [rsp + 0x68]
xor eax, r8d
xor ebp, edx
xor r15d, r8d
xor ecx, dword [rsp + 0x48]
xor ecx, ebx
rol ecx, 1
xor eax, dword [rsp + 0x64]
xor eax, edi
rol eax, 1
xor ebp, dword [rsp + 0x30]
xor ebp, esi
rol ebp, 1
xor r15d, r12d
xor r15d, ecx
rol r15d, 1
movaps xmmword [rsp + 0x70], xmm0
mov edx, dword [rsp + 0x3c]
rol edx, 0x1e
add edx, ecx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x2c], r15d
mov rcx, r13
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x20]
mov r9b, 3
call fcn.1400a1cc0
mov r11d, dword [rsp + 0x94]
mov r10d, dword [rsp + 0x90]
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x9c]
movdqa xmm0, xmmword [rsp + 0x50]
add r10d, dword [rsp + 0x50]
rol r14d, 0x1e
pshufd xmm1, xmm0, 0x55
movd eax, xmm1
pshufd xmm1, xmm0, 0xee
movd ecx, xmm1
pshufd xmm0, xmm0, 0xff
movd edx, xmm0
add r11d, eax
add r9d, ecx
add r8d, edx
mov rdx, qword [rsp + 0x100]
add edx, r14d
mov rax, qword [rsp + 0xf8]
mov r12, rax
cmp rax, qword [rsp + 0xe8]
jne 0x1400a239f
mov rax, qword [rsp + 0xe0]
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, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret