Function at 0x1400a8550
Capabilities:
Hash data using sha256

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov rax, qword [0x1401858e0]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov eax, 0x6a09e667
movsxd rsi, ecx
mov dword [rsp + 0x38], eax
lea r14, [0x140000000]
mov dword [rbp - 0x49], eax
lea rcx, [0x140189b80]
mov eax, 0xbb67ae85
mov dword [rbp - 0x39], 0x510e527f
mov dword [rbp - 0x7d], eax
mov rbx, rdx
mov dword [rbp - 0x45], eax
mov edx, 0x3c6ef372
mov eax, 0x9b05688c
mov dword [rsp + 0x30], edx
mov dword [rbp - 0x71], eax
xor r9d, r9d
mov dword [rbp - 0x35], eax
mov eax, 0x1f83d9ab
mov dword [rbp - 0x6d], eax
mov dword [rbp - 0x31], eax
mov eax, 0x5be0cd19
mov dword [rbp - 0x69], eax
lea r8d, [r9 + 0xc]
mov dword [rbp - 0x2d], eax
lea rax, [r14 + 0x188d10]
lea rax, [rax + rsi*8]
mov dword [rbp - 0x41], edx
mov edx, 0xa54ff53a
mov qword [rbp - 0x51], rax
mov rax, qword [rax]
mov dword [rsp + 0x34], edx
mov dword [rbp - 0x3d], edx
lea rdx, [rbx + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
mov qword [rbp - 0x59], rsi
call sub.cudart64_91.dll_cudaMemcpyToSymbolAsync
test eax, eax
je 0x1400a8665
mov ecx, eax
call sub.cudart64_91.dll_cudaGetErrorString
mov ecx, 2
mov rdi, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov r8d, dword [r14 + rsi*4 + 0x196820]
lea r9, [0x14011b750]
mov rcx, rax
mov qword [rsp + 0x28], rdi
lea rdx, [0x14011b770]
mov dword [rsp + 0x20], 0x29f
call fcn.140027ea0
mov ecx, 1
call fcn.1400293d0
movups xmm0, xmmword [rbx]
lea rcx, [0x140183091]
mov edi, 0xa4093a22
movups xmm1, xmmword [rbx + 0x10]
mov esi, 0x299f33d0
mov r12d, 0x243f6a88
movups xmmword [rbp - 0x29], xmm0
mov r13d, 0x85a308d3
mov r10d, 0x13198a2e
movups xmm0, xmmword [rbx + 0x20]
mov r11d, 0x3707344
mov r14d, 0x82efa98
movups xmmword [rbp - 0x19], xmm1
mov r15d, 0xec4e6c89
mov qword [rbp - 0x61], rcx
movups xmm1, xmmword [rbx + 0x30]
mov ebx, 0x510e527f
movups xmmword [rbp - 9], xmm0
movups xmmword [rbp + 7], xmm1
jmp 0x1400a86cc
mov r10d, dword [rbp - 0x79]
mov r11d, dword [rbp - 0x75]
movzx eax, byte [rcx - 1]
mov r9d, dword [rsp + 0x38]
lea r8, [rax*4]
movzx eax, byte [rcx]
lea rdx, [rax*4]
lea rax, [0x140000000]
mov eax, dword [rdx + rax + 0x11b6c0]
xor eax, dword [rbp + r8 - 0x29]
add eax, ebx
add r9d, eax
mov eax, dword [rbp + rdx - 0x29]
xor edi, r9d
lea rdx, [0x140000000]
xor eax, dword [r8 + rdx + 0x11b6c0]
ror edi, 0x10
add r12d, edi
mov ecx, r12d
xor ecx, ebx
ror ecx, 0xc
add eax, ecx
add r9d, eax
xor edi, r9d
mov dword [rsp + 0x38], r9d
mov r9d, dword [rbp - 0x7d]
ror edi, 8
add r12d, edi
mov ebx, r12d
xor ebx, ecx
mov rcx, qword [rbp - 0x61]
ror ebx, 7
movzx eax, byte [rcx + 1]
lea r8, [rax*4]
movzx eax, byte [rcx + 2]
lea rdx, [rax*4]
lea rax, [0x140000000]
mov eax, dword [rdx + rax + 0x11b6c0]
xor eax, dword [rbp + r8 - 0x29]
add eax, dword [rbp - 0x71]
add r9d, eax
mov eax, dword [rbp + rdx - 0x29]
xor esi, r9d
lea rdx, [0x140000000]
xor eax, dword [r8 + rdx + 0x11b6c0]
ror esi, 0x10
add r13d, esi
mov ecx, r13d
xor ecx, dword [rbp - 0x71]
ror ecx, 0xc
add eax, ecx
add r9d, eax
xor esi, r9d
mov dword [rbp - 0x7d], r9d
ror esi, 8
add r13d, esi
mov r9d, r13d
xor r9d, ecx
mov rcx, qword [rbp - 0x61]
ror r9d, 7
movzx eax, byte [rcx + 3]
lea r8, [rax*4]
movzx eax, byte [rcx + 4]
mov ecx, dword [rsp + 0x30]
lea rdx, [rax*4]
lea rax, [0x140000000]
mov eax, dword [rdx + rax + 0x11b6c0]
xor eax, dword [rbp + r8 - 0x29]
add eax, dword [rbp - 0x6d]
add ecx, eax
mov eax, dword [rbp + rdx - 0x29]
xor r14d, ecx
mov dword [rsp + 0x30], ecx
ror r14d, 0x10
lea rdx, [0x140000000]
xor eax, dword [r8 + rdx + 0x11b6c0]
add r10d, r14d
mov edx, dword [rsp + 0x30]
mov ecx, r10d
xor ecx, dword [rbp - 0x6d]
ror ecx, 0xc
add eax, ecx
add edx, eax
xor r14d, edx
mov dword [rsp + 0x30], edx
ror r14d, 8
add r10d, r14d
mov dword [rbp - 0x79], r10d
xor r10d, ecx
mov rcx, qword [rbp - 0x61]
ror r10d, 7
movzx eax, byte [rcx + 5]
lea r8, [rax*4]
movzx eax, byte [rcx + 6]
mov ecx, dword [rsp + 0x34]
lea rdx, [rax*4]
lea rax, [0x140000000]
mov eax, dword [rdx + rax + 0x11b6c0]
xor eax, dword [rbp + r8 - 0x29]
add eax, dword [rbp - 0x69]
add ecx, eax
mov eax, dword [rbp + rdx - 0x29]
xor r15d, ecx
mov dword [rsp + 0x34], ecx
ror r15d, 0x10
lea rdx, [0x140000000]
xor eax, dword [r8 + rdx + 0x11b6c0]
add r11d, r15d
mov edx, dword [rsp + 0x34]
mov ecx, r11d
xor ecx, dword [rbp - 0x69]
ror ecx, 0xc
add eax, ecx
add edx, eax
xor r15d, edx
mov dword [rsp + 0x34], edx
ror r15d, 8
add r11d, r15d
mov dword [rbp - 0x75], r11d
xor r11d, ecx
mov rcx, qword [rbp - 0x61]
ror r11d, 7
movzx eax, byte [rcx + 7]
lea r8, [rax*4]
movzx eax, byte [rcx + 8]
mov ecx, dword [rsp + 0x38]
lea rdx, [rax*4]
lea rax, [0x140000000]
mov eax, dword [rdx + rax + 0x11b6c0]
xor eax, dword [rbp + r8 - 0x29]
add eax, r9d
add ecx, eax
mov eax, dword [rbp + rdx - 0x29]
xor r15d, ecx
mov dword [rsp + 0x38], ecx
mov ecx, dword [rbp - 0x79]
lea rdx, [0x140000000]
xor eax, dword [r8 + rdx + 0x11b6c0]
mov edx, dword [rsp + 0x38]
ror r15d, 0x10
add ecx, r15d
mov dword [rbp - 0x79], ecx
xor ecx, r9d
mov r9d, dword [rbp - 0x79]
ror ecx, 0xc
add eax, ecx
add edx, eax
xor r15d, edx
mov dword [rsp + 0x38], edx
ror r15d, 8
add r9d, r15d
mov eax, r9d
mov dword [rbp - 0x79], r9d
xor eax, ecx
mov rcx, qword [rbp - 0x61]
ror eax, 7
mov dword [rbp - 0x71], eax
movzx eax, byte [rcx + 9]
lea r8, [rax*4]
movzx eax, byte [rcx + 0xa]
lea rdx, [rax*4]
lea rax, [0x140000000]
mov eax, dword [rdx + rax + 0x11b6c0]
xor eax, dword [rbp + r8 - 0x29]
mov ecx, dword [rbp - 0x7d]
add eax, r10d
add ecx, eax
mov eax, dword [rbp + rdx - 0x29]
xor edi, ecx
mov dword [rbp - 0x7d], ecx
mov ecx, dword [rbp - 0x75]
lea rdx, [0x140000000]
xor eax, dword [r8 + rdx + 0x11b6c0]
mov edx, dword [rbp - 0x7d]
ror edi, 0x10
add ecx, edi
mov dword [rbp - 0x75], ecx
xor ecx, r10d
mov r10d, dword [rbp - 0x75]
ror ecx, 0xc
add eax, ecx
add edx, eax
xor edi, edx
mov dword [rbp - 0x7d], edx
ror edi, 8
add r10d, edi
mov eax, r10d
mov dword [rbp - 0x75], r10d
xor eax, ecx
mov rcx, qword [rbp - 0x61]
ror eax, 7
mov dword [rbp - 0x6d], eax
movzx eax, byte [rcx + 0xb]
lea r8, [rax*4]
movzx eax, byte [rcx + 0xc]
mov ecx, dword [rsp + 0x30]
lea rdx, [rax*4]
lea rax, [0x140000000]
mov eax, dword [rdx + rax + 0x11b6c0]
xor eax, dword [rbp + r8 - 0x29]
add eax, r11d
add ecx, eax
mov eax, dword [rbp + rdx - 0x29]
xor esi, ecx
mov dword [rsp + 0x30], ecx
ror esi, 0x10
lea rdx, [0x140000000]
xor eax, dword [r8 + rdx + 0x11b6c0]
add r12d, esi
mov ecx, r12d
xor ecx, r11d
mov r11d, dword [rsp + 0x30]
ror ecx, 0xc
add eax, ecx
add r11d, eax
xor esi, r11d
mov dword [rsp + 0x30], r11d
ror esi, 8
add r12d, esi
mov eax, r12d
xor eax, ecx
mov rcx, qword [rbp - 0x61]
ror eax, 7
mov dword [rbp - 0x69], eax
movzx eax, byte [rcx + 0xd]
lea r8, [rax*4]
movzx eax, byte [rcx + 0xe]
mov ecx, dword [rsp + 0x34]
lea rdx, [rax*4]
lea rax, [0x140000000]
mov eax, dword [rdx + rax + 0x11b6c0]
xor eax, dword [rbp + r8 - 0x29]
add eax, ebx
add ecx, eax
mov eax, dword [rbp + rdx - 0x29]
xor r14d, ecx
mov dword [rsp + 0x34], ecx
ror r14d, 0x10
lea rdx, [0x140000000]
xor eax, dword [r8 + rdx + 0x11b6c0]
add r13d, r14d
mov ecx, r13d
xor ecx, ebx
ror ecx, 0xc
add eax, ecx
mov edx, dword [rsp + 0x34]
add edx, eax
lea rax, [0x140183171]
xor r14d, edx
mov dword [rsp + 0x34], edx
ror r14d, 8
add r13d, r14d
mov ebx, r13d
xor ebx, ecx
mov rcx, qword [rbp - 0x61]
add rcx, 0x10
ror ebx, 7
mov qword [rbp - 0x61], rcx
cmp rcx, rax
jl 0x1400a86c4
mov rax, qword [rbp - 0x51]
lea rcx, [0x140189b90]
xor r12d, dword [rsp + 0x38]
xor r9d, r11d
xor dword [rbp - 0x41], r9d
xor r10d, edx
xor r13d, dword [rbp - 0x7d]
lea rdx, [rbp - 0x49]
mov rax, qword [rax]
xor r9d, r9d
xor esi, dword [rbp - 0x71]
xor edi, ebx
xor r14d, dword [rbp - 0x6d]
xor r15d, dword [rbp - 0x69]
xor dword [rbp - 0x49], r12d
lea r8d, [r9 + 0x20]
xor dword [rbp - 0x45], r13d
xor dword [rbp - 0x3d], r10d
xor dword [rbp - 0x39], edi
xor dword [rbp - 0x35], esi
xor dword [rbp - 0x31], r14d
xor dword [rbp - 0x2d], r15d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
call sub.cudart64_91.dll_cudaMemcpyToSymbolAsync
test eax, eax
je 0x1400a8bae
mov ecx, eax
call sub.cudart64_91.dll_cudaGetErrorString
mov ecx, 2
mov rbx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov rdi, qword [rbp - 0x59]
lea rsi, [0x140000000]
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea r9, [0x14011b7a8]
mov dword [rsp + 0x20], 0x2a3
lea rdx, [0x14011b7c8]
mov r8d, dword [rsi + rdi*4 + 0x196820]
call fcn.140027ea0
mov ecx, 1
call fcn.1400293d0
jmp 0x1400a8bb9
mov rdi, qword [rbp - 0x59]
lea rsi, [0x140000000]
cmp byte [0x1401965da], 0
je 0x1400a8c14
call sub.cudart64_91.dll_cudaDeviceSynchronize
test eax, eax
je 0x1400a8c14
mov ecx, eax
call sub.cudart64_91.dll_cudaGetErrorString
mov ecx, 2
mov rbx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func
mov r8d, dword [rsi + rdi*4 + 0x196820]
lea r9, str.blake256_cpu_setBlock_80
mov rcx, rax
mov qword [rsp + 0x28], rbx
lea rdx, [0x14011b820]
mov dword [rsp + 0x20], 0x2a5
call fcn.140027ea0
mov ecx, 1
call fcn.1400293d0
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1401150e0
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret