Function at 0x1400d1c60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
vmovups xmmword [rsp + 0xa0], xmm6
vmovups xmmword [rsp + 0xb0], xmm7
vmovups xmmword [rsp + 0xc0], xmm8
mov r8d, dword [rcx + 0x30]
mov rbx, rcx
mov ecx, dword [rcx + 0x38]
mov qword [rsp + 0x128], rdx
mov edx, r8d
mov r11d, dword [rbx + 0x34]
mov byte [rsp + 0x76], 0x81
mov byte [rsp + 0x77], 1
add edx, ecx
movzx eax, dl
adc r11d, 0
mov ebp, edx
movzx esi, dh
shl rax, 8
shr ebp, 0x10
mov edi, edx
mov r9d, r11d
or rax, rsi
movzx ebp, bpl
shr edi, 0x18
mov r10d, r11d
shl rax, 8
movzx edi, dil
shr r10d, 0x10
shr r9d, 0x18
or rax, rbp
movzx r10d, r10b
movzx r9d, r9b
shl rax, 8
or rax, rdi
movzx edi, r11b
shl rax, 8
or rdi, rax
mov eax, r11d
movzx eax, ah
mov r11, rax
mov rax, rdi
shl rax, 8
or rax, r11
shl rax, 8
or rax, r10
shl rax, 8
or rax, r9
mov qword [rsp + 0x78], rax
cmp ecx, 0x1b8
je 0x1400d2350
cmp ecx, 0x1b7
jg 0x1400d22d0
test ecx, ecx
je 0x1400d2260
mov r8d, 0x1b8
sub edx, 0x1b8
sub r8d, ecx
mov dword [rbx + 0x30], edx
mov rcx, rbx
lea rdx, [0x1401f8700]
movsxd r8, r8d
call sym.blake256_update
lea rdx, [rsp + 0x77]
mov r8d, 8
mov rcx, rbx
call sym.blake256_update
mov eax, dword [rbx + 0x30]
sub eax, 8
sub eax, 0x40
lea r14, [rsp + 0x78]
mov r8d, 0x40
mov rcx, rbx
mov dword [rbx + 0x30], eax
mov rdx, r14
call sym.blake256_update
mov r12d, dword [rbx]
mov ebp, dword [rbx + 4]
mov edi, dword [rbx + 8]
mov r9d, dword [rbx + 0xc]
mov r8d, dword [rbx + 0x10]
mov ecx, dword [rbx + 0x14]
mov edx, dword [rbx + 0x18]
mov eax, dword [rbx + 0x1c]
mov esi, r12d
mov r11d, r12d
mov r10d, ebp
mov r15d, r12d
shr esi, 0x18
shr r11d, 8
shr r10d, 8
mov r13d, edi
mov dword [rsp + 0x24], esi
mov esi, ebp
shr r15d, 0x10
shr r13d, 0x10
shr esi, 0x18
vmovd xmm0, dword [rsp + 0x24]
vmovd xmm7, r11d
vmovd xmm6, r10d
mov dword [rsp + 0x28], esi
mov esi, ebp
vpinsrb xmm7, xmm7, r12d, 1
vpinsrb xmm6, xmm6, ebp, 1
shr esi, 0x10
vmovd xmm3, dword [rsp + 0x28]
vpinsrb xmm0, xmm0, r15d, 1
mov dword [rsp + 0x2c], esi
mov esi, edi
vpinsrb xmm3, xmm3, byte [rsp + 0x2c], 1
vpunpcklwd xmm0, xmm0, xmm7
shr esi, 0x18
mov dword [rsp + 0x30], esi
mov esi, edi
shr esi, 8
vmovd xmm1, dword [rsp + 0x30]
mov dword [rsp + 0x34], esi
mov esi, r9d
vpinsrb xmm1, xmm1, r13d, 1
shr esi, 0x18
vmovd xmm5, dword [rsp + 0x34]
mov dword [rsp + 0x38], esi
mov esi, r9d
vpinsrb xmm5, xmm5, edi, 1
lea rdi, [rbx + 0x80]
shr esi, 0x10
vpunpcklwd xmm1, xmm1, xmm5
mov dword [rsp + 0x3c], esi
mov esi, r9d
vpunpcklwd xmm3, xmm3, xmm6
shr esi, 8
vpunpckldq xmm0, xmm0, xmm3
mov dword [rsp + 0x40], esi
mov esi, r8d
shr esi, 0x18
mov dword [rsp + 0x44], esi
mov esi, r8d
shr esi, 0x10
mov dword [rsp + 0x48], esi
mov esi, r8d
shr esi, 8
mov dword [rsp + 0x4c], esi
mov esi, ecx
shr esi, 0x18
mov dword [rsp + 0x50], esi
mov esi, ecx
shr esi, 0x10
mov dword [rsp + 0x54], esi
mov esi, ecx
shr esi, 8
mov dword [rsp + 0x58], esi
mov esi, edx
shr esi, 0x18
mov dword [rsp + 0x5c], esi
mov esi, edx
shr esi, 0x10
mov dword [rsp + 0x60], esi
mov esi, edx
shr esi, 8
mov dword [rsp + 0x64], esi
mov esi, eax
shr esi, 0x18
mov dword [rsp + 0x68], esi
mov esi, eax
shr esi, 0x10
mov dword [rsp + 0x6c], esi
vmovd xmm2, dword [rsp + 0x38]
vpinsrb xmm2, xmm2, byte [rsp + 0x3c], 1
vmovd xmm4, dword [rsp + 0x40]
vpinsrb xmm4, xmm4, r9d, 1
vmovd xmm3, dword [rsp + 0x68]
vpinsrb xmm3, xmm3, byte [rsp + 0x6c], 1
mov esi, eax
shr esi, 8
vmovd xmm8, dword [rsp + 0x4c]
vmovd xmm7, dword [rsp + 0x58]
vmovd xmm6, dword [rsp + 0x64]
vmovd xmm5, esi
vpinsrb xmm8, xmm8, r8d, 1
vpinsrb xmm7, xmm7, ecx, 1
vpinsrb xmm6, xmm6, edx, 1
vpinsrb xmm5, xmm5, eax, 1
lea rdx, [rsp + 0x80]
mov r8d, 0x100
mov rcx, rdi
vpunpcklwd xmm2, xmm2, xmm4
vmovd xmm4, dword [rsp + 0x50]
vpinsrb xmm4, xmm4, byte [rsp + 0x54], 1
vpunpckldq xmm1, xmm1, xmm2
vmovd xmm2, dword [rsp + 0x5c]
vpinsrb xmm2, xmm2, byte [rsp + 0x60], 1
vpunpcklwd xmm3, xmm3, xmm5
vpunpcklqdq xmm0, xmm0, xmm1
vmovd xmm1, dword [rsp + 0x44]
vpinsrb xmm1, xmm1, byte [rsp + 0x48], 1
vpunpcklwd xmm4, xmm4, xmm7
vpunpcklwd xmm2, xmm2, xmm6
vpunpcklwd xmm1, xmm1, xmm8
vpunpckldq xmm2, xmm2, xmm3
vpunpckldq xmm1, xmm1, xmm4
vpunpcklqdq xmm1, xmm1, xmm2
vinserti128 ymm0, ymm0, xmm1, 1
vmovdqu ymmword [rsp + 0x80], ymm0
vzeroupper
call sym.blake256_update
mov byte [rsp + 0x76], 0x81
mov byte [rsp + 0x77], 1
mov r8d, dword [rbx + 0xb0]
mov ecx, dword [rbx + 0xb8]
mov r11d, dword [rbx + 0xb4]
mov edx, r8d
add edx, ecx
movzx eax, dl
adc r11d, 0
movzx esi, dh
mov r12d, edx
shl rax, 8
shr r12d, 0x10
mov ebp, edx
mov r9d, r11d
or rax, rsi
movzx r12d, r12b
shr ebp, 0x18
mov r10d, r11d
shl rax, 8
movzx ebp, bpl
shr r10d, 0x10
shr r9d, 0x18
or rax, r12
movzx r10d, r10b
movzx r9d, r9b
shl rax, 8
or rax, rbp
movzx ebp, r11b
shl rax, 8
or rax, rbp
mov rsi, rax
mov eax, r11d
movzx eax, ah
mov r11, rax
mov rax, rsi
shl rax, 8
or rax, r11
shl rax, 8
or rax, r10
shl rax, 8
or rax, r9
mov qword [rsp + 0x78], rax
cmp ecx, 0x1b8
je 0x1400d2320
cmp ecx, 0x1b7
jg 0x1400d2270
test ecx, ecx
je 0x1400d2250
mov r8d, 0x1b8
sub edx, 0x1b8
sub r8d, ecx
mov dword [rbx + 0xb0], edx
mov rcx, rdi
lea rdx, [0x1401f8700]
movsxd r8, r8d
call sym.blake256_update
lea rdx, [rsp + 0x77]
mov r8d, 8
mov rcx, rdi
call sym.blake256_update
mov eax, dword [rbx + 0xb0]
sub eax, 8
sub eax, 0x40
mov rcx, rdi
mov r8d, 0x40
mov rdx, r14
mov dword [rbx + 0xb0], eax
call sym.blake256_update
mov rdi, qword [rsp + 0x128]
movzx eax, byte [rbx + 0x83]
mov byte [rdi], al
movzx eax, word [rbx + 0x82]
mov byte [rdi + 1], al
mov eax, dword [rbx + 0x80]
movzx eax, ah
mov byte [rdi + 2], al
mov eax, dword [rbx + 0x80]
mov byte [rdi + 3], al
movzx eax, byte [rbx + 0x87]
mov byte [rdi + 4], al
movzx eax, word [rbx + 0x86]
mov byte [rdi + 5], al
mov eax, dword [rbx + 0x84]
mov byte [rdi + 6], ah
mov eax, dword [rbx + 0x84]
mov byte [rdi + 7], al
movzx eax, byte [rbx + 0x8b]
mov byte [rdi + 8], al
movzx eax, word [rbx + 0x8a]
mov byte [rdi + 9], al
mov eax, dword [rbx + 0x88]
mov byte [rdi + 0xa], ah
mov eax, dword [rbx + 0x88]
mov byte [rdi + 0xb], al
movzx eax, byte [rbx + 0x8f]
mov byte [rdi + 0xc], al
movzx eax, word [rbx + 0x8e]
mov byte [rdi + 0xd], al
mov eax, dword [rbx + 0x8c]
mov byte [rdi + 0xe], ah
mov eax, dword [rbx + 0x8c]
mov byte [rdi + 0xf], al
movzx eax, byte [rbx + 0x93]
mov byte [rdi + 0x10], al
movzx eax, word [rbx + 0x92]
mov byte [rdi + 0x11], al
mov eax, dword [rbx + 0x90]
mov byte [rdi + 0x12], ah
mov eax, dword [rbx + 0x90]
mov byte [rdi + 0x13], al
movzx eax, byte [rbx + 0x97]
mov byte [rdi + 0x14], al
movzx eax, word [rbx + 0x96]
mov byte [rdi + 0x15], al
mov eax, dword [rbx + 0x94]
mov byte [rdi + 0x16], ah
mov eax, dword [rbx + 0x94]
mov byte [rdi + 0x17], al
movzx eax, byte [rbx + 0x9b]
mov byte [rdi + 0x18], al
movzx eax, word [rbx + 0x9a]
mov byte [rdi + 0x19], al
mov eax, dword [rbx + 0x98]
mov byte [rdi + 0x1a], ah
mov eax, dword [rbx + 0x98]
mov byte [rdi + 0x1b], al
movzx eax, byte [rbx + 0x9f]
mov byte [rdi + 0x1c], al
movzx eax, word [rbx + 0x9e]
mov byte [rdi + 0x1d], al
mov eax, dword [rbx + 0x9c]
mov byte [rdi + 0x1e], ah
mov eax, dword [rbx + 0x9c]
mov byte [rdi + 0x1f], al
vmovups xmm6, xmmword [rsp + 0xa0]
vmovups xmm7, xmmword [rsp + 0xb0]
vmovups xmm8, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rbx + 0xbc], 1
jmp 0x1400d2081
mov dword [rbx + 0x3c], 1
jmp 0x1400d1d4b
mov r8d, 0x200
sub edx, 0x200
sub r8d, ecx
mov dword [rbx + 0xb0], edx
mov rcx, rdi
lea rdx, [0x1401f8700]
movsxd r8, r8d
call sym.blake256_update
sub dword [rbx + 0xb0], 0x1b8
mov r8d, 0x1b8
lea rdx, [0x1401f8701]
mov rcx, rdi
call sym.blake256_update
mov dword [rbx + 0xbc], 1
jmp 0x1400d20a8
mov r8d, 0x200
sub edx, 0x200
sub r8d, ecx
mov dword [rbx + 0x30], edx
mov rcx, rbx
lea rdx, [0x1401f8700]
movsxd r8, r8d
call sym.blake256_update
sub dword [rbx + 0x30], 0x1b8
mov r8d, 0x1b8
lea rdx, [0x1401f8701]
mov rcx, rbx
call sym.blake256_update
mov dword [rbx + 0x3c], 1
jmp 0x1400d1d6f
sub r8d, 8
lea rdx, [rsp + 0x76]
mov rcx, rdi
mov dword [rbx + 0xb0], r8d
mov r8d, 8
call sym.blake256_update
mov eax, dword [rbx + 0xb0]
jmp 0x1400d20c4
sub r8d, 8
lea rdx, [rsp + 0x76]
mov rcx, rbx
mov dword [rbx + 0x30], r8d
mov r8d, 8
call sym.blake256_update
mov eax, dword [rbx + 0x30]
jmp 0x1400d1d88