Function at 0x43b0b0
Capabilities:
Hash data using sha256

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x228
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
lea r14, [rsp + 0x178]
xorps xmm0, xmm0
movups xmmword [rsp + 0x178], xmm0
movups xmmword [rsp + 0x188], xmm0
movups xmmword [rsp + 0x198], xmm0
movups xmmword [rsp + 0x1a8], xmm0
mov byte [rsp + 0x1b8], 0
movups xmm0, xmmword [0x0059f498]
movaps xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [0x0059f4a8]
movaps xmmword [rsp + 0x160], xmm0
mov qword [rsp + 0x170], 0
cmp r8, 0x3f
jbe 0x43b17d
mov r8, rdi
shr r8, 6
mov eax, r8d
and eax, 0x40
mov r15, r8
or r15, 0x40
imul r15, rax
xor rax, 0x40
mov rcx, r8
and rcx, 0xffffffffffffffbf
imul rcx, rax
add r15, rcx
sub rdi, r15
mov qword [rsp + 0x170], r8
lea rcx, [rsp + 0x150]
mov rdx, rbx
call fcn.0049a941
cmp rdi, 0x41
jae 0x43b6f9
add rbx, r15
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov byte [rsp + 0x1b8], dil
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0xe0], rax
movzx eax, byte [rsp + 0x1b8]
mov byte [rsp + 0xe8], al
mov eax, dword [rsp + 0x1b9]
mov dword [rsp + 0xe9], eax
movzx eax, word [rsp + 0x1bd]
mov word [rsp + 0xed], ax
movzx eax, byte [rsp + 0x1bf]
mov byte [rsp + 0xef], al
movaps xmm0, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0xc0], xmm0
movdqa xmm0, xmmword [rsp + 0x150]
movaps xmm1, xmmword [rsp + 0x160]
movaps xmm2, xmmword [rsp + 0x170]
movaps xmm3, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmmword [rsp + 0x1d0], xmm0
movdqa xmmword [rsp + 0x1c0], xmm0
lea rdi, [rsp + 0xa8]
movzx ebx, byte [rsp + 0xe8]
mov r14, qword [rsp + 0xa0]
mov rax, r14
and rax, 0xffffffffffffffbf
mov ecx, r14d
and ecx, 0x40
or r14, 0x40
imul r14, rcx
xor rcx, 0x40
imul rcx, rax
add r14, rcx
or r14, rbx
mov rax, r14
and rax, 0xfffffffffffffff7
mov ecx, ebx
and ecx, 8
or r14, 8
imul r14, rcx
xor rcx, 8
imul rcx, rax
add r14, rcx
mov byte [rsp + rbx + 0xa8], pe_nt_image_headers64
mov r8, rbx
xor r8, 0x3f
je 0x43b2dc
lea rcx, [rbx + rdi]
inc rcx
xor edx, edx
call sub.msvcrt.dll_memset
bswap r14
not ebx
test bl, 0x38
jne 0x43b34c
lea rbx, [rsp + 0x80]
mov r8d, 1
mov rcx, rbx
mov rdx, rdi
call fcn.0049a941
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmmword [rsp + 0xf0], xmm0
movdqa xmmword [rsp + 0x100], xmm0
movdqa xmmword [rsp + 0x110], xmm0
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], r14
lea rdx, [rsp + 0xf0]
mov r8d, 1
mov rcx, rbx
jmp 0x43b365
mov qword [rsp + 0xe0], r14
lea rcx, [rsp + 0x80]
mov r8d, 1
mov rdx, rdi
call fcn.0049a941
pxor xmm0, xmm0
movdqa xmm1, xmmword [rsp + 0x80]
movdqa xmm2, xmmword [rsp + 0x90]
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 xmmword [rsp + 0x1c0], xmm1
movdqa xmm1, xmm2
punpckhbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm2, xmm0
pshuflw xmm0, xmm2, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqa xmmword [rsp + 0x1d0], xmm0
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x30], rax
lea rax, [0x0043b9c0]
mov qword [rsp + 0x38], rax
lea rax, str.ntdll.dll
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
mov qword [rsp + 0x80], 0
lea rax, [rsp + 0x30]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 1
lea rcx, [rsp + 0x138]
lea rdx, [rsp + 0x80]
call fcn.0040b930
mov rax, qword [rsp + 0x148]
test al, 1
jne 0x43b4aa
mov rcx, qword [rsp + 0x140]
mov byte [rsp + 0x2f], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 1
mov byte [rsp + 0x48], 1
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x2f]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x30]
call fcn.0043bab0
test al, 1
jne 0x43b4b7
cmp byte [rsp + 0x2f], 0
je 0x43b655
mov qword [rsi + 8], 0
jmp 0x43b66a
mov ebx, edx
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
je 0x43b69c
mov rcx, qword [0x005e4168]
test rcx, rcx
jne 0x43b4eb
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x43b70f
mov rcx, rax
mov qword [0x005e4168], rax
mov r8d, 8
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x43b70f
mov r15, rax
mov byte [rax], bl
mov qword [rsp + 0xf0], 8
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 1
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xb0], rax
movdqu xmm0, xmmword [rsp + 0x30]
movdqu xmm1, xmmword [rsp + 0x40]
movdqu xmm2, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0xa0], xmm2
movdqa xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
mov edi, 1
lea rbx, [rsp + 0x80]
lea r14, [rsp + 0xf0]
jmp 0x43b5af
cmp qword [rsp + 0x90], 0xffffffffffffffff
je 0x43b6df
mov r8d, 1
mov rcx, r14
mov rdx, rdi
call fcn.0043afd0
mov r15, qword [rsp + 0xf8]
nop
mov byte [r15 + rdi], bpl
inc rdi
mov qword [rsp + 0x100], rdi
mov rcx, rbx
call fcn.0043bab0
test al, al
je 0x43b621
mov ebp, edx
cmp rdi, qword [rsp + 0xf0]
jne 0x43b5a0
mov rax, qword [rsp + 0xb0]
cmp byte [rax], 0
jne 0x43b586
cmp byte [rsp + 0x98], 0
je 0x43b577
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x80]
jbe 0x43b586
mov rax, qword [rsp + 0x90]
lea ecx, [rax + rax]
and ecx, 2
xor rax, 0xfffffffffffffffe
inc rax
cmp rcx, rax
jne 0x43b586
lea rcx, [0x0059f6a0]
lea r8, str._repos_rust_1.70.0_library_core_src_iter_adapters_step_by.rs
jmp 0x43b6ed
mov rax, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xf8]
cmp byte [rsp + 0x2f], 0
je 0x43b65f
mov qword [rsi + 8], 0
test rax, rax
je 0x43b66a
mov rcx, qword [0x005e4168]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x43b66a
mov r8d, 1
xor edi, edi
xor eax, eax
mov qword [rsi], rax
mov qword [rsi + 8], r8
mov qword [rsi + 0x10], rdi
cmp qword [rsp + 0x138], 0
je 0x43b68b
mov r8, qword [rsp + 0x140]
mov rcx, qword [0x005e4168]
xor edx, edx
call sub.kernel32.dll_HeapFree
nop
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
cmp byte [rsp + 0x48], 0
je 0x43b6d3
mov rax, qword [rsp + 0x38]
cmp rax, qword [rsp + 0x30]
jbe 0x43b4c7
mov rax, qword [rsp + 0x40]
lea ecx, [rax + rax]
and ecx, 2
xor rax, 0xfffffffffffffffe
inc rax
cmp rcx, rax
jne 0x43b4c7
jmp 0x43b60e
cmp qword [rsp + 0x40], 0xffffffffffffffff
jne 0x43b4c7
lea rcx, [0x0059f6a0]
lea r8, str._repos_rust_1.70.0_library_core_src_iter_adapters_step_by.rs
mov edx, 0x19
call fcn.00413c20
ud2
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_block_buffer_0.10.4_src_lib.rs
mov edx, 0x40
mov rcx, rdi
call fcn.00415090
ud2
mov ecx, 8
mov edx, 1
call fcn.0040bce0
ud2