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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov eax, dword [rcx]
mov rbx, rdx
mov rdi, rcx
test eax, eax
js 0x1400e1c52
cmp eax, 1
jle 0x1400e1a27
cmp eax, 3
jg 0x1400e1c52
mov r8d, dword [rcx + 0xf0]
mov eax, 0x7f
xor edx, edx
shr r8d, 3
and r8d, 0x7f
sub eax, r8d
lea rcx, [r8 + rcx + 0x2c]
inc rcx
mov byte [rcx - 1], 0x80
cmp eax, 0x10
jae 0x1400e1862
mov r8d, eax
call fcn.140361a80
mov rcx, rdi
call fcn.1400d51c0
xor edx, edx
lea rcx, [rdi + 0x2c]
lea r8d, [rdx + 0x70]
jmp 0x1400e1868
add eax, 0xfffffff0
mov r8d, eax
call fcn.140361a80
movzx eax, byte [rdi + 0xf8]
mov rcx, rdi
mov byte [rdi + 0xa3], al
movzx eax, byte [rdi + 0xf9]
mov byte [rdi + 0xa2], al
movzx eax, byte [rdi + 0xfa]
mov byte [rdi + 0xa1], al
movzx eax, byte [rdi + 0xfb]
mov byte [rdi + 0xa0], al
movzx eax, byte [rdi + 0xf4]
mov byte [rdi + 0x9f], al
movzx eax, byte [rdi + 0xf5]
mov byte [rdi + 0x9e], al
movzx eax, byte [rdi + 0xf6]
mov byte [rdi + 0x9d], al
movzx eax, byte [rdi + 0xf7]
mov byte [rdi + 0x9c], al
movzx eax, byte [rdi + 0xf0]
mov byte [rdi + 0xab], al
movzx eax, byte [rdi + 0xf1]
mov byte [rdi + 0xaa], al
movzx eax, byte [rdi + 0xf2]
mov byte [rdi + 0xa9], al
movzx eax, byte [rdi + 0xf3]
mov byte [rdi + 0xa8], al
movzx eax, byte [rdi + 0xec]
mov byte [rdi + 0xa7], al
movzx eax, byte [rdi + 0xed]
mov byte [rdi + 0xa6], al
movzx eax, byte [rdi + 0xee]
mov byte [rdi + 0xa5], al
movzx eax, byte [rdi + 0xef]
mov byte [rdi + 0xa4], al
call fcn.1400d51c0
mov eax, dword [rdi]
sub eax, 2
je 0x1400e19b7
dec eax
jne 0x1400e1c52
lea rcx, [rdi + 0xb2]
lea edx, [rax + 8]
nop
movzx eax, byte [rcx - 2]
add rbx, 8
add rcx, 8
dec rdx
mov byte [rbx - 1], al
movzx eax, byte [rcx - 9]
mov byte [rbx - 2], al
movzx eax, byte [rcx - 8]
mov byte [rbx - 3], al
movzx eax, byte [rcx - 7]
mov byte [rbx - 4], al
movzx eax, byte [rcx - 0xe]
mov byte [rbx - 5], al
movzx eax, byte [rcx - 0xd]
mov byte [rbx - 6], al
movzx eax, byte [rcx - 0xc]
mov byte [rbx - 7], al
movzx eax, byte [rcx - 0xb]
mov byte [rbx - 8], al
jne 0x1400e1960
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1400d5040
lea rcx, [rdi + 0xb2]
mov edx, 6
nop word [rax + rax]
movzx eax, byte [rcx - 2]
add rbx, 8
add rcx, 8
dec rdx
mov byte [rbx - 1], al
movzx eax, byte [rcx - 9]
mov byte [rbx - 2], al
movzx eax, byte [rcx - 8]
mov byte [rbx - 3], al
movzx eax, byte [rcx - 7]
mov byte [rbx - 4], al
movzx eax, byte [rcx - 0xe]
mov byte [rbx - 5], al
movzx eax, byte [rcx - 0xd]
mov byte [rbx - 6], al
movzx eax, byte [rcx - 0xc]
mov byte [rbx - 7], al
movzx eax, byte [rcx - 0xb]
mov byte [rbx - 8], al
jne 0x1400e19d0
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1400d5040
mov edx, dword [rcx + 0x24]
mov eax, 0x3f
shr edx, 3
and edx, 0x3f
sub eax, edx
lea rcx, [rdx + rcx + 0x2c]
xor edx, edx
mov byte [rcx], 0x80
inc rcx
cmp eax, 8
jae 0x1400e1a79
mov r8d, eax
call fcn.140361a80
mov rcx, rdi
call fcn.1400d51c0
xor eax, eax
mov qword [rdi + 0x2c], rax
mov qword [rdi + 0x34], rax
mov qword [rdi + 0x3c], rax
mov qword [rdi + 0x44], rax
mov qword [rdi + 0x4c], rax
mov qword [rdi + 0x54], rax
mov qword [rdi + 0x5c], rax
jmp 0x1400e1a84
add eax, 0xfffffff8
mov r8d, eax
call fcn.140361a80
movzx eax, byte [rdi + 0x28]
mov rcx, rdi
mov byte [rdi + 0x67], al
movzx eax, byte [rdi + 0x29]
mov byte [rdi + 0x66], al
movzx eax, byte [rdi + 0x2a]
mov byte [rdi + 0x65], al
movzx eax, byte [rdi + 0x2b]
mov byte [rdi + 0x64], al
movzx eax, byte [rdi + 0x24]
mov byte [rdi + 0x6b], al
movzx eax, byte [rdi + 0x25]
mov byte [rdi + 0x6a], al
movzx eax, byte [rdi + 0x26]
mov byte [rdi + 0x69], al
movzx eax, byte [rdi + 0x27]
mov byte [rdi + 0x68], al
call fcn.1400d51c0
mov eax, dword [rdi]
test eax, eax
je 0x1400e1bc7
dec eax
jne 0x1400e1c52
movzx eax, byte [rdi + 4]
mov rcx, rdi
mov byte [rbx + 3], al
movzx eax, byte [rdi + 5]
mov byte [rbx + 2], al
movzx eax, byte [rdi + 6]
mov byte [rbx + 1], al
movzx eax, byte [rdi + 7]
mov byte [rbx], al
movzx eax, byte [rdi + 8]
mov byte [rbx + 7], al
movzx eax, byte [rdi + 9]
mov byte [rbx + 6], al
movzx eax, byte [rdi + 0xa]
mov byte [rbx + 5], al
movzx eax, byte [rdi + 0xb]
mov byte [rbx + 4], al
movzx eax, byte [rdi + 0xc]
mov byte [rbx + 0xb], al
movzx eax, byte [rdi + 0xd]
mov byte [rbx + 0xa], al
movzx eax, byte [rdi + 0xe]
mov byte [rbx + 9], al
movzx eax, byte [rdi + 0xf]
mov byte [rbx + 8], al
movzx eax, byte [rdi + 0x10]
mov byte [rbx + 0xf], al
movzx eax, byte [rdi + 0x11]
mov byte [rbx + 0xe], al
movzx eax, byte [rdi + 0x12]
mov byte [rbx + 0xd], al
movzx eax, byte [rdi + 0x13]
mov byte [rbx + 0xc], al
movzx eax, byte [rdi + 0x14]
mov byte [rbx + 0x13], al
movzx eax, byte [rdi + 0x15]
mov byte [rbx + 0x12], al
movzx eax, byte [rdi + 0x16]
mov byte [rbx + 0x11], al
movzx eax, byte [rdi + 0x17]
mov byte [rbx + 0x10], al
movzx eax, byte [rdi + 0x18]
mov byte [rbx + 0x17], al
movzx eax, byte [rdi + 0x19]
mov byte [rbx + 0x16], al
movzx eax, byte [rdi + 0x1a]
mov byte [rbx + 0x15], al
movzx eax, byte [rdi + 0x1b]
mov byte [rbx + 0x14], al
movzx eax, byte [rdi + 0x1c]
mov byte [rbx + 0x1b], al
movzx eax, byte [rdi + 0x1d]
mov byte [rbx + 0x1a], al
movzx eax, byte [rdi + 0x1e]
mov byte [rbx + 0x19], al
movzx eax, byte [rdi + 0x1f]
mov byte [rbx + 0x18], al
movzx eax, byte [rdi + 0x20]
mov byte [rbx + 0x1f], al
movzx eax, byte [rdi + 0x21]
mov byte [rbx + 0x1e], al
movzx eax, byte [rdi + 0x22]
mov byte [rbx + 0x1d], al
movzx eax, byte [rdi + 0x23]
mov byte [rbx + 0x1c], al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1400d5040
movzx eax, byte [rdi + 4]
mov byte [rbx + 3], al
movzx eax, byte [rdi + 5]
mov byte [rbx + 2], al
movzx eax, byte [rdi + 6]
mov byte [rbx + 1], al
movzx eax, byte [rdi + 7]
mov byte [rbx], al
movzx eax, byte [rdi + 8]
mov byte [rbx + 7], al
movzx eax, byte [rdi + 9]
mov byte [rbx + 6], al
movzx eax, byte [rdi + 0xa]
mov byte [rbx + 5], al
movzx eax, byte [rdi + 0xb]
mov byte [rbx + 4], al
movzx eax, byte [rdi + 0xc]
mov byte [rbx + 0xb], al
movzx eax, byte [rdi + 0xd]
mov byte [rbx + 0xa], al
movzx eax, byte [rdi + 0xe]
mov byte [rbx + 9], al
movzx eax, byte [rdi + 0xf]
mov byte [rbx + 8], al
movzx eax, byte [rdi + 0x10]
mov byte [rbx + 0xf], al
movzx eax, byte [rdi + 0x11]
mov byte [rbx + 0xe], al
movzx eax, byte [rdi + 0x12]
mov byte [rbx + 0xd], al
movzx eax, byte [rdi + 0x13]
mov byte [rbx + 0xc], al
movzx eax, byte [rdi + 0x14]
mov byte [rbx + 0x13], al
movzx eax, byte [rdi + 0x15]
mov byte [rbx + 0x12], al
movzx eax, byte [rdi + 0x16]
mov byte [rbx + 0x11], al
movzx eax, byte [rdi + 0x17]
mov byte [rbx + 0x10], al
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.1400d5040