Function at 0x18020e1d0
Capabilities:
Enumerate pe sections

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push r13
push r14
push r15
sub rsp, 0xd68
mov rbx, r9
mov r13, rcx
mov r9, r8
mov eax, 0x10000
xor r15d, r15d
nop dword [rax + rax]
mov dword [rbx + rax*4], r15d
sub rax, 1
jns 0x18020e200
mov r11d, dword [rsp + 0xdc0]
movzx r8d, byte [rdx]
shl r8d, 8
mov qword [rsp + 0xda0], rdi
lea ebp, [r11 - 1]
movsxd r14, ebp
mov dword [rsp + 0x44], ebp
mov rsi, r14
cmp r14, 3
jl 0x18020e2e2
lea rdi, [r14 + 1]
shr rdi, 2
lea r10, [rdx - 1]
add r10, r14
lea r11, [r9 - 4]
mov eax, edi
lea r11, [r11 + r14*2]
neg eax
lea r14d, [r14 + rax*4]
nop dword [rax]
mov word [r11 + 4], r15w
lea r11, [r11 - 8]
movzx ecx, byte [r10 + 1]
lea r10, [r10 - 4]
shl ecx, 8
sar r8d, 8
or ecx, r8d
movsxd rax, ecx
sar ecx, 8
inc dword [rbx + rax*4]
mov word [r11 + 0xa], r15w
movzx edx, byte [r10 + 4]
shl edx, 8
or edx, ecx
movsxd rax, edx
sar edx, 8
inc dword [rbx + rax*4]
mov word [r11 + 8], r15w
movzx ecx, byte [r10 + 3]
shl ecx, 8
or ecx, edx
movsxd rax, ecx
sar ecx, 8
inc dword [rbx + rax*4]
mov word [r11 + 6], r15w
movzx r8d, byte [r10 + 2]
shl r8d, 8
or r8d, ecx
movsxd rax, r8d
inc dword [rbx + rax*4]
sub rdi, 1
jne 0x18020e260
mov rdx, qword [rsp + 0xda8]
mov r11d, dword [rsp + 0xdc0]
movsxd r10, r14d
test r14d, r14d
js 0x18020e315
nop word [rax + rax]
mov eax, r8d
mov word [r9 + r10*2], r15w
movzx ecx, byte [r10 + rdx]
sar eax, 8
shl ecx, 8
mov r8d, ecx
or r8d, eax
movsxd rax, r8d
inc dword [rbx + rax*4]
sub r10, 1
jns 0x18020e2f0
movzx eax, byte [rdx]
movsxd rcx, r11d
mov byte [rcx + rdx], al
mov word [r9 + rcx*2], r15w
movzx eax, byte [rdx + 1]
mov byte [rcx + rdx + 1], al
mov word [r9 + rcx*2 + 2], r15w
movzx eax, byte [rdx + 2]
mov byte [rcx + rdx + 2], al
mov word [r9 + rcx*2 + 4], r15w
movzx eax, byte [rdx + 3]
mov byte [rcx + rdx + 3], al
mov word [r9 + rcx*2 + 6], r15w
movzx eax, byte [rdx + 4]
mov byte [rcx + rdx + 4], al
mov word [r9 + rcx*2 + 8], r15w
movzx eax, byte [rdx + 5]
mov byte [rcx + rdx + 5], al
mov word [r9 + rcx*2 + 0xa], r15w
movzx eax, byte [rdx + 6]
mov byte [rcx + rdx + 6], al
mov word [r9 + rcx*2 + 0xc], r15w
movzx eax, byte [rdx + 7]
mov byte [rcx + rdx + 7], al
mov word [r9 + rcx*2 + 0xe], r15w
movzx eax, byte [rdx + 8]
mov byte [rcx + rdx + 8], al
mov word [r9 + rcx*2 + 0x10], r15w
movzx eax, byte [rdx + 9]
mov byte [rcx + rdx + 9], al
mov word [r9 + rcx*2 + 0x12], r15w
movzx eax, byte [rdx + 0xa]
mov byte [rcx + rdx + 0xa], al
mov word [r9 + rcx*2 + 0x14], r15w
movzx eax, byte [rdx + 0xb]
mov byte [rcx + rdx + 0xb], al
mov word [r9 + rcx*2 + 0x16], r15w
movzx eax, byte [rdx + 0xc]
mov byte [rcx + rdx + 0xc], al
mov word [r9 + rcx*2 + 0x18], r15w
movzx eax, byte [rdx + 0xd]
mov byte [rcx + rdx + 0xd], al
mov word [r9 + rcx*2 + 0x1a], r15w
movzx eax, byte [rdx + 0xe]
mov byte [rcx + rdx + 0xe], al
mov word [r9 + rcx*2 + 0x1c], r15w
movzx eax, byte [rdx + 0xf]
mov byte [rcx + rdx + 0xf], al
mov word [r9 + rcx*2 + 0x1e], r15w
movzx eax, byte [rdx + 0x10]
mov byte [rcx + rdx + 0x10], al
mov word [r9 + rcx*2 + 0x20], r15w
movzx eax, byte [rdx + 0x11]
mov byte [rcx + rdx + 0x11], al
mov word [r9 + rcx*2 + 0x22], r15w
movzx eax, byte [rdx + 0x12]
mov byte [rcx + rdx + 0x12], al
mov word [r9 + rcx*2 + 0x24], r15w
movzx eax, byte [rdx + 0x13]
mov byte [rcx + rdx + 0x13], al
mov word [r9 + rcx*2 + 0x26], r15w
movzx eax, byte [rdx + 0x14]
mov byte [rcx + rdx + 0x14], al
mov word [r9 + rcx*2 + 0x28], r15w
movzx eax, byte [rdx + 0x15]
mov byte [rcx + rdx + 0x15], al
mov word [r9 + rcx*2 + 0x2a], r15w
movzx eax, byte [rdx + 0x16]
mov byte [rcx + rdx + 0x16], al
mov word [r9 + rcx*2 + 0x2c], r15w
movzx eax, byte [rdx + 0x17]
mov byte [rcx + rdx + 0x17], al
mov word [r9 + rcx*2 + 0x2e], r15w
movzx eax, byte [rdx + 0x18]
mov byte [rcx + rdx + 0x18], al
mov word [r9 + rcx*2 + 0x30], r15w
movzx eax, byte [rdx + 0x19]
mov byte [rcx + rdx + 0x19], al
mov word [r9 + rcx*2 + 0x32], r15w
movzx eax, byte [rdx + 0x1a]
mov byte [rcx + rdx + 0x1a], al
mov word [r9 + rcx*2 + 0x34], r15w
mov r8d, 0x4000
movzx eax, byte [rdx + 0x1b]
mov byte [rcx + rdx + 0x1b], al
mov word [r9 + rcx*2 + 0x36], r15w
movzx eax, byte [rdx + 0x1c]
mov byte [rcx + rdx + 0x1c], al
mov word [r9 + rcx*2 + 0x38], r15w
movzx eax, byte [rdx + 0x1d]
mov byte [rcx + rdx + 0x1d], al
mov word [r9 + rcx*2 + 0x3a], r15w
movzx eax, byte [rdx + 0x1e]
mov byte [rcx + rdx + 0x1e], al
mov word [r9 + rcx*2 + 0x3c], r15w
movzx eax, byte [rdx + 0x1f]
mov byte [rcx + rdx + 0x1f], al
mov word [r9 + rcx*2 + 0x3e], r15w
movzx eax, byte [rdx + 0x20]
mov byte [rcx + rdx + 0x20], al
mov word [r9 + rcx*2 + 0x40], r15w
movzx eax, byte [rdx + 0x21]
mov byte [rcx + rdx + 0x21], al
mov word [r9 + rcx*2 + 0x42], r15w
lea rcx, [rbx + 8]
nop dword [rax + rax]
mov eax, dword [rcx - 8]
add dword [rcx - 4], eax
mov eax, dword [rcx - 4]
add dword [rcx], eax
mov eax, dword [rcx]
add dword [rcx + 4], eax
mov eax, dword [rcx + 4]
add dword [rcx + 8], eax
lea rcx, [rcx + 0x10]
sub r8, 1
jne 0x18020e500
movzx r9d, byte [rdx]
mov r10d, ebp
shl r9w, 8
cmp ebp, 3
jl 0x18020e607
lea r11, [rsi - 1]
add r11, rdx
lea edi, [rbp - 2]
nop
movzx r8d, byte [r11 + 1]
lea r11, [r11 - 4]
shr r9w, 8
shl r8w, 8
or r8w, r9w
movzx eax, r8w
movsxd rdx, dword [rbx + rax*4]
lea rcx, [rbx + rax*4]
shr r8w, 8
lea eax, [rdx - 1]
mov dword [rcx], eax
mov dword [r13 + rdx*4 - 4], r10d
sub r10d, 4
movzx r9d, byte [r11 + 4]
shl r9w, 8
or r9w, r8w
movzx eax, r9w
movsxd rdx, dword [rbx + rax*4]
lea rcx, [rbx + rax*4]
shr r9w, 8
lea eax, [rdx - 1]
mov dword [rcx], eax
lea ecx, [rdi + 1]
mov dword [r13 + rdx*4 - 4], ecx
movzx r8d, byte [r11 + 3]
shl r8w, 8
or r8w, r9w
movzx eax, r8w
movsxd rdx, dword [rbx + rax*4]
lea rcx, [rbx + rax*4]
shr r8w, 8
lea eax, [rdx - 1]
mov dword [rcx], eax
mov dword [r13 + rdx*4 - 4], edi
movzx r9d, byte [r11 + 2]
shl r9w, 8
or r9w, r8w
movzx eax, r9w
movsxd rdx, dword [rbx + rax*4]
lea rcx, [rbx + rax*4]
lea eax, [rdx - 1]
mov dword [rcx], eax
lea ecx, [rdi - 1]
sub edi, 4
mov dword [r13 + rdx*4 - 4], ecx
cmp r10d, 3
jge 0x18020e540
mov rdx, qword [rsp + 0xda8]
test r10d, r10d
js 0x18020e658
movsxd r8, r10d
add r8, rdx
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r8]
lea r8, [r8 - 1]
movzx eax, r9w
shl cx, 8
shr ax, 8
movzx r9d, cx
or r9w, ax
movzx eax, r9w
movsxd rdx, dword [rbx + rax*4]
lea rcx, [rbx + rax*4]
lea eax, [rdx - 1]
mov dword [rcx], eax
mov dword [r13 + rdx*4 - 4], r10d
sub r10d, 1
jns 0x18020e620
mov ecx, r15d
mov rax, r15
nop
cmp rax, 0x100
jae 0x18020eac9
mov dword [rsp + rax*4 + 0x160], ecx
inc ecx
mov byte [rsp + rax + 0x60], r15b
inc rax
cmp ecx, 0xff
jle 0x18020e660
mov qword [rsp + 0xd60], r12
mov r11d, 1
nop dword [rax]
nop word [rax + rax]
lea r11d, [r11 + r11*2]
inc r11d
cmp r11d, 0x100
jle 0x18020e6a0
mov eax, 0x55555556
imul r11d
mov r11d, edx
shr r11d, 0x1f
add r11d, edx
mov r15d, r11d
cmp r11d, 0xff
jg 0x18020e79e
movsxd rbp, r11d
mov r14, rbp
nop dword [rax + rax]
mov r12d, dword [rsp + rbp*4 + 0x160]
mov r10d, r15d
mov eax, r12d
mov r9, rbp
shl eax, 8
movsxd rcx, eax
mov eax, r12d
shl eax, 8
cdqe
mov edi, dword [rbx + rcx*4 + 0x400]
sub edi, dword [rbx + rax*4]
mov rax, rbp
sub rax, r14
mov r8d, dword [rsp + rax*4 + 0x160]
mov ecx, r8d
shl ecx, 8
movsxd rdx, ecx
shl r8d, 8
movsxd rcx, r8d
mov edx, dword [rbx + rdx*4 + 0x400]
sub edx, dword [rbx + rcx*4]
cmp edx, edi
jbe 0x18020e783
lea esi, [r11 - 1]
nop dword [rax]
mov ecx, dword [rsp + rax*4 + 0x160]
sub r10d, r11d
mov dword [rsp + r9*4 + 0x160], ecx
mov r9, rax
cmp r10d, esi
jle 0x18020e783
sub rax, r14
mov r8d, dword [rsp + rax*4 + 0x160]
mov ecx, r8d
shl ecx, 8
movsxd rdx, ecx
shl r8d, 8
movsxd rcx, r8d
mov edx, dword [rbx + rdx*4 + 0x400]
sub edx, dword [rbx + rcx*4]
cmp edx, edi
ja 0x18020e740
inc r15d
mov dword [rsp + r9*4 + 0x160], r12d
inc rbp
cmp r15d, 0xff
jle 0x18020e6e0
cmp r11d, 1
jne 0x18020e6b0
mov r12, qword [rsp + 0xda8]
xor ebp, ebp
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x40], 0
nop
movsxd r15, dword [rsp + rbp*4 + 0x160]
xor ebp, ebp
nop word [rax + rax]
cmp rbp, r15
je 0x18020e860
mov rax, r15
shl rax, 8
add rax, rbp
mov esi, dword [rbx + rax*4]
lea r14, [rbx + rax*4]
bt esi, 0x15
jb 0x18020e859
mov edi, dword [r14 + 4]
btr esi, 0x15
btr edi, 0x15
dec edi
cmp edi, esi
jle 0x18020e859
mov rax, qword [rsp + 0xdd0]
mov rdx, r12
mov r9d, dword [rsp + 0xdc0]
mov rcx, r13
mov r8, qword [rsp + 0xdb0]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
call fcn.18020d950
mov ecx, dword [rsp + 0x40]
sub edi, esi
mov rax, qword [rsp + 0xdd0]
inc ecx
add ecx, edi
mov dword [rsp + 0x40], ecx
cmp dword [rax], 0
jl 0x18020eaa8
or dword [r14], 0x200000
inc rbp
cmp rbp, 0xff
jle 0x18020e7d0
lea r8, [rbx + r15*4]
xor ecx, ecx
mov rdx, r8
nop dword [rax]
mov eax, dword [rdx]
lea rdx, [rdx + 0x400]
btr eax, 0x15
mov dword [rsp + rcx + 0x560], eax
mov eax, dword [rdx - 0x3fc]
btr eax, 0x15
dec eax
mov dword [rsp + rcx + 0x960], eax
add rcx, 4
cmp rcx, 0x3fc
jle 0x18020e880
mov ebp, dword [rsp + 0x44]
mov eax, r15d
shl eax, 8
mov edi, r15d
cdqe
mov r14d, 0xffffffff
mov r9d, dword [rbx + rax*4]
lea rsi, [rbx + rax*4]
btr r9d, 0x15
cmp r9d, dword [rsp + r15*4 + 0x560]
jge 0x18020e939
movsxd rax, r9d
lea r10, [rax*4]
add r10, r13
nop
mov ecx, dword [r10]
mov edx, ebp
lea eax, [rcx - 1]
test eax, eax
cmovns edx, r14d
add edx, ecx
movsxd rax, edx
movzx r11d, byte [rax + r12]
cmp byte [rsp + r11 + 0x60], 0
jne 0x18020e928
movsxd rcx, dword [rsp + r11*4 + 0x560]
lea eax, [rcx + 1]
mov dword [r13 + rcx*4], edx
mov dword [rsp + r11*4 + 0x560], eax
inc r9d
add r10, 4
cmp r9d, dword [rsp + r15*4 + 0x560]
jl 0x18020e8f0
shl edi, 8
movsxd rax, edi
lea rdi, [rbx + rax*4]
mov r9d, dword [rdi + 0x400]
btr r9d, 0x15
dec r9d
cmp r9d, dword [rsp + r15*4 + 0x960]
jle 0x18020e9b9
movsxd rax, r9d
lea r10, [rax*4]
add r10, r13
nop word [rax + rax]
mov ecx, dword [r10]
mov edx, ebp
lea eax, [rcx - 1]
test eax, eax
cmovns edx, r14d
add edx, ecx
movsxd rax, edx
movzx r11d, byte [rax + r12]
cmp byte [rsp + r11 + 0x60], 0
jne 0x18020e9a8
movsxd rcx, dword [rsp + r11*4 + 0x960]
lea eax, [rcx - 1]
mov dword [r13 + rcx*4], edx
mov dword [rsp + r11*4 + 0x960], eax
dec r9d
sub r10, 4
cmp r9d, dword [rsp + r15*4 + 0x960]
jg 0x18020e970
mov eax, pe_nt_image_headers64
nop
or dword [r8], 0x200000
or dword [r8 + 0x400], 0x200000
lea r8, [r8 + 0x800]
sub rax, 1
jne 0x18020e9c0
mov rbp, qword [rsp + 0x50]
mov byte [rsp + r15 + 0x60], 1
cmp rbp, 0xff
jge 0x18020ea93
mov edx, dword [rsi]
xor r9d, r9d
mov r8d, dword [rdi + 0x400]
btr edx, 0x15
btr r8d, 0x15
sub r8d, edx
cmp r8d, 0xfffe
jle 0x18020ea32
nop dword [rax + rax]
inc r9d
mov eax, r8d
mov ecx, r9d
sar eax, cl
cmp eax, 0xfffe
jg 0x18020ea20
sub r8d, 1
js 0x18020ea93
mov rdi, qword [rsp + 0xdb0]
mov r12d, dword [rsp + 0xdc0]
movsxd rcx, r8d
movsxd rax, edx
add rcx, rax
lea r11, [rcx*4]
add r11, r13
nop dword [rax]
movsxd r10, dword [r11]
mov edx, r8d
mov ecx, r9d
sar edx, cl
mov word [rdi + r10*2], dx
cmp r10d, 0x22
jge 0x18020ea81
lea eax, [r10 + r12]
movsxd rcx, eax
mov word [rdi + rcx*2], dx
sub r11, 4
sub r8d, 1
jns 0x18020ea60
mov r12, qword [rsp + 0xda8]
inc rbp
mov qword [rsp + 0x50], rbp
cmp rbp, 0xff
jle 0x18020e7c0
mov r12, qword [rsp + 0xd60]
mov rdi, qword [rsp + 0xda0]
add rsp, 0xd68
pop r15
pop r14
pop r13
pop rsi
pop rbp
pop rbx
ret
call fcn.18007b5a4
int3