Function at 0x14002d6e0
Capabilities:
Enumerate pe sections

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rax, qword [rdx]
mov rsi, rdx
movzx ebx, byte [rdx + 0x1c]
mov r14, rcx
mov r13d, dword [rcx + 0x54]
not ebx
mov rbp, qword [rcx + 0x10]
and ebx, 1
mov r15d, dword [rax]
inc r13d
mov dword [rcx + 0x54], r13d
mov eax, dword [rdx + 8]
mov dword [rsp + 0x80], eax
lea r12d, [r15 + rbx]
add r12d, dword [rsp + 0xa0]
cmp dword [rsp + 0xa8], 0
je 0x14002d748
mov edi, r9d
sub edi, r15d
sub edi, ebx
jmp 0x14002d753
lea eax, [r12 + r13]
mov dword [rcx + 0x54], eax
lea edi, [r13 + 1]
mov rdx, qword [rdx]
mov r9b, 1
mov r8d, edi
call fcn.14003b75c
lea eax, [r15 + rdi]
mov dword [rsp + 0x88], eax
test ebx, ebx
je 0x14002d78b
mov r8d, dword [rsi + 0xc]
mov r9d, eax
mov edx, 0x49
mov rcx, rbp
call fcn.140051b48
mov eax, dword [rsp + 0x88]
cmp dword [rsp + 0xa8], 0
jne 0x14002d7b0
mov r9d, dword [rsp + 0xa0]
lea r8d, [rax + rbx]
mov edx, dword [rsp + 0x98]
mov rcx, r14
call fcn.14003bdc8
mov eax, dword [rsp + 0x80]
mov edx, 0x31
sub r12d, eax
mov dword [rsp + 0x20], r13d
mov r9d, r12d
mov rcx, rbp
lea r8d, [rdi + rax]
call fcn.140051b5c
mov r12d, dword [rsp + 0x80]
test r12d, r12d
jle 0x14002d944
mov ecx, dword [r14 + 0x54]
mov r8d, dword [rsp + 0x88]
lea eax, [rcx + 1]
add ecx, dword [rsi + 8]
mov dword [r14 + 0x54], ecx
sub r15d, dword [rsi + 8]
add r15d, ebx
mov dword [rsp + 0xa8], eax
test ebx, ebx
jne 0x14002d810
mov r8d, dword [rsi + 0xc]
neg ebx
mov rcx, rbp
sbb edx, edx
and edx, 0xfffffff3
add edx, 0x3b
call fcn.140051b30
mov ecx, dword [rsi + 8]
mov r9d, edi
mov r8d, dword [rsp + 0xa8]
mov edx, 0x2a
mov dword [rsp + 0x20], ecx
mov rcx, rbp
mov dword [rsp + 0x80], eax
call fcn.140051b5c
mov edx, dword [rsi + 0x18]
mov rcx, rbp
call fcn.140057a50
mov rcx, qword [r14]
mov qword [rsp + 0x88], rax
cmp byte [rcx + 0x50], 0
jne 0x14002d9df
mov rbx, qword [rax + 0x10]
xor edx, edx
mov ecx, dword [rsp + 0xa0]
add ecx, r15d
mov dword [rax + 8], ecx
movzx r8d, word [rbx + 6]
mov rcx, qword [rbx + 0x18]
call fcn.14006f8b0
mov r9d, 0xfffffffa
mov r8, rbx
or edx, 0xffffffff
mov rcx, rbp
call fcn.140051e70
mov rdx, qword [rsi]
mov r9d, 1
mov r8d, r12d
mov rcx, r14
call fcn.1400276d4
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0x10], rax
mov rcx, rbp
call fcn.14001b704
xor r9d, r9d
mov ebx, eax
lea r8d, [rax + 1]
lea edx, [r9 + 0x2b]
mov dword [rsp + 0x20], r8d
call fcn.140051b5c
mov rcx, rbp
call fcn.1400583fc
mov dword [rsi + 0x14], eax
mov edx, 0x11
inc dword [r14 + 0x54]
mov rcx, rbp
mov r8d, dword [r14 + 0x54]
mov r9d, dword [rsi + 0x14]
mov dword [rsi + 0x10], r8d
call fcn.140051b48
mov r8d, dword [rsi + 0xc]
mov edx, 0x77
mov rcx, rbp
call fcn.140051b30
mov edx, dword [rsp + 0x80]
mov rcx, rbp
call fcn.140057fec
mov r8d, dword [rsp + 0xa8]
mov edx, edi
mov r9d, dword [rsi + 8]
mov rcx, r14
call fcn.14003bdc8
mov edx, ebx
mov rcx, rbp
call fcn.140057fec
mov dl, byte [rsi + 0x1c]
mov r9d, r13d
mov r8d, dword [rsi + 0xc]
not dl
and edx, 1
mov rcx, rbp
add edx, 0x6d
call fcn.140051b48
mov rcx, qword [rsp + 0x90]
cmp dword [rcx + 0xc], 0
je 0x14002d9df
mov eax, dword [rcx + 0x10]
mov edx, 0x8b
test eax, eax
lea edi, [rax + 1]
cmove edi, dword [rcx + 0xc]
mov rcx, rbp
mov r8d, edi
call fcn.140051b30
or r9d, 0xffffffff
mov r8d, edi
mov rcx, rbp
mov ebx, eax
lea edx, [r9 + 0x26]
call fcn.140051b48
mov edx, 0x10
mov rcx, rbp
call fcn.140051b14
mov edx, ebx
mov rcx, rbp
mov edi, eax
call fcn.140057fec
mov r8d, dword [rsi + 0xc]
mov edx, 0x69
call fcn.140051b30
mov r8d, dword [rsi + 0xc]
mov edx, 0x5f
mov rcx, rbp
call fcn.140051b30
mov edx, edi
mov rcx, rbp
call fcn.140057fec
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret