Function at 0x140077030
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov eax, 0x86
lea rbx, [rdx + 4]
lea r15, [0x140000000]
mov rdi, rcx
mov esi, r8d
mov r14, rdx
mov ebp, 1
mov ecx, 0x8c
mov r12d, 0x8b
mov r13d, 0x87
cmp word [rdx], ax
je case.0x140077415.98
movzx eax, word [r14]
cmp ax, r12w
je case.0x140077415.98
cmp ax, r13w
je case.0x140077415.98
cmp ax, cx
jne 0x1400770a0
add rbx, 2
nop dword [rax]
movzx eax, word [rbx]
xor edx, edx
cmp eax, 0xa3
ja case.0x1400770c4.31
movzx eax, byte [r15 + rax + 0x77608]
mov ecx, dword [r15 + rax*4 + 0x77580]
add rcx, r15
jmp rcx
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call fcn.140077030
test eax, eax
je 0x140077561
cmp eax, 3
je 0x140077561
cmp eax, 1
je case.0x140077415.100
nop
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x1400770f0
add rbx, 4
jmp 0x1400770a0
add rbx, 8
jmp 0x1400770a0
movzx eax, word [rbx + 6]
lea rbx, [rbx + rax*2]
jmp 0x1400770a0
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je case.0x1400770c4.28
add rbx, 4
jmp 0x1400770a0
add rbx, 2
mov r8d, esi
mov rdx, rbx
mov rcx, rdi
call fcn.140077030
test eax, eax
je 0x140077561
cmp eax, 3
je 0x140077561
nop dword [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x140077160
add rbx, 4
jmp 0x1400770a0
add rbx, 2
nop dword [rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x140077180
add rbx, 4
jmp 0x1400770a0
movzx r8d, word [rbx + 2]
add rbx, 4
cmp r8d, 0xff
jbe 0x1400771b0
or byte [rdi + 0x47], 0x80
jmp 0x1400771c9
mov rdx, r8
mov eax, r8d
shr rdx, 3
and eax, 7
movzx ecx, byte [rdx + rdi + 0x28]
bts ecx, eax
mov byte [rdx + rdi + 0x28], cl
test esi, esi
je 0x1400770a0
and r8d, 0xfc00
cmp r8d, 0xd800
jmp 0x140077093
lea rdx, [rbx + 2]
mov r9d, esi
mov r8d, 1
mov rcx, rdi
call fcn.140076b30
mov rbx, rax
jmp 0x1400770a0
movzx r8d, word [rbx + 4]
add rbx, 6
jmp 0x1400771a1
lea rdx, [rbx + 4]
mov r9d, esi
mov r8d, 1
mov rcx, rdi
call fcn.140076b30
mov rbx, rax
jmp 0x1400770a0
add rbx, 2
movzx eax, word [rbx + 2]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x14007724a.12
cdqe
mov ecx, dword [r15 + rax*4 + 0x776ac]
add rcx, r15
jmp rcx
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
add rbx, 4
jmp 0x1400770a0
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
add rbx, 4
jmp 0x1400770a0
mov edx, 0x40
mov rcx, rdi
call fcn.140076e20
add rbx, 4
jmp 0x1400770a0
mov edx, 0x40
mov rcx, rdi
call fcn.140076c50
add rbx, 4
jmp 0x1400770a0
mov edx, 0xa0
mov rcx, rdi
call fcn.140076e20
add rbx, 4
jmp 0x1400770a0
mov edx, 0xa0
mov rcx, rdi
call fcn.140076c50
add rbx, 4
jmp 0x1400770a0
movzx ecx, word [rbx + 4]
test cl, 4
jne case.0x14007724a.12
movzx eax, cl
and al, 3
cmp al, 1
je case.0x14007724a.12
test cl, 2
je case.0x1400770c4.21
lea rdx, [rbx + 6]
or byte [rdi + 0x47], 0x80
cmp word [rbx], 0x70
jne 0x140077309
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
jmp 0x140077311
lea rdx, [rbx + 2]
add rbx, 0x22
test rdx, rdx
je 0x1400773f9
movzx eax, byte [rdx]
or byte [rdi + 0x28], al
movzx eax, byte [rdx + 1]
or byte [rdi + 0x29], al
movzx eax, byte [rdx + 2]
or byte [rdi + 0x2a], al
movzx eax, byte [rdx + 3]
or byte [rdi + 0x2b], al
movzx eax, byte [rdx + 4]
or byte [rdi + 0x2c], al
movzx eax, byte [rdx + 5]
or byte [rdi + 0x2d], al
movzx eax, byte [rdx + 6]
or byte [rdi + 0x2e], al
movzx eax, byte [rdx + 7]
or byte [rdi + 0x2f], al
movzx eax, byte [rdx + 8]
or byte [rdi + 0x30], al
movzx eax, byte [rdx + 9]
or byte [rdi + 0x31], al
movzx eax, byte [rdx + 0xa]
or byte [rdi + 0x32], al
movzx eax, byte [rdx + 0xb]
or byte [rdi + 0x33], al
movzx eax, byte [rdx + 0xc]
or byte [rdi + 0x34], al
movzx eax, byte [rdx + 0xd]
or byte [rdi + 0x35], al
movzx eax, byte [rdx + 0xe]
or byte [rdi + 0x36], al
movzx eax, byte [rdx + 0xf]
or byte [rdi + 0x37], al
movzx eax, byte [rdx + 0x10]
or byte [rdi + 0x38], al
movzx eax, byte [rdx + 0x11]
or byte [rdi + 0x39], al
movzx eax, byte [rdx + 0x12]
or byte [rdi + 0x3a], al
movzx eax, byte [rdx + 0x13]
or byte [rdi + 0x3b], al
movzx eax, byte [rdx + 0x14]
or byte [rdi + 0x3c], al
movzx eax, byte [rdx + 0x15]
or byte [rdi + 0x3d], al
movzx eax, byte [rdx + 0x16]
or byte [rdi + 0x3e], al
movzx eax, byte [rdx + 0x17]
or byte [rdi + 0x3f], al
movzx eax, byte [rdx + 0x18]
or byte [rdi + 0x40], al
movzx eax, byte [rdx + 0x19]
or byte [rdi + 0x41], al
movzx eax, byte [rdx + 0x1a]
or byte [rdi + 0x42], al
movzx eax, byte [rdx + 0x1b]
or byte [rdi + 0x43], al
movzx eax, byte [rdx + 0x1c]
or byte [rdi + 0x44], al
movzx eax, byte [rdx + 0x1d]
or byte [rdi + 0x45], al
movzx eax, byte [rdx + 0x1e]
or byte [rdi + 0x46], al
movzx eax, byte [rdx + 0x1f]
or byte [rdi + 0x47], al
movzx eax, word [rbx]
add eax, 0xffffff9e
cmp eax, 0xb
ja case.0x140077415.100
cdqe
mov ecx, dword [r15 + rax*4 + 0x776ec]
add rcx, r15
jmp rcx
cmp word [rbx + 2], 0
jne case.0x140077415.100
add rbx, 6
jmp 0x1400770a0
cmp word [rbx + 2], 9
jne case.0x14007724a.12
movzx eax, word [rbx + 4]
lea r8, [r15 + 0x1439a0]
mov edx, dword [r8 + rax*4]
lea r8, [r8 + rax*4]
cmp edx, 0xffffffff
jae case.0x140077415.100
lea r8, [r8 + 4]
cmp edx, 0xff
jbe 0x140077464
or byte [rdi + 0x47], 0x80
jmp 0x140077479
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + rdi + 0x28]
bts eax, edx
mov byte [rcx + rdi + 0x28], al
mov edx, dword [r8]
cmp edx, 0xffffffff
jb 0x140077452
jmp case.0x140077415.100
mov ebp, 2
jmp case.0x140077415.100
add rbx, 2
movzx edx, word [rbx + 2]
cmp edx, 0xff
jbe 0x1400774a9
or byte [rdi + 0x47], 0x80
jmp case.0x140077415.100
mov rcx, rdx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + rdi + 0x28]
bts eax, edx
mov byte [rcx + rdi + 0x28], al
jmp case.0x140077415.100
add rbx, 2
lea rdx, [rbx + 2]
mov r9d, esi
mov r8d, 1
mov rcx, rdi
call fcn.140076b30
jmp case.0x140077415.100
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
jmp case.0x140077415.100
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
jmp case.0x140077415.100
mov edx, 0x40
mov rcx, rdi
call fcn.140076e20
jmp case.0x140077415.100
mov edx, 0x40
jmp case.0x1400770c4.3
mov edx, 0xa0
mov rcx, rdi
call fcn.140076e20
jmp case.0x140077415.100
mov edx, 0xa0
mov rcx, rdi
call fcn.140076c50
movzx eax, word [r14 + 2]
cmp word [r14 + rax*2], 0x78
lea r14, [r14 + rax*2]
jne 0x14007754d
lea rbx, [r14 + 4]
mov ecx, 0x8c
jmp 0x140077080
mov eax, ebp
jmp 0x140077561
xor eax, eax
jmp 0x140077561
mov eax, 2
jmp 0x140077561
mov eax, 3
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret