Function at 0x140076020
Capabilities:
Enumerate pe sections
Hash data using sha256

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
test rcx, rcx
je 0x140076192
mov rsi, rcx
mov ecx, dword [rcx]
mov eax, 2
cmp ecx, 0xf4240
je 0x140076620
mov ebp, r8d
mov rbx, rdx
mov dword [rsp + 0x6c], ecx
mov byte [rsp + 0x2f], 3
mov ecx, r8d
shr ecx, 5
xor r12d, r12d
test bpl, 0x1f
setne r12b
vmovups ymm0, ymmword [rsi + 4]
vmovups ymm1, ymmword [rsi + 0x1b]
vmovups ymmword [rsp + 0x30], ymm0
vmovups ymmword [rsp + 0x47], ymm1
mov edx, 1
mov eax, 1
add r12d, ecx
je 0x1400761a3
xor r13d, r13d
lea rdi, [rsp + 0x90]
lea r14, [rsp + 0x70]
lea r15, [rsp + 0xf0]
jmp 0x1400760dc
mov r8d, ebp
mov rcx, rbx
mov rdx, r15
call fcn.14016e4a0
xor ebp, ebp
inc r13d
cmp r13d, r12d
je 0x14007619c
vmovaps ymm0, ymmword [0x140176340]
vmovups ymmword [rsp + 0x70], ymm0
mov dword [rsp + 0xd0], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xd4], 0x37
vmovups ymm0, ymmword [rsp + 0x30]
vmovups ymm1, ymmword [rsp + 0x47]
vmovups ymmword [rdi + 0x17], ymm1
vmovups ymmword [rdi], ymm0
mov dword [rsp + 0xd0], 0x37
mov rcx, r14
mov rdx, r15
vzeroupper
call fcn.14009b8c0
test eax, eax
jne 0x14007619e
test rbx, rbx
je 0x1400760d0
test ebp, ebp
je 0x1400760d0
cmp ebp, 0x20
jb 0x1400760c0
vmovups ymm0, ymmword [rsp + 0xf0]
vmovups ymmword [rbx], ymm0
mov eax, 0x36
nop word cs:[rax + rax]
mov edx, eax
movzx ecx, byte [rsp + rdx + 0x30]
inc cl
mov byte [rsp + rdx + 0x30], cl
sub eax, 1
jb 0x140076186
test cl, cl
je 0x140076170
add ebp, 0xffffffe0
add rbx, 0x20
jmp 0x1400760d0
mov eax, 1
jmp 0x140076620
xor eax, eax
mov edx, 1
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x31], 0
mov byte [rsp + 0x32], 0
mov byte [rsp + 0x33], 0
mov byte [rsp + 0x34], 0
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x36], 0
mov byte [rsp + 0x37], 0
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x39], 0
mov byte [rsp + 0x3a], 0
mov byte [rsp + 0x3b], 0
mov byte [rsp + 0x3c], 0
mov byte [rsp + 0x3d], 0
mov byte [rsp + 0x3e], 0
mov byte [rsp + 0x3f], 0
mov byte [rsp + 0x40], 0
mov byte [rsp + 0x41], 0
mov byte [rsp + 0x42], 0
mov byte [rsp + 0x43], 0
mov byte [rsp + 0x44], 0
mov byte [rsp + 0x45], 0
mov byte [rsp + 0x46], 0
mov byte [rsp + 0x47], 0
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x49], 0
mov byte [rsp + 0x4a], 0
mov byte [rsp + 0x4b], 0
mov byte [rsp + 0x4c], 0
mov byte [rsp + 0x4d], 0
mov byte [rsp + 0x4e], 0
mov byte [rsp + 0x4f], 0
mov byte [rsp + 0x50], 0
mov byte [rsp + 0x51], 0
mov byte [rsp + 0x52], 0
mov byte [rsp + 0x53], 0
mov byte [rsp + 0x54], 0
mov byte [rsp + 0x55], 0
mov byte [rsp + 0x56], 0
mov byte [rsp + 0x57], 0
mov byte [rsp + 0x58], 0
mov byte [rsp + 0x59], 0
mov byte [rsp + 0x5a], 0
mov byte [rsp + 0x5b], 0
mov byte [rsp + 0x5c], 0
mov byte [rsp + 0x5d], 0
mov byte [rsp + 0x5e], 0
mov byte [rsp + 0x5f], 0
mov byte [rsp + 0x60], 0
mov byte [rsp + 0x61], 0
mov byte [rsp + 0x62], 0
mov byte [rsp + 0x63], 0
mov byte [rsp + 0x64], 0
mov byte [rsp + 0x65], 0
mov byte [rsp + 0x66], 0
test eax, eax
jne 0x140076579
lea rdx, [rsi + 4]
vmovaps ymm0, ymmword [0x140176340]
vmovups ymmword [rsp + 0x70], ymm0
mov dword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xd0], 1
mov dword [rsp + 0xd4], 1
movzx eax, byte [rsp + 0x2f]
mov byte [rsp + 0x90], al
lea rcx, [rsp + 0x70]
mov r8d, 0x37
vzeroupper
call fcn.14009b240
mov edx, eax
test eax, eax
jne 0x140076577
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x30]
call fcn.14009b8c0
mov edx, eax
test eax, eax
jne 0x140076577
xor eax, eax
xor ecx, ecx
nop word cs:[rax + rax]
movzx edx, byte [rsi + rax + 0x3a]
movzx r8d, byte [rsp + rax + 0x4f]
add ecx, edx
add ecx, r8d
mov byte [rsi + rax + 0x3a], cl
movzx ecx, ch
movzx edx, byte [rsi + rax + 0x39]
movzx ebx, byte [rsp + rax + 0x4e]
add ebx, edx
add ebx, ecx
mov byte [rsi + rax + 0x39], bl
movzx ecx, bh
add rax, 0xfffffffffffffffe
cmp rax, 0xffffffffffffffe0
jne 0x140076350
movzx eax, byte [rsi + 0x1a]
movzx ecx, cx
add ecx, eax
mov byte [rsi + 0x1a], cl
shr ecx, 8
movzx eax, byte [rsi + 0x19]
add eax, ecx
mov byte [rsi + 0x19], al
movzx eax, ah
movzx ecx, byte [rsi + 0x18]
add ecx, eax
mov byte [rsi + 0x18], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x17]
add ecx, eax
mov byte [rsi + 0x17], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x16]
add ecx, eax
mov byte [rsi + 0x16], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x15]
add ecx, eax
mov byte [rsi + 0x15], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x14]
add ecx, eax
mov byte [rsi + 0x14], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x13]
add ecx, eax
mov byte [rsi + 0x13], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x12]
add ecx, eax
mov byte [rsi + 0x12], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x11]
add ecx, eax
mov byte [rsi + 0x11], cl
movzx eax, ch
movzx ecx, byte [rsi + 0x10]
add ecx, eax
mov byte [rsi + 0x10], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xf]
add ecx, eax
mov byte [rsi + 0xf], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xe]
add ecx, eax
mov byte [rsi + 0xe], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xd]
add ecx, eax
mov byte [rsi + 0xd], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xc]
add ecx, eax
mov byte [rsi + 0xc], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xb]
add ecx, eax
mov byte [rsi + 0xb], cl
movzx eax, ch
movzx ecx, byte [rsi + 0xa]
add ecx, eax
mov byte [rsi + 0xa], cl
movzx eax, ch
movzx ecx, byte [rsi + 9]
add ecx, eax
mov byte [rsi + 9], cl
movzx eax, ch
movzx ecx, byte [rsi + 8]
add ecx, eax
mov byte [rsi + 8], cl
movzx eax, ch
movzx ecx, byte [rsi + 7]
add ecx, eax
mov byte [rsi + 7], cl
movzx eax, ch
movzx ecx, byte [rsi + 6]
add ecx, eax
mov byte [rsi + 6], cl
movzx eax, ch
movzx ecx, byte [rsi + 5]
add ecx, eax
mov byte [rsi + 5], cl
shr ecx, 8
add byte [rsi + 4], cl
mov eax, 0x39
xor edx, edx
nop dword [rax + rax]
lea rcx, [rax - 2]
movzx r8d, byte [rsi + rax + 1]
movzx r9d, byte [rsi + rax + 0x38]
add edx, r8d
add edx, r9d
mov byte [rsi + rax + 1], dl
cmp rcx, 2
jb 0x1400764e0
movzx edx, dx
shr edx, 8
movzx r8d, byte [rsi + rax]
movzx ebx, byte [rsi + rax + 0x37]
add ebx, r8d
add ebx, edx
mov byte [rsi + rax], bl
movzx edx, bh
mov rax, rcx
jmp 0x1400764a0
mov ebx, dword [rsp + 0x6c]
bswap ebx
movzx eax, bh
mov ecx, ebx
shr ecx, 0x10
mov edx, ebx
shr edx, 0x18
movzx r8d, byte [rsi + 0x3a]
add r8d, edx
mov byte [rsi + 0x3a], r8b
shr r8d, 8
movzx edx, byte [rsi + 0x39]
movzx ecx, cl
add ecx, edx
add ecx, r8d
mov byte [rsi + 0x39], cl
movzx ecx, ch
movzx edx, byte [rsi + 0x38]
add edx, eax
add edx, ecx
mov byte [rsi + 0x38], dl
movzx eax, dh
movzx edx, byte [rsi + 0x37]
movzx ecx, bl
add ecx, edx
add ecx, eax
mov byte [rsi + 0x37], cl
mov eax, 0x36
nop word cs:[rax + rax]
movzx ecx, cx
shr ecx, 8
movzx edx, byte [rsi + rax]
add edx, ecx
mov byte [rsi + rax], dl
movzx ecx, dh
movzx edx, byte [rsi + rax - 1]
add edx, ecx
mov byte [rsi + rax - 1], dl
movzx edx, dh
movzx ecx, byte [rsi + rax - 2]
add ecx, edx
mov byte [rsi + rax - 2], cl
add rax, 0xfffffffffffffffd
cmp rax, 3
jne 0x140076540
xor edx, edx
inc dword [rsi]
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x31], 0
mov byte [rsp + 0x32], 0
mov byte [rsp + 0x33], 0
mov byte [rsp + 0x34], 0
mov byte [rsp + 0x35], 0
mov byte [rsp + 0x36], 0
mov byte [rsp + 0x37], 0
mov byte [rsp + 0x38], 0
mov byte [rsp + 0x39], 0
mov byte [rsp + 0x3a], 0
mov byte [rsp + 0x3b], 0
mov byte [rsp + 0x3c], 0
mov byte [rsp + 0x3d], 0
mov byte [rsp + 0x3e], 0
mov byte [rsp + 0x3f], 0
mov byte [rsp + 0x40], 0
mov byte [rsp + 0x41], 0
mov byte [rsp + 0x42], 0
mov byte [rsp + 0x43], 0
mov byte [rsp + 0x44], 0
mov byte [rsp + 0x45], 0
mov byte [rsp + 0x46], 0
mov byte [rsp + 0x47], 0
mov byte [rsp + 0x48], 0
mov byte [rsp + 0x49], 0
mov byte [rsp + 0x4a], 0
mov byte [rsp + 0x4b], 0
mov byte [rsp + 0x4c], 0
mov byte [rsp + 0x4d], 0
mov byte [rsp + 0x4e], 0
mov byte [rsp + 0x4f], 0
xor eax, eax
test edx, edx
setne al
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14