Function at 0x1401db820
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x30
mov r12, qword [rsp + 0x80]
mov r13d, r9d
mov r14d, r8d
mov rsi, rdx
mov rdi, rcx
inc dword [r12]
cmp dword [r12], 0x3e8
jle 0x1401db861
mov eax, 4
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
movzx eax, word [rdx]
mov ecx, 0x88
mov qword [rsp + 0x60], rbx
lea rbx, [rdx + 4]
mov qword [rsp + 0x70], rbp
mov ebp, 1
mov qword [rsp + 0x78], r15
mov r15d, ebp
cmp ax, cx
je 0x1401db8b0
mov r8d, 0x8d
cmp ax, r8w
je 0x1401db8b0
mov r8d, 0x89
cmp ax, r8w
je 0x1401db8b0
mov ecx, 0x8e
cmp ax, cx
jne 0x1401db8b4
add rbx, 2
xor r9d, r9d
lea r8, [0x140000000]
nop
movzx eax, word [rbx]
mov rdx, r9
cmp eax, 0xa6
ja case.0x1401db8e5.31
movzx eax, byte [r8 + rax + 0x1dbed4]
mov ecx, dword [r8 + rax*4 + 0x1dbe4c]
add rcx, r8
jmp rcx
mov r9d, r13d
mov qword [rsp + 0x20], r12
mov r8d, r14d
mov rdx, rbx
mov rcx, rdi
call fcn.1401db820
nop dword [rax]
cmp eax, 1
je 0x1401dbdfa
cmp eax, 2
jne 0x1401dbe2f
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x1401db920
add rbx, 4
lea r8, [0x140000000]
jmp 0x1401dbcc0
add rbx, 8
jmp 0x1401dbcc0
movzx eax, word [rbx + 6]
lea rbx, [rbx + rax*2]
jmp 0x1401dbcc0
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je case.0x1401db8e5.28
add rbx, 4
jmp 0x1401dbcc0
add rbx, 2
mov qword [rsp + 0x20], r12
mov rdx, rbx
mov r9d, r13d
mov r8d, r14d
mov rcx, rdi
call fcn.1401db820
test eax, eax
je 0x1401dbe2f
lea ecx, ds:[rax - 3]
cmp ecx, 1
jbe 0x1401dbe2f
nop dword [rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x1401db9b0
add rbx, 4
lea r8, [0x140000000]
jmp 0x1401dbcc0
add rbx, 2
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rbx + 2]
cmp word [rbx + rax*2], 0x78
lea rbx, [rbx + rax*2]
je 0x1401db9e0
add rbx, 4
jmp 0x1401dbcc0
movzx r8d, word [rbx + 2]
add rbx, 4
cmp r8d, 0xff
jbe 0x1401dba10
or byte [rdi + 0x47], 0x80
jmp 0x1401dba29
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 r14d, r14d
je 0x1401dba42
and r8d, 0xfc00
cmp r8d, 0xd800
jne 0x1401dba42
add rbx, 2
lea r8, [0x140000000]
jmp 0x1401dbcc0
lea rdx, [rbx + 2]
mov r9d, r14d
mov dword [rsp + 0x20], r13d
mov r8d, 1
mov rcx, rdi
call fcn.1401db1a0
mov rbx, rax
lea r8, [0x140000000]
jmp 0x1401dbcc0
movzx r8d, word [rbx + 4]
add rbx, 6
jmp 0x1401dba01
lea rdx, [rbx + 4]
jmp 0x1401dba52
add rbx, 2
movzx eax, word [rbx + 2]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x1401dbaac.12
cdqe
mov ecx, dword [r8 + rax*4 + 0x1dbf7c]
add rcx, r8
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 0x1401dbcc0
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
add rbx, 4
jmp 0x1401dbcc0
mov edx, 0x40
mov rcx, rdi
call fcn.1401db560
add rbx, 4
jmp 0x1401dbcc0
mov edx, 0x40
mov rcx, rdi
call fcn.1401db300
add rbx, 4
jmp 0x1401dbcc0
xor edx, edx
mov rcx, rdi
call fcn.1401db560
add rbx, 4
jmp 0x1401dbcc0
xor edx, edx
mov rcx, rdi
call fcn.1401db300
add rbx, 4
jmp 0x1401dbcc0
mov edx, 0xa0
mov rcx, rdi
call fcn.1401db560
add rbx, 4
jmp 0x1401dbcc0
mov edx, 0xa0
mov rcx, rdi
call fcn.1401db300
add rbx, 4
jmp 0x1401dbcc0
movzx ecx, word ds:[rbx + 4]
test cl, 4
jne case.0x1401dbaac.12
movzx eax, cl
and al, 3
cmp al, 1
je case.0x1401dbaac.12
test cl, 2
je case.0x1401db8e5.21
lea rdx, [rbx + 6]
or byte [rdi + 0x47], 0x80
cmp word [rbx], 0x70
jne 0x1401dbb93
movzx eax, word [rbx + 2]
lea rbx, [rbx + rax*2]
jmp 0x1401dbb9b
lea rdx, [rbx + 2]
add rbx, 0x22
nop dword [rax + rax]
test rdx, rdx
je 0x1401dbc88
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.0x1401dbca4.100
cdqe
mov ecx, dword [r8 + rax*4 + 0x1dbfbc]
add rcx, r8
jmp rcx
add rbx, 2
jmp 0x1401dbcc0
movzx eax, word [rbx + 2]
test ax, ax
jne 0x1401dbcbc
add rbx, 6
test ax, ax
cmovne ebp, r9d
xor r9d, r9d
test ebp, ebp
je case.0x1401dbca4.100
jmp 0x1401db8c0
cmp word [rbx + 2], 0xa
jne case.0x1401dbaac.12
movzx eax, word [rbx + 4]
lea r8, [r8 + rax*4]
mov edx, dword [r8 + 0x240f20]
lea r8, [r8 + 0x240f20]
cmp edx, 0xffffffff
jae case.0x1401dbca4.100
nop word [rax + rax]
lea r8, [r8 + 4]
cmp edx, 0xff
jbe 0x1401dbd12
or byte [rdi + 0x47], 0x80
jmp 0x1401dbd27
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 0x1401dbd00
jmp case.0x1401dbca4.100
mov r15d, 2
jmp case.0x1401dbca4.100
add rbx, 2
movzx edx, word [rbx + 2]
cmp edx, 0xff
jbe 0x1401dbd58
or byte [rdi + 0x47], 0x80
jmp case.0x1401dbca4.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.0x1401dbca4.100
add rbx, 2
lea rdx, [rbx + 2]
mov dword [rsp + 0x20], r13d
mov r9d, r14d
mov r8d, 1
mov rcx, rdi
call fcn.1401db1a0
jmp 0x1401dbdfa
or byte [rdi + 0x29], 2
or byte [rdi + 0x2c], 1
or byte [rdi + 0x3c], 1
or byte [rdi + 0x47], 0x80
jmp case.0x1401dbca4.100
or byte [rdi + 0x29], 0x3c
or byte [rdi + 0x38], 0x20
or byte [rdi + 0x47], 0x80
jmp case.0x1401dbca4.100
mov edx, 0x40
mov rcx, rdi
call fcn.1401db560
jmp 0x1401dbdfa
mov edx, 0x40
jmp 0x1401dbdf2
xor edx, edx
mov rcx, rdi
call fcn.1401db560
jmp 0x1401dbdfa
xor edx, edx
jmp 0x1401dbdf2
mov edx, 0xa0
mov rcx, rdi
call fcn.1401db560
jmp 0x1401dbdfa
mov edx, 0xa0
mov rcx, rdi
call fcn.1401db300
xor r9d, r9d
movzx eax, word [rsi + 2]
cmp word [rsi + rax*2], 0x78
lea rsi, [rsi + rax*2]
jne 0x1401dbe1a
mov ebp, 1
lea rbx, [rsi + 4]
jmp 0x1401db8b7
mov eax, r15d
jmp 0x1401dbe2f
mov eax, 2
jmp 0x1401dbe2f
xor eax, eax
jmp 0x1401dbe2f
mov eax, 3
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
mov r15, qword [rsp + 0x78]
add rsp, 0x30
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret