Function at 0x14009c2d0
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 rsi, rdx
mov edx, r8d
mov edi, dword [rbx + 0x34]
mov byte [rsp + 0x76], pe_nt_image_headers64
add edx, ecx
mov byte [rsp + 0x77], 0
mov r13d, edx
adc edi, 0
movzx eax, dl
mov r12d, edx
shr r13d, 8
shl rax, 8
mov ebp, edx
mov r9d, edi
movzx r13d, r13b
shr r12d, 0x10
mov r10d, edi
mov r11d, edi
or rax, r13
movzx r12d, r12b
shr ebp, 0x18
movzx edi, dil
shl rax, 8
movzx ebp, bpl
shr r11d, 8
shr r10d, 0x10
or rax, r12
movzx r11d, r11b
shr r9d, 0x18
shl rax, 8
movzx r10d, r10b
movzx r9d, r9b
or rax, rbp
shl rax, 8
or 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 0x14009c9c8
cmp ecx, 0x1b7
jg 0x14009c948
test ecx, ecx
je 0x14009c8e0
sub edx, 0x1b8
mov r8d, 0x1b8
mov dword [rbx + 0x30], edx
sub r8d, ecx
lea rdx, [0x1402bfae0]
mov rcx, rbx
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 r15, [rsp + 0x78]
mov r8d, 0x40
mov rcx, rbx
mov dword [rbx + 0x30], eax
mov rdx, r15
call sym.blake256_update
mov edi, dword [rbx + 8]
mov eax, dword [rbx + 0x1c]
mov r11d, dword [rbx + 0xc]
mov r8d, dword [rbx + 0x10]
mov ecx, dword [rbx + 0x14]
mov edx, dword [rbx + 0x18]
mov dword [rsp + 0x20], eax
mov eax, edi
shr eax, 8
mov r12d, dword [rbx]
mov ebp, dword [rbx + 4]
mov r13d, edi
mov dword [rsp + 0x34], eax
mov eax, r11d
shr r13d, 0x18
shr eax, 0x18
mov r14d, r12d
mov r10d, r12d
mov r9d, ebp
mov dword [rsp + 0x38], eax
shr r14d, 0x18
mov eax, r11d
shr r10d, 8
shr eax, 0x10
mov dword [rsp + 0x24], r14d
mov r14d, r12d
shr r9d, 8
mov dword [rsp + 0x3c], eax
mov eax, r11d
shr r14d, 0x10
vmovd xmm7, r10d
shr eax, 8
mov dword [rsp + 0x28], r14d
mov r14d, ebp
vmovd xmm6, r9d
mov dword [rsp + 0x40], eax
mov eax, r8d
shr r14d, 0x18
vmovd xmm0, dword [rsp + 0x24]
shr eax, 0x18
mov dword [rsp + 0x2c], r14d
mov r14d, ebp
vpinsrb xmm7, xmm7, r12d, 1
mov dword [rsp + 0x44], eax
mov eax, r8d
shr r14d, 0x10
vpinsrb xmm6, xmm6, ebp, 1
shr eax, 0x10
mov dword [rsp + 0x30], r13d
mov r13d, edi
mov dword [rsp + 0x48], eax
mov eax, r8d
shr r13d, 0x10
shr eax, 8
mov dword [rsp + 0x4c], eax
mov eax, ecx
shr eax, 0x18
mov dword [rsp + 0x50], eax
mov eax, ecx
shr eax, 0x10
mov dword [rsp + 0x54], eax
mov eax, ecx
shr eax, 8
mov dword [rsp + 0x58], eax
mov eax, edx
shr eax, 0x18
mov dword [rsp + 0x5c], eax
mov eax, edx
shr eax, 0x10
mov dword [rsp + 0x60], eax
mov eax, edx
shr eax, 8
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x20]
shr eax, 0x18
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x20]
shr eax, 0x10
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x20]
vpinsrb xmm0, xmm0, byte [rsp + 0x28], 1
vmovd xmm3, dword [rsp + 0x2c]
vmovd xmm1, dword [rsp + 0x30]
vmovd xmm5, dword [rsp + 0x34]
vmovd xmm2, dword [rsp + 0x38]
shr eax, 8
vpinsrb xmm2, xmm2, byte [rsp + 0x3c], 1
vmovd xmm4, dword [rsp + 0x40]
vpinsrb xmm5, xmm5, edi, 1
vpinsrb xmm3, xmm3, r14d, 1
vpinsrb xmm4, xmm4, r11d, 1
vpinsrb xmm1, xmm1, r13d, 1
vpunpcklwd xmm3, xmm3, xmm6
vpunpcklwd xmm2, xmm2, xmm4
vpunpcklwd xmm0, xmm0, xmm7
vpunpcklwd xmm1, xmm1, xmm5
vpunpckldq xmm1, xmm1, xmm2
vpunpckldq xmm0, xmm0, xmm3
vmovd xmm5, eax
vpunpcklqdq xmm0, xmm0, xmm1
vpinsrb xmm5, xmm5, byte [rsp + 0x20], 1
vmovd xmm1, dword [rsp + 0x44]
vmovd xmm8, dword [rsp + 0x4c]
vpinsrb xmm1, xmm1, byte [rsp + 0x48], 1
vmovd xmm4, dword [rsp + 0x50]
vmovd xmm7, dword [rsp + 0x58]
vpinsrb xmm4, xmm4, byte [rsp + 0x54], 1
vmovd xmm2, dword [rsp + 0x5c]
vmovd xmm6, dword [rsp + 0x64]
vpinsrb xmm2, xmm2, byte [rsp + 0x60], 1
vmovd xmm3, dword [rsp + 0x68]
vpinsrb xmm3, xmm3, byte [rsp + 0x6c], 1
vpinsrb xmm8, xmm8, r8d, 1
vpinsrb xmm7, xmm7, ecx, 1
mov r8d, 0xe0
vpinsrb xmm6, xmm6, edx, 1
vpunpcklwd xmm1, xmm1, xmm8
vpunpcklwd xmm4, xmm4, xmm7
vpunpcklwd xmm2, xmm2, xmm6
vpunpcklwd xmm3, xmm3, xmm5
vpunpckldq xmm1, xmm1, xmm4
vpunpckldq xmm2, xmm2, xmm3
lea rdi, [rbx + 0x80]
lea rdx, [rsp + 0x80]
vpunpcklqdq xmm1, xmm1, xmm2
mov rcx, rdi
vinserti128 ymm0, ymm0, xmm1, 1
vmovdqu ymmword [rsp + 0x80], ymm0
call sym.blake256_update
mov ecx, dword [rbx + 0xb8]
mov ebp, dword [rbx + 0xb4]
mov byte [rsp + 0x76], pe_nt_image_headers64
mov r8d, dword [rbx + 0xb0]
mov byte [rsp + 0x77], 0
mov edx, r8d
add edx, ecx
mov r14d, edx
adc ebp, 0
movzx eax, dl
mov r13d, edx
shr r14d, 8
shl rax, 8
mov r12d, edx
mov r9d, ebp
movzx r14d, r14b
shr r13d, 0x10
mov r10d, ebp
mov r11d, ebp
or rax, r14
movzx r13d, r13b
shr r12d, 0x18
movzx ebp, bpl
shl rax, 8
movzx r12d, r12b
shr r11d, 8
shr r10d, 0x10
or rax, r13
movzx r11d, r11b
shr r9d, 0x18
shl rax, 8
movzx r10d, r10b
movzx r9d, r9b
or rax, r12
shl rax, 8
or rax, rbp
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 0x14009c998
cmp ecx, 0x1b7
jg 0x14009c8f0
test ecx, ecx
je 0x14009c8d0
sub edx, 0x1b8
mov r8d, 0x1b8
mov dword [rbx + 0xb0], edx
sub r8d, ecx
lea rdx, [0x1402bfae0]
mov rcx, rdi
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 r8d, 0x40
mov rdx, r15
mov rcx, rdi
mov dword [rbx + 0xb0], eax
call sym.blake256_update
movzx eax, byte [rbx + 0x83]
mov byte [rsi], al
movzx eax, word [rbx + 0x82]
mov byte [rsi + 1], al
mov eax, dword [rbx + 0x80]
mov byte [rsi + 2], ah
mov eax, dword [rbx + 0x80]
mov byte [rsi + 3], al
movzx eax, byte [rbx + 0x87]
mov byte [rsi + 4], al
movzx eax, word [rbx + 0x86]
mov byte [rsi + 5], al
mov eax, dword [rbx + 0x84]
mov byte [rsi + 6], ah
mov eax, dword [rbx + 0x84]
mov byte [rsi + 7], al
movzx eax, byte [rbx + 0x8b]
mov byte [rsi + 8], al
movzx eax, word [rbx + 0x8a]
mov byte [rsi + 9], al
mov eax, dword [rbx + 0x88]
mov byte [rsi + 0xa], ah
mov eax, dword [rbx + 0x88]
mov byte [rsi + 0xb], al
movzx eax, byte [rbx + 0x8f]
mov byte [rsi + 0xc], al
movzx eax, word [rbx + 0x8e]
mov byte [rsi + 0xd], al
mov eax, dword [rbx + 0x8c]
mov byte [rsi + 0xe], ah
mov eax, dword [rbx + 0x8c]
mov byte [rsi + 0xf], al
movzx eax, byte [rbx + 0x93]
mov byte [rsi + 0x10], al
movzx eax, word [rbx + 0x92]
mov byte [rsi + 0x11], al
mov eax, dword [rbx + 0x90]
mov byte [rsi + 0x12], ah
mov eax, dword [rbx + 0x90]
mov byte [rsi + 0x13], al
movzx eax, byte [rbx + 0x97]
mov byte [rsi + 0x14], al
movzx eax, word [rbx + 0x96]
mov byte [rsi + 0x15], al
mov eax, dword [rbx + 0x94]
mov byte [rsi + 0x16], ah
mov eax, dword [rbx + 0x94]
mov byte [rsi + 0x17], al
movzx eax, byte [rbx + 0x9b]
mov byte [rsi + 0x18], al
movzx eax, word [rbx + 0x9a]
mov byte [rsi + 0x19], al
mov eax, dword [rbx + 0x98]
mov byte [rsi + 0x1a], ah
mov eax, dword [rbx + 0x98]
mov byte [rsi + 0x1b], al
movzx eax, byte [rbx + 0x9f]
mov byte [rsi + 0x1c], al
movzx eax, word [rbx + 0x9e]
mov byte [rsi + 0x1d], al
mov eax, dword [rbx + 0x9c]
mov byte [rsi + 0x1e], ah
mov eax, dword [rbx + 0x9c]
mov byte [rsi + 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 0x14009c70b
mov dword [rbx + 0x3c], 1
jmp 0x14009c3bd
sub edx, 0x200
mov r8d, 0x200
mov dword [rbx + 0xb0], edx
sub r8d, ecx
lea rdx, [0x1402bfae0]
mov rcx, rdi
movsxd r8, r8d
call sym.blake256_update
mov r8d, 0x1b8
lea rdx, [0x1402bfae1]
mov rcx, rdi
sub dword [rbx + 0xb0], 0x1b8
call sym.blake256_update
mov dword [rbx + 0xbc], 1
jmp 0x14009c732
sub edx, 0x200
mov r8d, 0x200
mov dword [rbx + 0x30], edx
sub r8d, ecx
lea rdx, [0x1402bfae0]
mov rcx, rbx
movsxd r8, r8d
call sym.blake256_update
sub dword [rbx + 0x30], 0x1b8
mov r8d, 0x1b8
mov rcx, rbx
lea rdx, [0x1402bfae1]
call sym.blake256_update
mov dword [rbx + 0x3c], 1
jmp 0x14009c3e1
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 0x14009c74e
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 0x14009c3fa