Function at 0x140007790
Capabilities:
Hash data using sha256

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x11e8
call fcn.1401a94d0
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1160], 0xfffffffffffffffe
mov rsi, r8
mov rdi, rdx
mov r14, rcx
mov qword [rbp + 0xfc0], rdx
mov qword [rbp + 0xfc8], r8
lea rbx, [rbp - 0x58]
mov rcx, rbx
call fcn.1401303a0
mov rcx, rbx
mov dl, 1
call fcn.1401303d0
mov rcx, rax
mov rdx, rdi
mov r8, rsi
call fcn.140130420
mov rsi, rax
mov rdi, rdx
mov qword [rbp + 0x1108], rax
mov qword [rbp + 0x1110], rdx
lea rax, [rbp + 0xfc0]
mov qword [rbp + 0x1138], rax
lea rax, [rbp + 0x1138]
mov qword [rbp + 0x1050], rax
lea rax, [0x1400254a0]
mov qword [rbp + 0x1058], rax
lea rax, [0x1401daa48]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], 1
mov qword [rbp - 0x38], 0
lea rax, [rbp + 0x1050]
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], 1
mov byte [rbp + 0x115f], 1
lea rcx, [rbp + 0xfd0]
lea rdx, [rbp - 0x58]
call fcn.140154050
mov rcx, qword [rbp + 0xfd0]
movdqu xmm0, xmmword [rbp + 0xfd8]
test rsi, rsi
je 0x140007950
mov qword [rbp + 0xfd0], rcx
movdqu xmmword [rbp + 0xfd8], xmm0
mov byte [rbp + 0x115f], 0
lea rcx, [rbp - 0x58]
lea rdx, [rbp + 0xfd0]
mov r8, rdi
call fcn.1400627a0
mov rax, qword [rbp - 0x58]
mov rdi, qword [rbp - 0x50]
movups xmm0, xmmword [rbp - 0x48]
movaps xmmword [rbp + 0x1090], xmm0
movups xmm0, xmmword [rbp - 0x38]
movaps xmmword [rbp + 0x10a0], xmm0
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp + 0x10b0], xmm0
movdqu xmm0, xmmword [rbp - 0x18]
movdqa xmmword [rbp + 0x10c0], xmm0
cmp rax, 3
je 0x140007965
movdqa xmm0, xmmword [rbp + 0x1090]
movdqa xmm1, xmmword [rbp + 0x10a0]
movdqa xmm2, xmmword [rbp + 0x10b0]
movdqa xmm3, xmmword [rbp + 0x10c0]
movdqu xmmword [rbp - 0x18], xmm3
movdqu xmmword [rbp - 0x28], xmm2
movdqu xmmword [rbp - 0x38], xmm1
movdqu xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rdi
lea rcx, [rbp - 0x58]
call fcn.14002c110
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rdx
mov qword [r14], 0
jmp 0x140007f02
movq rdx, xmm0
test rdx, rdx
je 0x140007965
mov r8d, 1
call fcn.1400648d0
mov qword [rbp + 0x1150], r14
movzx eax, byte [0x14028d4e5]
mov ecx, 0x2000
mov edx, 1
call fcn.1400648c0
test rax, rax
je 0x140007f2d
mov qword [rbp + 0x1130], rdi
mov qword [rbp + 0x1108], rax
mov qword [rbp + 0x1110], 0x2000
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x1118], xmm0
mov qword [rbp + 0x1128], 0
movdqu xmmword [rbp + 0x1028], xmm0
movdqu xmmword [rbp + 0x1018], xmm0
movdqu xmmword [rbp + 0x1008], xmm0
movdqu xmmword [rbp + 0xff8], xmm0
mov byte [rbp + 0x1038], 0
movups xmm0, xmmword [0x1401daa18]
movaps xmmword [rbp + 0xfd0], xmm0
movdqu xmm0, xmmword [0x1401daa28]
movdqa xmmword [rbp + 0xfe0], xmm0
mov qword [rbp + 0xff0], 0
mov r8d, 0x1000
lea rcx, [rbp - 0x58]
xor edx, edx
call fcn.1401aaf60
lea r14, [rbp + 0x10a0]
lea r13, [rbp + 0x1090]
jmp 0x140007a51
lea rax, [rbp + 0xff8]
lea rcx, [rax + rbx]
lea rdx, [rbp - 0x58]
mov r8, rsi
call fcn.1401aa2f0
add rsi, rbx
mov byte [rbp + 0x1038], sil
mov r9d, 0x1000
lea rcx, [rbp + 0x1040]
lea rdx, [rbp + 0x1108]
lea r8, [rbp - 0x58]
call fcn.14001f790
lea rax, [rbp + 0xfc0]
mov qword [rbp + 0xfb8], rax
lea rax, [rbp + 0xfb8]
mov qword [rbp + 0xfa8], rax
lea rax, [0x1400254a0]
mov qword [rbp + 0xfb0], rax
lea rax, [0x1401daa78]
mov qword [rbp + 0x1090], rax
mov qword [rbp + 0x1098], 1
mov qword [rbp + 0x10b0], 0
lea rax, [rbp + 0xfa8]
mov qword [rbp + 0x10a0], rax
mov qword [rbp + 0x10a8], 1
mov byte [rbp + 0x115e], 1
lea rcx, [rbp + 0x1138]
mov rdx, r13
call fcn.140154050
mov rcx, qword [rbp + 0x1138]
movdqu xmm0, xmmword [rbp + 0x1140]
cmp qword [rbp + 0x1040], 0
je 0x140007b80
mov r8, qword [rbp + 0x1048]
mov qword [rbp + 0x1138], rcx
movdqu xmmword [rbp + 0x1140], xmm0
mov byte [rbp + 0x115e], 0
mov rcx, r13
lea rdx, [rbp + 0x1138]
call fcn.1400627a0
mov rax, qword [rbp + 0x1090]
mov rsi, qword [rbp + 0x1098]
movdqu xmm0, xmmword [r14]
movdqu xmm1, xmmword [r14 + 0x10]
movdqu xmm2, xmmword [r14 + 0x20]
movdqu xmm3, xmmword [r14 + 0x30]
movdqa xmmword [rbp + 0x1050], xmm0
movdqa xmmword [rbp + 0x1060], xmm1
movdqa xmmword [rbp + 0x1070], xmm2
movdqa xmmword [rbp + 0x1080], xmm3
cmp rax, 3
je 0x140007b9c
jmp 0x140007d84
mov rsi, qword [rbp + 0x1048]
movq rdx, xmm0
test rdx, rdx
je 0x140007b9c
mov r8d, 1
call fcn.1400648d0
test rsi, rsi
je 0x140007c67
cmp rsi, 0x1001
jae 0x140007f17
movzx eax, byte [rbp + 0x1038]
movzx ebx, al
mov r15d, 0x40
sub r15, rbx
mov r12, rsi
sub r12, r15
jb 0x140007a30
lea rdi, [rbp - 0x58]
test al, al
je 0x140007c19
lea rsi, [rbp + 0xff8]
add rbx, rsi
mov rcx, rbx
lea rdx, [rbp - 0x58]
mov r8, r15
call fcn.1401aa2f0
inc qword [rbp + 0xff0]
mov r8d, 1
lea rcx, [rbp + 0xfd0]
mov rdx, rsi
call fcn.1400909f0
lea rdi, [r15 + rbp]
add rdi, 0xffffffffffffffa8
mov rsi, r12
cmp rsi, 0x40
jb 0x140007c3c
mov r8, rsi
shr r8, 6
add qword [rbp + 0xff0], r8
lea rcx, [rbp + 0xfd0]
mov rdx, rdi
call fcn.1400909f0
mov rax, rsi
and rax, 0xffffffffffffffc0
and esi, 0x3f
add rdi, rax
lea rcx, [rbp + 0xff8]
mov rdx, rdi
mov r8, rsi
call fcn.1401aa2f0
mov byte [rbp + 0x1038], sil
jmp 0x140007a51
movaps xmm0, xmmword [rbp + 0x1030]
movaps xmmword [rbp + 0x10f0], xmm0
movdqa xmm0, xmmword [rbp + 0xfd0]
movdqa xmm1, xmmword [rbp + 0xfe0]
movaps xmm2, xmmword [rbp + 0xff0]
movdqa xmm3, xmmword [rbp + 0x1000]
movaps xmmword [rbp + 0x10b0], xmm2
movaps xmm2, xmmword [rbp + 0x1020]
movaps xmmword [rbp + 0x10e0], xmm2
movdqa xmm2, xmmword [rbp + 0x1010]
movdqa xmmword [rbp + 0x10d0], xmm2
movdqa xmmword [rbp + 0x10c0], xmm3
movdqa xmmword [rbp + 0x10a0], xmm1
movdqa xmmword [rbp + 0x1090], xmm0
lea rsi, [rbp + 0x10b8]
movzx ebx, byte [rbp + 0x10f8]
mov rax, qword [rbp + 0x10b0]
shl rax, 9
lea rdi, [rbx*8]
or rdi, rax
mov byte [rbp + rbx + 0x10b8], 0x80
mov r8, rbx
xor r8, 0x3f
je 0x140007d14
lea rcx, [rbx + rsi]
inc rcx
xor edx, edx
call fcn.1401aaf60
bswap rdi
xor ebx, 0x38
cmp ebx, 8
jae 0x140007dfe
lea rcx, [rbp + 0x1090]
mov r8d, 1
mov rdx, rsi
call fcn.1400909f0
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x1070], xmm0
movdqa xmmword [rbp + 0x1060], xmm0
movdqa xmmword [rbp + 0x1050], xmm0
mov qword [rbp + 0x1080], 0
mov qword [rbp + 0x1088], rdi
lea rcx, [rbp + 0x1090]
lea rdx, [rbp + 0x1050]
mov r8d, 1
call fcn.1400909f0
jmp 0x140007e1a
movaps xmm0, xmmword [rbp + 0x1050]
movaps xmm1, xmmword [rbp + 0x1060]
movaps xmm2, xmmword [rbp + 0x1070]
movaps xmm3, xmmword [rbp + 0x1080]
movups xmmword [rbp + 0x10d0], xmm3
movups xmmword [rbp + 0x10c0], xmm2
movups xmmword [rbp + 0x10b0], xmm1
movups xmmword [rbp + 0x10a0], xmm0
mov qword [rbp + 0x1090], rax
mov qword [rbp + 0x1098], rsi
lea rcx, [rbp + 0x1090]
call fcn.14002c110
mov rcx, qword [rbp + 0x1150]
mov qword [rcx + 8], rax
mov qword [rcx + 0x10], rdx
mov qword [rcx], 0
mov rcx, qword [rbp + 0x1130]
call qword [sym.imp.kernel32.dll_CloseHandle]
jmp 0x140007ee4
mov qword [rbp + 0x10f0], rdi
lea rcx, [rbp + 0x1090]
mov r8d, 1
mov rdx, rsi
call fcn.1400909f0
pxor xmm0, xmm0
movdqa xmm1, xmmword [rbp + 0x1090]
movdqa xmm2, xmmword [rbp + 0x10a0]
movdqa xmm3, xmm1
punpckhbw xmm3, xmm0
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm3
movdqa xmm3, xmm2
punpckhbw xmm3, xmm0
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm3, xmm3, 0x1b
punpcklbw xmm2, xmm0
pshuflw xmm0, xmm2, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm3
movdqa xmmword [rbp + 0x1050], xmm1
movdqa xmmword [rbp + 0x1060], xmm0
lea r9, str.0123456789abcdef_rustc_8ede3aae28fe6e4d52b38157d7bfe0d3bceef225library_std_src_syncmpmczero.rs
lea rcx, [rbp + 0x1090]
lea rdx, [rbp + 0x1050]
mov r8d, 0x20
call fcn.1400af5c0
lea rcx, [rbp + 0x1138]
lea rdx, [rbp + 0x1090]
call fcn.140062910
mov rax, qword [rbp + 0x1148]
mov rcx, qword [rbp + 0x1150]
mov qword [rcx + 0x10], rax
movdqu xmm0, xmmword [rbp + 0x1138]
movdqu xmmword [rcx], xmm0
mov rcx, qword [rbp + 0x1130]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rdx, qword [rbp + 0x1110]
test rdx, rdx
je 0x140007f02
mov rcx, qword [rbp + 0x1108]
mov r8d, 1
call fcn.1400648d0
nop
add rsp, 0x11e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, str.srcupdater.rserror_reading
mov edx, 0x1000
mov rcx, rsi
call fcn.1401d8ca0
jmp 0x140007f43
mov qword [rbp + 0x1150], rdi
mov ecx, 1
mov edx, 0x2000
call fcn.1401d8540
ud2