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

Disassembly:
sub rsp, 0x68
movd xmm0, dword [rcx + 0x10]
xor eax, eax
movaps xmmword [rsp + 0x10], xmm10
xorps xmm4, xmm4
movaps xmmword [rsp], xmm11
movdqa xmm11, xmmword [0x14027d8b0]
movd xmm1, eax
punpckldq xmm1, xmm0
punpckldq xmm4, xmm1
movdqu xmm0, xmmword [rcx]
pshufd xmm10, xmm0, 0x1b
cmp r8, 0x40
jb 0x1400b9353
movaps xmmword [rsp + 0x50], xmm6
add rdx, 0x20
movaps xmmword [rsp + 0x40], xmm7
movaps xmmword [rsp + 0x30], xmm8
movaps xmmword [rsp + 0x20], xmm9
shr r8, 6
movdqu xmm2, xmmword [rdx - 0x20]
movdqu xmm3, xmmword [rdx - 0x10]
movdqu xmm7, xmmword [rdx]
movdqu xmm6, xmmword [rdx + 0x10]
movdqa xmm1, xmm10
movdqa xmm9, xmm10
pshufb xmm7, xmm11
pshufb xmm6, xmm11
pshufb xmm2, xmm11
pshufb xmm3, xmm11
movdqa xmm0, xmm2
movdqa xmm8, xmm4
paddd xmm0, xmm4
movdqa xmm4, xmm7
sha1rnds4 xmm10, xmm0, 0
sha1nexte xmm1, xmm3
sha1msg1 xmm2, xmm3
movdqa xmm0, xmm10
pxor xmm4, xmm2
sha1rnds4 xmm10, xmm1, 0
sha1nexte xmm0, xmm7
sha1msg1 xmm3, xmm7
sha1msg1 xmm7, xmm6
movdqa xmm1, xmm10
movdqa xmm2, xmm6
sha1rnds4 xmm10, xmm0, 0
sha1nexte xmm1, xmm6
movdqa xmm0, xmm10
pxor xmm2, xmm3
sha1rnds4 xmm10, xmm1, 0
sha1msg2 xmm4, xmm6
sha1nexte xmm0, xmm4
movdqa xmm1, xmm10
pxor xmm7, xmm4
sha1rnds4 xmm10, xmm0, 0
sha1msg2 xmm2, xmm4
sha1nexte xmm1, xmm2
sha1msg2 xmm7, xmm2
movdqa xmm0, xmm10
movdqa xmm3, xmm7
sha1rnds4 xmm10, xmm1, 1
sha1nexte xmm0, xmm7
movdqa xmm1, xmm10
sha1rnds4 xmm10, xmm0, 1
sha1msg1 xmm6, xmm4
pxor xmm6, xmm2
movdqa xmm0, xmm10
sha1msg2 xmm6, xmm7
sha1nexte xmm1, xmm6
sha1rnds4 xmm10, xmm1, 1
sha1msg1 xmm4, xmm2
sha1msg1 xmm2, xmm7
sha1msg1 xmm7, xmm6
movdqa xmm1, xmm10
movdqa xmm5, xmm6
pxor xmm5, xmm2
pxor xmm3, xmm4
sha1msg2 xmm3, xmm6
sha1nexte xmm0, xmm3
sha1rnds4 xmm10, xmm0, 1
sha1msg2 xmm5, xmm3
sha1nexte xmm1, xmm5
movdqa xmm0, xmm10
pxor xmm7, xmm3
sha1msg2 xmm7, xmm5
sha1rnds4 xmm10, xmm1, 1
sha1msg1 xmm6, xmm3
sha1nexte xmm0, xmm7
movdqa xmm1, xmm10
pxor xmm6, xmm5
sha1msg2 xmm6, xmm7
sha1msg1 xmm3, xmm5
movdqa xmm2, xmm7
sha1rnds4 xmm10, xmm0, 2
sha1nexte xmm1, xmm6
pxor xmm2, xmm3
movdqa xmm0, xmm10
sha1msg1 xmm5, xmm7
sha1rnds4 xmm10, xmm1, 2
sha1msg2 xmm2, xmm6
sha1msg1 xmm7, xmm6
lea rdx, [rdx + 0x40]
movdqa xmm1, xmm10
pxor xmm7, xmm2
movdqa xmm4, xmm6
pxor xmm4, xmm5
sha1nexte xmm0, xmm2
sha1rnds4 xmm10, xmm0, 2
movdqa xmm0, xmm10
sha1msg2 xmm4, xmm2
sha1nexte xmm1, xmm4
sha1rnds4 xmm10, xmm1, 2
movdqa xmm1, xmm10
sha1msg1 xmm6, xmm2
pxor xmm6, xmm4
sha1msg2 xmm7, xmm4
movdqa xmm3, xmm7
sha1msg2 xmm6, xmm7
sha1nexte xmm0, xmm7
sha1rnds4 xmm10, xmm0, 2
movdqa xmm0, xmm10
sha1nexte xmm1, xmm6
sha1rnds4 xmm10, xmm1, 3
movdqa xmm1, xmm10
sha1msg1 xmm2, xmm4
pxor xmm3, xmm2
movdqa xmm2, xmm6
sha1msg1 xmm4, xmm7
pxor xmm2, xmm4
sha1msg2 xmm3, xmm6
sha1msg1 xmm7, xmm6
pxor xmm7, xmm3
sha1nexte xmm0, xmm3
sha1rnds4 xmm10, xmm0, 3
movdqa xmm0, xmm10
sha1msg2 xmm2, xmm3
sha1nexte xmm1, xmm2
sha1rnds4 xmm10, xmm1, 3
movdqa xmm1, xmm10
sha1msg1 xmm6, xmm3
pxor xmm6, xmm2
sha1msg2 xmm7, xmm2
sha1nexte xmm0, xmm7
sha1rnds4 xmm10, xmm0, 3
movdqa xmm4, xmm10
sha1msg2 xmm6, xmm7
sha1nexte xmm1, xmm6
sha1rnds4 xmm10, xmm1, 3
paddd xmm10, xmm9
sha1nexte xmm4, xmm8
sub r8, 1
jne 0x1400b90e0
movaps xmm9, xmmword [rsp + 0x20]
movaps xmm8, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm11, xmmword [rsp]
pshufd xmm0, xmm10, 0x1b
movaps xmm10, xmmword [rsp + 0x10]
movdqu xmmword [rcx], xmm0
pextrd dword [rcx + 0x10], xmm4, 3
add rsp, 0x68
ret
push rbx
push rdi
sub rsp, 0xd8
mov rax, qword gs:[0x58]
mov rdi, rcx
mov qword [rsp + 0xa0], rcx
mov rbx, r8
mov ecx, dword [0x140442618]
mov r8d, 0x1c
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x80], rdx
mov rax, qword [rax + rcx*8]
mov ecx, dword [r8 + rax]
cmp dword [0x1403c8624], ecx
jg 0x1400bbc22
jmp 0x1400ba848
mov rdx, qword [rsp + 0x80]
cmp byte [0x1403c8620], 0
je 0x1400ba865
mov r8, rbx
mov rcx, rdi
add rsp, 0xd8
pop rdi
pop rbx
jmp 0x1400b9080
mov r10d, dword [rdi]
mov r9d, dword [rdi + 4]
mov r11d, dword [rdi + 0x10]
mov qword [rsp + 0x108], rbp
mov ebp, dword [rdi + 0xc]
mov qword [rsp + 0xd0], rsi
mov esi, dword [rdi + 8]
mov dword [rsp + 0x6c], r10d
mov dword [rsp + 0x70], r9d
cmp rbx, 0x40
jb 0x1400bbbf7
mov qword [rsp + 0xc8], r12
mov qword [rsp + 0xc0], r13
shr rbx, 6
mov qword [rsp + 0xb8], r14
mov rdi, rbx
mov qword [rsp + 0xb0], r15
movups xmm1, xmmword [rdx]
mov ebx, r9d
mov dword [rsp + 0x78], r11d
movups xmm2, xmmword [rdx + 0x10]
rol ebx, 0x1e
mov r8d, ebp
movups xmm3, xmmword [rdx + 0x20]
xor r8d, esi
mov ecx, ebx
movups xmm4, xmmword [rdx + 0x30]
and r8d, r9d
mov dword [rsp + 0x88], esi
movq rax, xmm1
mov dword [rsp + 0x8c], ebp
mov edx, eax
xor r8d, ebp
rol eax, 8
movdqa xmm0, xmm1
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
psrldq xmm0, 4
or edx, eax
mov r9d, esi
mov eax, r10d
mov dword [rsp + 0x5c], edx
rol eax, 5
add edx, 0x5a827999
add eax, edx
xor r9d, ebx
add r8d, eax
and r9d, r10d
add r8d, r11d
movd eax, xmm0
xor r9d, esi
movdqa xmm0, xmm1
psrldq xmm0, 8
mov edx, eax
psrldq xmm1, 0xc
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, r8d
rol eax, 5
mov dword [rsp + 0x60], edx
add edx, 0x5a827999
add eax, edx
mov edx, r10d
add r9d, eax
rol edx, 0x1e
xor ecx, edx
movq rax, xmm0
mov r10d, eax
and ecx, r8d
rol eax, 8
add r9d, ebp
and eax, 0xff00ff
rol r10d, 0x18
and r10d, 0xff00ff00
rol r8d, 0x1e
or r10d, eax
xor ecx, ebx
mov dword [rsp + 0x34], r10d
mov eax, r9d
rol eax, 5
add eax, 0x5a827999
add r10d, eax
movd eax, xmm1
add r10d, ecx
add r10d, esi
mov r11d, eax
rol eax, 8
rol r11d, 0x18
and eax, 0xff00ff
and r11d, 0xff00ff00
or r11d, eax
mov eax, r10d
rol eax, 5
mov dword [rsp + 0x40], r11d
add r11d, 0x5a827999
mov ecx, r8d
xor ecx, edx
add eax, r11d
and ecx, r9d
movdqa xmm0, xmm2
xor ecx, edx
rol r9d, 0x1e
add ecx, eax
psrldq xmm0, 4
add ebx, ecx
movq rax, xmm2
mov r11d, eax
mov ecx, r8d
rol eax, 8
xor ecx, r9d
and eax, 0xff00ff
rol r11d, 0x18
and ecx, r10d
and r11d, 0xff00ff00
or r11d, eax
rol r10d, 0x1e
xor ecx, r8d
mov dword [rsp + 0x58], r11d
add ecx, 0x5a827999
mov eax, ebx
rol eax, 5
add r11d, eax
movd eax, xmm0
add r11d, ecx
movdqa xmm0, xmm2
add r11d, edx
psrldq xmm0, 8
mov edx, eax
psrldq xmm2, 0xc
rol eax, 8
mov ecx, r9d
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
xor ecx, r10d
or edx, eax
and ecx, ebx
mov dword [rsp + 0x54], edx
xor ecx, r9d
add edx, 0x5a827999
rol ebx, 0x1e
mov eax, r11d
rol eax, 5
add eax, edx
add ecx, eax
movq rax, xmm0
mov edx, eax
add r8d, ecx
rol eax, 8
mov ecx, r10d
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
xor ecx, ebx
or edx, eax
and ecx, r11d
mov dword [rsp + 0x30], edx
xor ecx, r10d
add edx, 0x5a827999
rol r11d, 0x1e
mov eax, r8d
rol eax, 5
add eax, edx
add ecx, eax
movd eax, xmm2
add r9d, ecx
mov edx, eax
rol eax, 8
rol edx, 0x18
and eax, 0xff00ff
and edx, 0xff00ff00
or edx, eax
mov eax, r9d
rol eax, 5
mov dword [rsp + 0x64], edx
add edx, eax
mov ecx, ebx
xor ecx, r11d
movd eax, xmm3
and ecx, r8d
movdqa xmm0, xmm3
xor ecx, ebx
rol r8d, 0x1e
mov r14d, eax
psrldq xmm0, 4
rol eax, 8
add ecx, 0x5a827999
and eax, 0xff00ff
rol r14d, 0x18
add edx, ecx
and r14d, 0xff00ff00
or r14d, eax
add edx, r10d
mov eax, edx
mov dword [rsp + 0x68], r14d
rol eax, 5
mov ecx, r8d
add eax, 0x5a827999
xor ecx, r11d
add eax, r14d
and ecx, r9d
xor ecx, r11d
rol r9d, 0x1e
add ecx, eax
mov esi, r9d
add ebx, ecx
movd eax, xmm0
movdqa xmm0, xmm3
mov ecx, r8d
xor ecx, r9d
psrldq xmm0, 8
mov r10d, eax
psrldq xmm3, 0xc
rol eax, 8
and ecx, edx
and eax, 0xff00ff
rol r10d, 0x18
and r10d, 0xff00ff00
rol edx, 0x1e
or r10d, eax
xor esi, edx
and esi, ebx
mov dword [rsp + 0x28], r10d
xor esi, r9d
mov eax, ebx
rol eax, 5
xor ecx, r8d
add eax, 0x5a827999
rol ebx, 0x1e
add eax, r10d
add ecx, eax
movd eax, xmm0
add r11d, ecx
mov r13d, eax
rol eax, 8
and eax, 0xff00ff
rol r13d, 0x18
and r13d, 0xff00ff00
or r13d, eax
mov eax, r11d
rol eax, 5
add eax, 0x5a827999
mov dword [rsp + 0x3c], r13d
add eax, r13d
add esi, eax
movd eax, xmm3
add esi, r8d
mov ebp, eax
rol eax, 8
rol ebp, 0x18
and eax, 0xff00ff
and ebp, 0xff00ff00
or ebp, eax
mov eax, esi
rol eax, 5
mov dword [rsp + 0x2c], ebp
add eax, 0x5a827999
mov r8d, edx
add eax, ebp
xor r8d, ebx
and r8d, r11d
movdqa xmm0, xmm4
xor r8d, edx
rol r11d, 0x1e
add r8d, eax
psrldq xmm0, 4
add r8d, r9d
movd eax, xmm4
mov r9d, ebx
xor r9d, r11d
mov r12d, eax
and r9d, esi
rol eax, 8
xor r9d, ebx
and eax, 0xff00ff
rol esi, 0x1e
rol r12d, 0x18
mov r10d, esi
xor r10d, r11d
and r12d, 0xff00ff00
or r12d, eax
and r10d, r8d
xor r10d, r11d
mov dword [rsp + 0x4c], r12d
mov eax, r8d
mov ecx, esi
rol eax, 5
add eax, 0x5a827999
rol r8d, 0x1e
add eax, r12d
xor ecx, r8d
add r9d, eax
movd eax, xmm0
add r9d, edx
movdqa xmm0, xmm4
and ecx, r9d
psrldq xmm0, 8
mov r15d, eax
psrldq xmm4, 0xc
rol eax, 8
xor ecx, esi
and eax, 0xff00ff
rol r15d, 0x18
and r15d, 0xff00ff00
add ecx, 0x5a827999
or r15d, eax
mov eax, r9d
rol eax, 5
add eax, 0x5a827999
rol r9d, 0x1e
add eax, r15d
mov dword [rsp + 0x50], r15d
add r10d, eax
movd eax, xmm0
add r10d, ebx
mov edx, eax
rol eax, 8
and eax, 0xff00ff
rol edx, 0x18
and edx, 0xff00ff00
or edx, eax
mov eax, r10d
rol eax, 5
mov dword [rsp + 0x20], edx
add edx, eax
movd eax, xmm4
add edx, ecx
add edx, r11d
mov r11d, eax
rol eax, 8
rol r11d, 0x18
and eax, 0xff00ff
and r11d, 0xff00ff00
or r11d, eax
mov eax, edx
rol eax, 5
mov dword [rsp + 0x24], r11d
add eax, 0x5a827999
mov ebx, r8d
add eax, r11d
xor ebx, r9d
xor r11d, r13d
and ebx, r10d
xor r11d, dword [rsp + 0x58]
xor ebx, r8d
xor r11d, dword [rsp + 0x34]
add ebx, eax
add ebx, esi
rol r10d, 0x1e
mov ecx, r9d
rol r11d, 1
xor ecx, r10d
mov dword [rsp + 0x48], r11d
and ecx, edx
mov eax, ebx
xor ecx, r9d
rol eax, 5
add eax, 0x5a827999
rol edx, 0x1e
mov esi, r15d
mov r13d, ebp
xor r13d, dword [rsp + 0x54]
xor esi, r14d
xor esi, dword [rsp + 0x34]
xor esi, dword [rsp + 0x5c]
xor r13d, dword [rsp + 0x40]
mov r14d, dword [rsp + 0x20]
xor r14d, dword [rsp + 0x28]
xor r14d, dword [rsp + 0x40]
xor r14d, dword [rsp + 0x60]
rol esi, 1
add eax, esi
mov dword [rsp + 0x44], esi
add ecx, eax
rol r14d, 1
add r8d, ecx
mov dword [rsp + 0x38], r14d
xor r13d, esi
mov eax, r8d
rol eax, 5
mov ecx, r10d
xor ecx, edx
rol r13d, 1
and ecx, ebx
add eax, 0x5a827999
xor ecx, r10d
rol ebx, 0x1e
add eax, r14d
mov esi, r12d
xor esi, dword [rsp + 0x30]
add ecx, eax
xor esi, dword [rsp + 0x58]
add r9d, ecx
mov eax, r9d
mov ecx, ebx
xor ecx, edx
rol eax, 5
and ecx, r8d
add eax, 0x5a827999
xor ecx, edx
rol r8d, 0x1e
add eax, r11d
xor esi, r14d
add ecx, eax
add r10d, ecx
mov ecx, ebx
xor ecx, r8d
mov eax, r10d
rol eax, 5
and ecx, r9d
add eax, 0x5a827999
rol r9d, 0x1e
add eax, r13d
xor ecx, ebx
add ecx, eax
add edx, ecx
rol esi, 1
mov eax, edx
mov r12d, dword [rsp + 0x24]
mov r14d, r15d
xor r12d, dword [rsp + 0x28]
mov ecx, r8d
xor r14d, dword [rsp + 0x64]
xor ecx, r9d
xor r14d, dword [rsp + 0x54]
xor ecx, r10d
xor r12d, dword [rsp + 0x64]
xor r14d, r11d
mov r15d, dword [rsp + 0x20]
xor r12d, esi
xor r15d, dword [rsp + 0x68]
xor r15d, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x3c]
xor r15d, r13d
xor ebp, dword [rsp + 0x68]
rol eax, 5
add eax, 0x6ed9eba1
rol r10d, 0x1e
add eax, esi
rol r14d, 1
add ecx, eax
rol r15d, 1
add ebx, ecx
rol r12d, 1
mov ecx, r9d
mov eax, ebx
rol eax, 5
xor ecx, r10d
xor ecx, edx
add eax, 0x6ed9eba1
add eax, r14d
rol edx, 0x1e
add ecx, eax
xor ebp, r14d
xor ebp, dword [rsp + 0x44]
add r8d, ecx
mov eax, r8d
rol ebp, 1
rol eax, 5
mov ecx, ebx
add eax, 0x6ed9eba1
rol ebx, 0x1e
xor ecx, r10d
add eax, r15d
xor ecx, edx
mov r11d, ebx
add ecx, eax
add r9d, ecx
mov ecx, ebx
xor ecx, r8d
mov eax, r9d
xor ecx, edx
rol eax, 5
add eax, 0x6ed9eba1
rol r8d, 0x1e
add eax, r12d
add edx, 0x6ed9eba1
add ecx, eax
xor r11d, r8d
add r10d, ecx
xor r11d, r9d
rol r9d, 0x1e
mov eax, r10d
rol eax, 5
mov ecx, r8d
add eax, ebp
xor ecx, r9d
add r11d, eax
xor ecx, r10d
add r11d, edx
mov edx, dword [rsp + 0x2c]
xor edx, dword [rsp + 0x28]
mov eax, r11d
xor edx, r15d
rol eax, 5
xor edx, dword [rsp + 0x38]
rol edx, 1
mov dword [rsp + 0x28], edx
add edx, eax
add edx, ecx
rol r10d, 0x1e
add ebx, 0x6ed9eba1
add r8d, 0x6ed9eba1
add edx, ebx
mov ecx, r9d
mov ebx, dword [rsp + 0x4c]
xor ecx, r10d
xor ebx, dword [rsp + 0x3c]
xor ecx, r11d
rol r11d, 0x1e
add r9d, 0x6ed9eba1
xor ebx, r12d
mov eax, edx
xor ebx, dword [rsp + 0x48]
rol eax, 5
rol ebx, 1
mov dword [rsp + 0x30], ebx
add ebx, eax
add ebx, ecx
mov ecx, edx
xor ecx, r10d
rol edx, 0x1e
xor ecx, r11d
add ebx, r8d
mov r8d, dword [rsp + 0x50]
add r10d, 0x6ed9eba1
xor r8d, dword [rsp + 0x2c]
mov eax, ebx
rol eax, 5
xor r8d, ebp
xor r8d, r13d
rol r8d, 1
mov dword [rsp + 0x2c], r8d
add r8d, eax
add r8d, ecx
mov ecx, edx
add r8d, r9d
xor ecx, ebx
mov r9d, dword [rsp + 0x20]
xor ecx, r11d
xor r9d, dword [rsp + 0x4c]
add r11d, 0x6ed9eba1
xor r9d, dword [rsp + 0x28]
mov eax, r8d
rol eax, 5
xor r9d, esi
rol r9d, 1
mov dword [rsp + 0x4c], r9d
add r9d, eax
add r9d, ecx
rol ebx, 0x1e
add r9d, r10d
mov ecx, edx
mov r10d, dword [rsp + 0x24]
xor ecx, ebx
xor r10d, dword [rsp + 0x50]
xor ecx, r8d
xor r10d, dword [rsp + 0x30]
mov eax, r9d
xor r10d, r14d
rol eax, 5
rol r10d, 1
mov dword [rsp + 0x3c], r10d
add r10d, eax
add r10d, ecx
rol r8d, 0x1e
add r10d, r11d
mov ecx, ebx
mov r11d, dword [rsp + 0x20]
xor ecx, r8d
xor r11d, dword [rsp + 0x2c]
mov eax, r10d
xor r11d, r15d
rol eax, 5
xor r11d, dword [rsp + 0x44]
xor ecx, r9d
rol r11d, 1
mov dword [rsp + 0x20], r11d
add r11d, eax
add r11d, ecx
rol r9d, 0x1e
add edx, 0x6ed9eba1
add r11d, edx
add ebx, 0x6ed9eba1
mov edx, dword [rsp + 0x24]
mov ecx, r8d
xor edx, dword [rsp + 0x4c]
xor ecx, r9d
xor ecx, r10d
add r8d, 0x6ed9eba1
rol r10d, 0x1e
xor edx, r12d
xor edx, dword [rsp + 0x38]
mov eax, r11d
rol eax, 5
rol edx, 1
mov dword [rsp + 0x24], edx
add edx, eax
add edx, ecx
mov ecx, r11d
xor ecx, r9d
rol r11d, 0x1e
xor ecx, r10d
add edx, ebx
mov ebx, dword [rsp + 0x3c]
add r9d, 0x6ed9eba1
xor ebx, ebp
mov eax, edx
xor ebx, dword [rsp + 0x48]
xor ebx, dword [rsp + 0x44]
rol eax, 5
rol ebx, 1
mov dword [rsp + 0x50], ebx
add ebx, eax
add ebx, ecx
mov ecx, r11d
add ebx, r8d
xor ecx, edx
mov r8d, dword [rsp + 0x20]
xor ecx, r10d
xor r8d, dword [rsp + 0x28]
add r10d, 0x6ed9eba1
xor r8d, r13d
rol edx, 0x1e
xor r8d, dword [rsp + 0x38]
mov eax, ebx
rol eax, 5
rol r8d, 1
mov dword [rsp + 0x34], r8d
add r8d, eax
add r8d, ecx
mov ecx, r11d
add r8d, r9d
xor ecx, edx
mov r9d, dword [rsp + 0x24]
xor ecx, ebx
xor r9d, dword [rsp + 0x30]
mov eax, r8d
xor r9d, esi
rol eax, 5
xor r9d, dword [rsp + 0x48]
rol r9d, 1
mov dword [rsp + 0x48], r9d
add r9d, eax
add r9d, ecx
rol ebx, 0x1e
add r9d, r10d
mov ecx, edx
mov r10d, dword [rsp + 0x50]
xor ecx, ebx
xor r10d, dword [rsp + 0x2c]
xor ecx, r8d
xor r10d, r14d
mov eax, r9d
xor r10d, r13d
rol eax, 5
rol r10d, 1
mov dword [rsp + 0x38], r10d
add r10d, eax
add r10d, ecx
add r11d, 0x6ed9eba1
mov r13d, dword [rsp + 0x4c]
add r10d, r11d
mov r11d, dword [rsp + 0x34]
add edx, 0x6ed9eba1
xor r11d, r13d
rol r8d, 0x1e
xor r11d, r15d
mov ecx, ebx
xor ecx, r8d
xor r11d, esi
mov esi, dword [rsp + 0x38]
xor ecx, r9d
xor esi, dword [rsp + 0x20]
mov eax, r10d
rol eax, 5
xor esi, ebp
xor esi, r15d
rol r11d, 1
mov dword [rsp + 0x54], r11d
add r11d, eax
add r11d, ecx
rol r9d, 0x1e
add r11d, edx
rol esi, 1
mov edx, dword [rsp + 0x48]
mov eax, r11d
xor edx, dword [rsp + 0x3c]
mov ecx, r10d
xor ecx, r8d
rol eax, 5
xor ecx, r9d
rol r10d, 0x1e
add eax, 0x6ed9eba1
mov dword [rsp + 0x58], esi
xor edx, r12d
xor edx, r14d
mov r14d, dword [rsp + 0x54]
xor r14d, dword [rsp + 0x24]
xor r14d, dword [rsp + 0x28]
rol edx, 1
xor r14d, r12d
mov r12d, dword [rsp + 0x50]
add eax, edx
add ecx, eax
rol r14d, 1
add ebx, ecx
mov dword [rsp + 0x40], r14d
add r14d, 0x6ed9eba1
mov dword [rsp + 0x4c], edx
mov r15d, edx
mov eax, ebx
rol eax, 5
xor r15d, r12d
add eax, 0x6ed9eba1
mov ecx, r10d
xor ecx, r11d
add eax, esi
xor ecx, r9d
rol r11d, 0x1e
add ecx, eax
add r8d, ecx
mov ecx, r10d
xor ecx, r11d
mov eax, r8d
xor ecx, ebx
rol eax, 5
add eax, r14d
rol ebx, 0x1e
mov r14d, dword [rsp + 0x30]
add ecx, eax
add r9d, ecx
xor r15d, r14d
xor r15d, ebp
mov edx, r9d
rol r15d, 1
mov ecx, ebx
rol edx, 5
or ecx, r8d
and ecx, r11d
mov dword [rsp + 0x30], r15d
mov eax, ebx
mov ebp, dword [rsp + 0x34]
and eax, r8d
or ecx, eax
rol r8d, 0x1e
add ecx, r15d
mov eax, esi
mov r15d, dword [rsp + 0x2c]
add ecx, r10d
mov esi, dword [rsp + 0x40]
lea r10d, [rdx - 0x70e44324]
xor esi, dword [rsp + 0x48]
add r10d, ecx
xor eax, ebp
mov ecx, r8d
xor eax, r15d
or ecx, r9d
xor eax, dword [rsp + 0x28]
and ecx, ebx
rol eax, 1
xor esi, r13d
mov dword [rsp + 0x44], eax
xor esi, r14d
mov r14d, dword [rsp + 0x38]
mov eax, r8d
and eax, r9d
rol esi, 1
or ecx, eax
rol r9d, 0x1e
add ecx, dword [rsp + 0x44]
mov edx, r10d
add ecx, r11d
rol edx, 5
mov eax, r10d
mov dword [rsp + 0x2c], esi
and eax, r9d
lea r11d, [rdx - 0x70e44324]
add r11d, ecx
mov ecx, r10d
or ecx, r9d
rol r10d, 0x1e
and ecx, r8d
mov edx, r11d
or ecx, eax
rol edx, 5
mov eax, dword [rsp + 0x30]
add ecx, esi
xor eax, r14d
add ecx, ebx
xor eax, dword [rsp + 0x3c]
xor eax, r15d
lea ebx, [rdx - 0x70e44324]
add ebx, ecx
rol eax, 1
mov dword [rsp + 0x28], eax
mov ecx, r10d
mov r15d, dword [rsp + 0x28]
or ecx, r11d
and ecx, r9d
mov eax, r10d
and eax, r11d
mov edx, ebx
or ecx, eax
rol edx, 5
mov eax, dword [rsp + 0x44]
add ecx, r15d
xor eax, dword [rsp + 0x54]
add ecx, r8d
xor eax, dword [rsp + 0x20]
lea r8d, [rdx - 0x70e44324]
rol r11d, 0x1e
add r8d, ecx
xor eax, r13d
rol eax, 1
mov ecx, r11d
or ecx, ebx
mov dword [rsp + 0x38], eax
mov edx, r8d
and ecx, r10d
mov eax, r11d
rol edx, 5
and eax, ebx
xor r15d, dword [rsp + 0x58]
or ecx, eax
add ecx, dword [rsp + 0x38]
mov r13d, esi
xor r13d, dword [rsp + 0x4c]
add ecx, r9d
xor r13d, dword [rsp + 0x24]
lea r9d, [rdx - 0x70e44324]
xor r13d, dword [rsp + 0x3c]
add r9d, ecx
mov esi, dword [rsp + 0x38]
xor r15d, r12d
xor esi, dword [rsp + 0x40]
mov edx, r9d
xor r15d, dword [rsp + 0x20]
xor esi, ebp
xor esi, dword [rsp + 0x24]
rol edx, 5
rol ebx, 0x1e
rol r13d, 1
mov ecx, ebx
or ecx, r8d
mov dword [rsp + 0x34], r13d
and ecx, r11d
rol r15d, 1
mov eax, ebx
rol esi, 1
and eax, r8d
mov dword [rsp + 0x50], r15d
or ecx, eax
rol r8d, 0x1e
add ecx, r13d
mov dword [rsp + 0x3c], esi
xor r13d, dword [rsp + 0x30]
add ecx, r10d
xor r13d, dword [rsp + 0x48]
lea r10d, [rdx - 0x70e44324]
add r10d, ecx
mov eax, r8d
and eax, r9d
mov ecx, r8d
or ecx, r9d
mov edx, r10d
and ecx, ebx
rol edx, 5
or ecx, eax
rol r9d, 0x1e
add ecx, r15d
mov eax, r10d
add ecx, r11d
and eax, r9d
lea r11d, [rdx - 0x70e44324]
xor r13d, r12d
add r11d, ecx
rol r13d, 1
mov ecx, r10d
mov dword [rsp + 0x60], r13d
or ecx, r9d
rol r10d, 0x1e
and ecx, r8d
mov edx, r11d
or ecx, eax
rol edx, 5
add ecx, esi
mov eax, r10d
add ecx, ebx
and eax, r11d
lea ebx, [rdx - 0x70e44324]
add ebx, ecx
mov ecx, r10d
or ecx, r11d
mov edx, ebx
and ecx, r9d
rol edx, 5
or ecx, eax
rol r11d, 0x1e
add ecx, r13d
add ecx, r8d
lea r8d, [rdx - 0x70e44324]
add r8d, ecx
xor r15d, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x54]
xor r15d, r14d
xor r15d, ebp
mov ecx, r11d
or ecx, ebx
rol r15d, 1
and ecx, r10d
mov dword [rsp + 0x5c], r15d
mov ebp, esi
mov eax, r11d
xor ebp, dword [rsp + 0x2c]
and eax, ebx
or ecx, eax
rol ebx, 0x1e
add ecx, r15d
xor ebp, r12d
xor ebp, dword [rsp + 0x48]
add ecx, r9d
rol ebp, 1
mov edx, r8d
rol edx, 5
mov eax, ebx
and eax, r8d
mov dword [rsp + 0x54], ebp
mov esi, r13d
xor esi, dword [rsp + 0x28]
xor esi, dword [rsp + 0x4c]
lea r9d, [rdx - 0x70e44324]
add r9d, ecx
xor esi, r14d
mov r14d, dword [rsp + 0x58]
mov ecx, ebx
or ecx, r8d
rol esi, 1
and ecx, r11d
mov dword [rsp + 0x24], esi
or ecx, eax
rol r8d, 0x1e
add ecx, ebp
mov edx, r9d
add ecx, r10d
rol edx, 5
mov eax, r8d
and eax, r9d
lea r10d, [rdx - 0x70e44324]
add r10d, ecx
mov ecx, r8d
or ecx, r9d
mov edx, r10d
and ecx, ebx
rol edx, 5
or ecx, eax
rol r9d, 0x1e
add ecx, esi
mov eax, r10d
add ecx, r11d
mov esi, r15d
xor esi, dword [rsp + 0x38]
lea r11d, [rdx - 0x70e44324]
add r11d, ecx
xor esi, r14d
xor esi, r12d
mov ecx, r10d
mov r12d, dword [rsp + 0x40]
or ecx, r9d
rol esi, 1
and ecx, r8d
mov dword [rsp + 0x20], esi
and eax, r9d
or ecx, eax
rol r10d, 0x1e
add esi, ecx
add ebx, 0x8f1bbcdc
add esi, ebx
mov edx, r11d
rol edx, 5
mov r15d, ebp
xor r15d, dword [rsp + 0x34]
add esi, edx
xor r15d, r12d
xor r15d, dword [rsp + 0x4c]
mov ebx, dword [rsp + 0x24]
add r8d, 0x8f1bbcdc
xor ebx, dword [rsp + 0x50]
mov ecx, r10d
mov r13d, dword [rsp + 0x20]
or ecx, r11d
xor r13d, dword [rsp + 0x3c]
and ecx, r9d
xor r13d, dword [rsp + 0x44]
mov eax, r10d
and eax, r11d
rol r15d, 1
or ecx, eax
rol r11d, 0x1e
add ecx, r15d
mov dword [rsp + 0x58], r15d
add ecx, r8d
xor r13d, r12d
mov r8d, dword [rsp + 0x30]
mov ebp, esi
mov r12d, dword [rsp + 0x60]
xor ebx, r8d
xor ebx, r14d
rol ebp, 5
add ebp, ecx
rol ebx, 1
mov dword [rsp + 0x40], ebx
mov r14d, ebp
add ebx, 0x8f1bbcdc
rol r14d, 5
rol r13d, 1
mov ecx, r11d
or ecx, esi
mov dword [rsp + 0x30], r13d
and ecx, r10d
mov eax, r11d
and eax, esi
add r10d, 0x8f1bbcdc
or ecx, eax
rol esi, 0x1e
add ecx, ebx
mov eax, esi
add ecx, r9d
and eax, ebp
add r14d, ecx
mov ecx, esi
or ecx, ebp
mov ebx, r14d
and ecx, r11d
rol ebp, 0x1e
or ecx, eax
rol ebx, 5
add ecx, r13d
mov eax, ebp
add ecx, r10d
and eax, r14d
mov r10d, dword [rsp + 0x2c]
add ebx, ecx
xor r12d, r10d
mov ecx, ebp
or ecx, r14d
xor r12d, r8d
xor r12d, r15d
rol r14d, 0x1e
mov r15d, dword [rsp + 0x5c]
and ecx, esi
xor r15d, dword [rsp + 0x28]
or ecx, eax
xor r15d, dword [rsp + 0x44]
add ecx, 0x8f1bbcdc
xor r15d, dword [rsp + 0x40]
mov r8d, ebx
rol r12d, 1
add ecx, r12d
rol r8d, 5
add ecx, r11d
mov dword [rsp + 0x2c], r12d
add r8d, ecx
rol r15d, 1
mov r9d, r8d
mov dword [rsp + 0x4c], r15d
mov r11d, dword [rsp + 0x24]
add esi, 0x8f1bbcdc
xor r11d, dword [rsp + 0x34]
mov ecx, ebx
xor r11d, dword [rsp + 0x28]
or ecx, r14d
and ecx, ebp
rol r9d, 5
mov eax, ebx
add ebp, 0x8f1bbcdc
and eax, r14d
rol ebx, 0x1e
or ecx, eax
xor r11d, r12d
add ecx, r15d
rol r11d, 1
add ecx, esi
mov dword [rsp + 0x48], r11d
mov esi, dword [rsp + 0x54]
add r9d, ecx
xor esi, dword [rsp + 0x38]
mov ecx, ebx
or ecx, r8d
xor esi, r10d
and ecx, r14d
xor esi, r13d
mov r13d, dword [rsp + 0x3c]
add r14d, 0x8f1bbcdc
xor r13d, dword [rsp + 0x34]
mov eax, ebx
and eax, r8d
rol esi, 1
or ecx, eax
rol r8d, 0x1e
add ecx, esi
mov dword [rsp + 0x44], esi
add ecx, ebp
mov r10d, r9d
mov ebp, dword [rsp + 0x50]
xor r13d, esi
xor r13d, dword [rsp + 0x58]
mov eax, r8d
and eax, r9d
rol r10d, 5
add r10d, ecx
rol r13d, 1
mov ecx, r8d
mov dword [rsp + 0x50], r13d
or ecx, r9d
mov edx, r10d
and ecx, ebx
rol r9d, 0x1e
or ecx, eax
rol edx, 5
add ecx, r11d
mov eax, r8d
add ecx, r14d
xor eax, r9d
mov r14d, dword [rsp + 0x20]
xor eax, r10d
add edx, ecx
rol r10d, 0x1e
xor r14d, ebp
mov ecx, edx
xor r14d, dword [rsp + 0x38]
rol ecx, 5
xor r14d, r15d
rol r14d, 1
add eax, r14d
mov dword [rsp + 0x64], r14d
add eax, ebx
lea ebx, [rcx - 0x359d3e2a]
add ebx, eax
mov eax, r9d
xor eax, r10d
mov ecx, ebx
xor eax, edx
rol ecx, 5
add eax, r13d
add eax, r8d
lea r8d, [rcx - 0x359d3e2a]
mov esi, dword [rsp + 0x60]
add r8d, eax
mov r15d, dword [rsp + 0x54]
mov r12d, esi
xor r12d, ebp
rol edx, 0x1e
mov ebp, dword [rsp + 0x5c]
xor r15d, esi
xor ebp, dword [rsp + 0x3c]
xor r12d, r11d
xor r12d, dword [rsp + 0x40]
mov eax, ebx
mov esi, dword [rsp + 0x24]
xor eax, r10d
xor esi, dword [rsp + 0x5c]
xor eax, edx
mov r11d, dword [rsp + 0x20]
mov ecx, r8d
xor r11d, dword [rsp + 0x54]
xor ebp, r14d
xor ebp, dword [rsp + 0x30]
xor r15d, r13d
xor r15d, dword [rsp + 0x2c]
rol ecx, 5
rol ebx, 0x1e
rol r12d, 1
add eax, r12d
rol ebp, 1
add eax, r9d
rol r15d, 1
lea r9d, [rcx - 0x359d3e2a]
mov dword [rsp + 0x60], r12d
add r9d, eax
mov dword [rsp + 0x3c], ebp
mov eax, ebx
mov dword [rsp + 0x28], r15d
xor eax, r8d
xor esi, r12d
xor esi, dword [rsp + 0x4c]
xor eax, edx
add eax, ebp
rol r8d, 0x1e
add eax, r10d
rol esi, 1
mov ecx, r9d
mov dword [rsp + 0x5c], esi
rol ecx, 5
xor r11d, ebp
xor r11d, dword [rsp + 0x44]
rol r11d, 1
mov dword [rsp + 0x68], r11d
lea r10d, [rcx - 0x359d3e2a]
add r10d, eax
mov eax, ebx
xor eax, r8d
mov ecx, r10d
xor eax, r9d
rol ecx, 5
add eax, r15d
rol r9d, 0x1e
add eax, edx
lea edx, [rcx - 0x359d3e2a]
add edx, eax
mov eax, r8d
xor eax, r9d
mov ecx, edx
xor eax, r10d
rol ecx, 5
add eax, esi
rol r10d, 0x1e
add eax, ebx
lea ebx, [rcx - 0x359d3e2a]
add ebx, eax
mov eax, r9d
xor eax, r10d
mov ecx, ebx
xor eax, edx
rol ecx, 5
add eax, r11d
add eax, r8d
lea r8d, [rcx - 0x359d3e2a]
add r8d, eax
rol edx, 0x1e
mov eax, dword [rsp + 0x24]
mov ecx, r8d
xor eax, r15d
rol ecx, 5
xor eax, dword [rsp + 0x48]
xor eax, dword [rsp + 0x58]
rol eax, 1
mov dword [rsp + 0x24], eax
mov eax, ebx
xor eax, r10d
rol ebx, 0x1e
xor eax, edx
add eax, dword [rsp + 0x24]
add eax, r9d
lea r9d, [rcx - 0x359d3e2a]
add r9d, eax
mov eax, dword [rsp + 0x20]
xor eax, esi
mov ecx, r9d
mov esi, dword [rsp + 0x40]
xor eax, r14d
xor eax, esi
rol ecx, 5
rol eax, 1
mov r14d, r11d
mov dword [rsp + 0x20], eax
xor r14d, r13d
xor r14d, dword [rsp + 0x30]
mov eax, ebx
xor r14d, dword [rsp + 0x58]
xor eax, r8d
mov r13d, dword [rsp + 0x24]
xor eax, edx
add eax, 0xca62c1d6
rol r8d, 0x1e
add eax, dword [rsp + 0x20]
xor r13d, r12d
xor r13d, dword [rsp + 0x2c]
add r10d, eax
mov r12d, dword [rsp + 0x20]
xor r13d, esi
xor r12d, ebp
rol r14d, 1
xor r12d, dword [rsp + 0x4c]
add r10d, ecx
xor r12d, dword [rsp + 0x30]
mov r11d, r10d
rol r11d, 5
mov eax, ebx
xor eax, r8d
rol r13d, 1
xor eax, r9d
rol r12d, 1
add eax, 0xca62c1d6
rol r9d, 0x1e
add eax, r14d
mov dword [rsp + 0x40], r14d
add eax, edx
add r11d, eax
mov eax, r8d
xor eax, r9d
mov esi, r11d
xor eax, r10d
rol esi, 5
add eax, 0xca62c1d6
rol r10d, 0x1e
add eax, r13d
add eax, ebx
add esi, eax
mov eax, r9d
xor eax, r10d
mov ebp, esi
xor eax, r11d
rol ebp, 5
add eax, 0xca62c1d6
add eax, r12d
add eax, r8d
add ebp, eax
rol r11d, 0x1e
xor r14d, r15d
mov eax, esi
xor r14d, dword [rsp + 0x44]
xor eax, r10d
xor r14d, dword [rsp + 0x2c]
xor eax, r11d
add eax, 0xca62c1d6
rol r14d, 1
add eax, r14d
rol esi, 0x1e
xor r14d, dword [rsp + 0x24]
add r9d, eax
xor r14d, dword [rsp + 0x50]
mov ecx, ebp
xor r14d, dword [rsp + 0x48]
mov eax, esi
xor eax, ebp
rol ecx, 5
xor eax, r11d
rol ebp, 0x1e
add eax, 0xca62c1d6
rol r14d, 1
add r9d, ecx
mov r15d, r13d
xor r15d, dword [rsp + 0x5c]
mov ebx, r9d
xor r15d, dword [rsp + 0x48]
mov edx, r12d
xor edx, dword [rsp + 0x68]
xor edx, dword [rsp + 0x64]
xor r15d, dword [rsp + 0x4c]
xor edx, dword [rsp + 0x44]
rol r15d, 1
add eax, r15d
rol edx, 1
xor r15d, dword [rsp + 0x20]
add eax, r10d
xor r15d, dword [rsp + 0x60]
xor r15d, dword [rsp + 0x64]
mov r10d, dword [rsp + 0x3c]
rol ebx, 5
add ebx, eax
rol r15d, 1
mov eax, esi
mov r8d, ebx
xor eax, ebp
rol r8d, 5
xor eax, r9d
rol r9d, 0x1e
add eax, 0xca62c1d6
add eax, edx
xor edx, dword [rsp + 0x40]
add eax, r11d
xor edx, r10d
xor edx, dword [rsp + 0x50]
add r8d, eax
mov eax, ebp
rol edx, 1
xor eax, r9d
mov ecx, r8d
xor eax, ebx
rol ecx, 5
add eax, r14d
rol ebx, 0x1e
add eax, esi
lea esi, [rcx - 0x359d3e2a]
add esi, eax
mov eax, r9d
xor eax, ebx
mov dword [rsp + 0x34], esi
xor eax, r8d
mov ecx, esi
add eax, r15d
rol ecx, 5
add eax, ebp
rol r8d, 0x1e
lea ebp, [rcx - 0x359d3e2a]
add ebp, eax
mov eax, ebp
rol eax, 5
add edx, eax
rol dword [rsp + 0x34], 0x1e
mov eax, esi
mov r11d, dword [rsp + 0x34]
lea esi, [rdx - 0x359d3e2a]
xor eax, ebx
xor r14d, r13d
xor r14d, dword [rsp + 0x28]
xor eax, r8d
xor r14d, dword [rsp + 0x60]
add eax, r9d
mov r9d, dword [rsp + 0x70]
add esi, eax
mov edx, esi
rol r14d, 1
rol edx, 5
mov ecx, r11d
xor ecx, ebp
xor r15d, r12d
xor r15d, dword [rsp + 0x5c]
xor ecx, r8d
xor r10d, r15d
rol ebp, 0x1e
rol r10d, 1
lea eax, [r14 - 0x359d3e2a]
add eax, ebx
add edx, eax
add ecx, edx
mov rdx, qword [rsp + 0x80]
add r9d, ecx
add rdx, 0x40
mov eax, ecx
mov dword [rsp + 0x70], r9d
rol eax, 5
add r10d, eax
mov qword [rsp + 0x80], rdx
mov eax, r11d
add r10d, 0xca62c1d6
add r11d, dword [rsp + 0x78]
xor eax, ebp
add ebp, dword [rsp + 0x8c]
xor eax, esi
add eax, dword [rsp + 0x6c]
add eax, r8d
rol esi, 0x1e
add esi, dword [rsp + 0x88]
add r10d, eax
mov dword [rsp + 0x6c], r10d
sub rdi, 1
jne 0x1400ba8c1
mov rdi, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
mov dword [rdi + 8], esi
mov rsi, qword [rsp + 0xd0]
mov dword [rdi + 0xc], ebp
mov rbp, qword [rsp + 0x108]
mov dword [rdi], r10d
mov dword [rdi + 4], r9d
mov dword [rdi + 0x10], r11d
add rsp, 0xd8
pop rdi
pop rbx
ret
lea rcx, [0x1403c8624]
call fcn.14024fed0
cmp dword [0x1403c8624], 0xffffffff
jne 0x1400ba840
xor ecx, ecx
mov eax, 1
cpuid
mov r8d, ecx
mov eax, 7
xor ecx, ecx
shr r8d, 9
cpuid
test r8b, 1
je 0x1400bbc66
shr ebx, 0x1d
test bl, 1
je 0x1400bbc66
mov al, 1
jmp 0x1400bbc68
xor al, al
lea rcx, [0x1403c8624]
mov byte [0x1403c8620], al
call fcn.14024fe70
mov rbx, qword [rsp + 0x78]
jmp 0x1400ba840