Function at 0x44ffb0
Capabilities:
Hash data using sha256

Disassembly:
push rsi
push rbx
sub rsp, 0xc8
lea rsi, [rsp + 0x40]
mov rbx, r8
lea r8, [rdx*8]
mov rdx, rcx
mov dword [rsp + 0x40], 0x6a09e667
mov dword [rsp + 0x44], 0xbb67ae85
mov rcx, rsi
mov dword [rsp + 0x48], 0x3c6ef372
mov dword [rsp + 0x4c], 0xa54ff53a
mov dword [rsp + 0x50], 0x510e527f
mov dword [rsp + 0x54], 0x9b05688c
mov dword [rsp + 0x58], 0x1f83d9ab
mov dword [rsp + 0x5c], 0x5be0cd19
mov dword [rsp + 0x7c], 0
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x74], 0
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x64], 0
mov dword [rsp + 0x60], 0
call dbg.blake256_update
mov r8d, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x78]
xor r9d, r9d
mov edx, dword [rsp + 0x74]
mov byte [rsp + 0x2e], 1
mov byte [rsp + 0x2f], 0x81
mov eax, r8d
add eax, ecx
setb r9b
mov byte [rsp + 0x37], al
cmp r9d, 1
sbb edx, 0xffffffff
mov r9d, edx
mov byte [rsp + 0x33], dl
shr r9d, 0x18
mov byte [rsp + 0x30], r9b
mov r9d, edx
shr r9d, 0x10
mov byte [rsp + 0x31], r9b
mov r9d, edx
mov edx, eax
shr edx, 0x18
shr r9d, 8
mov byte [rsp + 0x34], dl
mov edx, eax
mov byte [rsp + 0x32], r9b
shr edx, 0x10
mov byte [rsp + 0x35], dl
mov edx, eax
shr edx, 8
cmp ecx, 0x1b8
mov byte [rsp + 0x36], dl
je 0x4502a0
cmp ecx, 0x1b7
jg 0x450250
test ecx, ecx
je 0x450240
mov r8d, 0x1b8
lea rdx, [0x004ccb20]
sub eax, 0x1b8
sub r8d, ecx
mov rcx, rsi
mov dword [rsp + 0x70], eax
movsxd r8, r8d
call dbg.blake256_update
lea rdx, [rsp + 0x2e]
mov r8d, 8
mov rcx, rsi
call dbg.blake256_update
mov eax, dword [rsp + 0x70]
sub eax, 8
lea rdx, [rsp + 0x30]
sub eax, 0x40
mov r8d, 0x40
mov rcx, rsi
mov dword [rsp + 0x70], eax
call dbg.blake256_update
mov eax, dword [rsp + 0x40]
mov edx, eax
mov byte [rbx + 3], al
shr edx, 0x18
mov byte [rbx], dl
mov edx, eax
shr edx, 0x10
mov byte [rbx + 1], dl
mov edx, eax
mov eax, dword [rsp + 0x44]
shr edx, 8
mov byte [rbx + 2], dl
mov edx, eax
mov byte [rbx + 7], al
shr edx, 0x18
mov byte [rbx + 4], dl
mov edx, eax
shr edx, 0x10
mov byte [rbx + 5], dl
mov edx, eax
mov eax, dword [rsp + 0x48]
shr edx, 8
mov byte [rbx + 6], dl
mov edx, eax
mov byte [rbx + 0xb], al
shr edx, 0x18
mov byte [rbx + 8], dl
mov edx, eax
shr edx, 0x10
mov byte [rbx + 9], dl
mov edx, eax
mov eax, dword [rsp + 0x4c]
shr edx, 8
mov byte [rbx + 0xa], dl
mov edx, eax
mov byte [rbx + 0xf], al
shr edx, 0x18
mov byte [rbx + 0xc], dl
mov edx, eax
shr edx, 0x10
mov byte [rbx + 0xd], dl
mov edx, eax
mov eax, dword [rsp + 0x50]
shr edx, 8
mov byte [rbx + 0xe], dl
mov edx, eax
mov byte [rbx + 0x13], al
shr edx, 0x18
mov byte [rbx + 0x10], dl
mov edx, eax
shr edx, 0x10
mov byte [rbx + 0x11], dl
mov edx, eax
mov eax, dword [rsp + 0x54]
shr edx, 8
mov byte [rbx + 0x12], dl
mov edx, eax
mov byte [rbx + 0x17], al
shr edx, 0x18
mov byte [rbx + 0x14], dl
mov edx, eax
shr edx, 0x10
mov byte [rbx + 0x15], dl
mov edx, eax
mov eax, dword [rsp + 0x58]
shr edx, 8
mov byte [rbx + 0x16], dl
mov edx, eax
shr edx, 0x18
mov byte [rbx + 0x18], dl
mov edx, eax
shr edx, 0x10
mov byte [rbx + 0x19], dl
mov edx, eax
mov byte [rbx + 0x1b], al
mov eax, dword [rsp + 0x5c]
shr edx, 8
mov byte [rbx + 0x1a], dl
mov edx, eax
mov byte [rbx + 0x1f], al
shr edx, 0x18
mov byte [rbx + 0x1c], dl
mov edx, eax
shr edx, 0x10
mov byte [rbx + 0x1d], dl
mov edx, eax
shr edx, 8
mov byte [rbx + 0x1e], dl
add rsp, 0xc8
pop rbx
pop rsi
ret
mov dword [rsp + 0x7c], 1
jmp 0x4500e5
mov r8d, 0x200
lea rdx, [0x004ccb20]
sub eax, 0x200
sub r8d, ecx
mov rcx, rsi
mov dword [rsp + 0x70], eax
movsxd r8, r8d
call dbg.blake256_update
lea rdx, [0x004ccb21]
mov r8d, 0x1b8
mov rcx, rsi
sub dword [rsp + 0x70], 0x1b8
call dbg.blake256_update
mov dword [rsp + 0x7c], 1
jmp 0x450109
sub r8d, 8
lea rdx, [rsp + 0x2f]
mov rcx, rsi
mov dword [rsp + 0x70], r8d
mov r8d, 8
call dbg.blake256_update
mov eax, dword [rsp + 0x70]
jmp 0x450123