Function at 0x14003c580
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
sub rsp, 0x1e0
lea rbp, [rsp + 0x60]
and rbp, 0xffffffffffffffc0
mov rax, qword [0x140106438]
xor rax, rsp
mov qword [rbp + 0x178], rax
mov r14, rdx
mov qword [rbp + 0x10], rdx
mov rbx, rcx
xor edx, edx
lea rcx, [rbp + 0x40]
mov r8d, 0x100
xor r15d, r15d
call fcn.140093c00
xorps xmm0, xmm0
mov qword [rbp + 8], r15
xor eax, eax
mov qword [rbp], r15
mov qword [rbp + 0x170], rax
mov r12d, r15d
mov r13d, r15d
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
test rbx, rbx
je 0x14003c995
test r14, r14
je 0x14003c995
mov rcx, rbx
call fcn.140003550
lea rdx, [rbp + 0x140]
mov rcx, rax
mov rdi, rax
call fcn.1400a5624
mov esi, eax
test rdi, rdi
je 0x14003c639
mov rcx, rdi
call fcn.14009b5a0
test esi, esi
je 0x14003c649
lea rcx, str.Could_not_open__s
jmp 0x14003c98d
mov rax, qword [rbp + 0x158]
add rax, 0xfffffffffffffc00
cmp rax, 0x3fffc00
ja 0x14003c986
lea rdx, [rbp + 8]
mov rcx, rbx
call fcn.140041c50
mov r12, qword [rbp + 8]
cmp eax, 0x400
jb 0x14003c995
mov edx, eax
lea r8, [rbp]
mov rcx, r12
call fcn.14003c2f0
test eax, eax
je 0x14003c980
xor edx, edx
lea rcx, [rbp + 0x40]
mov r8d, 0x100
call fcn.140093c00
mov r13, qword [rbp]
mov eax, 0xbb67ae85
mov qword [rbp + 0xc8], rax
mov eax, 0xa54ff53a
mov qword [rbp + 0xd8], rax
mov eax, 0x9b05688c
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xc0], 0x6a09e667
mov qword [rbp + 0xd0], 0x3c6ef372
mov qword [rbp + 0xe0], 0x510e527f
mov qword [rbp + 0xf0], 0x1f83d9ab
mov qword [rbp + 0xf8], 0x5be0cd19
cmp dword [r13 + 4], r15d
jle 0x14003c7dd
lea r14, [r13 + 8]
mov rax, qword [rbp + 0x100]
mov esi, dword [r14 + 8]
mov rcx, rax
mov rbx, qword [r14]
add rax, rsi
and ecx, 0x3f
mov qword [rbp + 0x100], rax
test rcx, rcx
je 0x14003c786
lea rax, [rbp + 0x40]
mov edi, 0x40
add rax, rcx
sub rdi, rcx
mov rdx, rbx
mov rcx, rax
cmp rsi, rdi
jb 0x14003c7c0
mov r8, rdi
call fcn.140093550
cmp dword [0x140111614], 0
lea rdx, [rbp + 0x40]
je 0x14003c777
mov r8d, 0x40
lea rcx, [rbp + 0xc0]
call fcn.14003a380
jmp 0x14003c780
lea rcx, [rbp + 0x40]
call fcn.1400397c0
add rbx, rdi
sub rsi, rdi
cmp rsi, 0x40
jb 0x14003c7b9
mov ecx, dword [0x140111614]
mov rdi, rsi
test ecx, ecx
je 0x14003c82b
and rdi, 0xffffffffffffffc0
lea rcx, [rbp + 0xc0]
mov r8, rdi
mov rdx, rbx
call fcn.14003a380
add rbx, rdi
sub rsi, rdi
mov rdx, rbx
lea rcx, [rbp + 0x40]
mov r8, rsi
call fcn.140093550
inc r15d
add r14, 0x10
cmp r15d, dword [r13 + 4]
jl 0x14003c711
mov r14, qword [rbp + 0x10]
mov rax, qword [rbp + 0x100]
mov rbx, rax
and ebx, 0x3f
lea rdi, [rax*8]
mov byte [rbp + rbx + 0x40], 0x80
inc rbx
cmp rbx, 0x38
je 0x14003c89d
and ebx, 0x3f
jne 0x14003c88b
cmp dword [0x140111614], ebx
lea rdx, [rbp + 0x40]
je 0x14003c882
lea r8d, [rbx + 0x40]
lea rcx, [rbp + 0xc0]
call fcn.14003a380
jmp 0x14003c88b
shr rdi, 6
imul rax, rdi, 0xffffffffffffffc0
add rsi, rax
nop word [rax + rax]
prefetch byte [rbx + 0x40]
prefetch byte [rbx + 0x60]
mov rdx, rbx
test ecx, ecx
je 0x14003c863
mov r8d, 0x40
lea rcx, [rbp + 0xc0]
call fcn.14003a380
jmp 0x14003c86c
lea rcx, [rbp + 0x40]
call fcn.1400397c0
add rbx, 0x40
sub rdi, 1
je 0x14003c7b9
mov ecx, dword [0x140111614]
jmp 0x14003c840
lea rcx, [rbp + 0x40]
call fcn.1400397c0
mov byte [rbp + rbx + 0x40], 0
inc rbx
cmp rbx, 0x38
jne 0x14003c804
mov rax, rdi
mov byte [rbp + 0x7f], dil
shr rax, 8
lea rdx, [rbp + 0x40]
mov byte [rbp + 0x7e], al
mov rax, rdi
shr rax, 0x10
mov byte [rbp + 0x7d], al
mov rax, rdi
shr rax, 0x18
mov byte [rbp + 0x7c], al
mov rax, rdi
shr rax, 0x20
mov byte [rbp + 0x7b], al
mov rax, rdi
shr rax, 0x28
mov byte [rbp + 0x7a], al
mov rax, rdi
shr rax, 0x30
shr rdi, 0x38
cmp dword [0x140111614], 0
mov byte [rbp + 0x79], al
mov byte [rbp + 0x78], dil
je 0x14003c906
mov r8d, 0x40
lea rcx, [rbp + 0xc0]
call fcn.14003a380
jmp 0x14003c90f
lea rcx, [rbp + 0x40]
call fcn.1400397c0
mov eax, dword [rbp + 0xc0]
mov r15d, 1
bswap eax
mov dword [rbp + 0x40], eax
mov eax, dword [rbp + 0xc8]
bswap eax
mov dword [rbp + 0x44], eax
mov eax, dword [rbp + 0xd0]
bswap eax
mov dword [rbp + 0x48], eax
mov eax, dword [rbp + 0xd8]
bswap eax
mov dword [rbp + 0x4c], eax
mov eax, dword [rbp + 0xe0]
movaps xmm0, xmmword [rbp + 0x40]
bswap eax
mov dword [rbp + 0x50], eax
mov eax, dword [rbp + 0xe8]
bswap eax
mov dword [rbp + 0x54], eax
mov eax, dword [rbp + 0xf0]
bswap eax
mov dword [rbp + 0x58], eax
mov eax, dword [rbp + 0xf8]
bswap eax
mov dword [rbp + 0x5c], eax
movaps xmm1, xmmword [rbp + 0x50]
movups xmmword [r14], xmm0
movups xmmword [r14 + 0x10], xmm1
jmp 0x14003c995
mov r13, qword [rbp]
jmp 0x14003c995
lea rcx, str._s_is_either_too_small_or_too_large_for_PE_256
mov rdx, rbx
call fcn.140041aa0
mov rcx, r13
call fcn.14009b5a0
mov rcx, r12
call fcn.14009b5a0
mov eax, r15d
mov rcx, qword [rbp + 0x178]
xor rcx, rsp
call fcn.140092060
mov rbx, qword [rsp + 0x230]
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret