Function at 0x1800102c0
Capabilities:
Enumerate pe sections

Disassembly:
mov r11, rsp
push rsi
push r12
push r14
push r15
sub rsp, 0x58
mov r12d, edx
mov r14, r9
mov r15, r8
mov rsi, rcx
test r8, r8
je 0x18001088a
test r9, r9
je 0x18001088a
mov dword [r9], r12d
mov rax, qword [rcx + 0x68]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
xor ebp, ebp
mov qword [r11 - 0x40], rbp
mov r8, qword [rax + 0x20]
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x28], r13
lea r13, [r12*4]
mov dword [rsp + 0x40], 0xffffffff
mov eax, dword [r8 + r13]
mov qword [r9 + 8], rax
movzx ecx, byte [r15 + 5]
movzx eax, byte [r15 + 4]
shl cx, 8
or cx, ax
mov word [r9 + 0x10], cx
movzx ecx, byte [r15 + 7]
movzx eax, byte [r15 + 6]
shl cx, 8
or cx, ax
mov word [r9 + 0x12], cx
movzx ecx, byte [r15 + 9]
movzx eax, byte [r15 + 8]
shl cx, 8
or cx, ax
mov word [r9 + 0x14], cx
movzx ecx, byte [r15 + 0xb]
movzx eax, byte [r15 + 0xa]
shl cx, 8
or cx, ax
mov word [r9 + 0x16], cx
movzx ecx, byte [r15 + 0xf]
movzx eax, byte [r15 + 0xe]
movzx edx, byte [r15 + 0xd]
shl ecx, 8
or ecx, eax
shl edx, 8
movzx eax, byte [r15 + 0xc]
or edx, eax
mov eax, ecx
shr eax, 9
add eax, 0x50
mov dword [rsp + 0x34], eax
mov eax, ecx
shr eax, 5
and ecx, 0x1f
and eax, 0xf
mov dword [rsp + 0x2c], ecx
dec eax
lea rcx, [r11 - 0x58]
mov dword [rsp + 0x30], eax
mov eax, edx
shr eax, 0xb
mov dword [rsp + 0x28], eax
mov eax, edx
shr eax, 5
and edx, 0x1f
and eax, 0x3f
add edx, edx
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x20], edx
call fcn.180024840
mov qword [r14 + 0x450], rax
movzx eax, byte [r15 + 0x12]
movzx ecx, byte [r15 + 0x13]
shl ecx, 8
or ecx, eax
movzx eax, byte [r15 + 0x11]
shl ecx, 8
or ecx, eax
movzx eax, byte [r15 + 0x10]
shl ecx, 8
or ecx, eax
mov dword [r14 + 0x18], ecx
movzx ecx, byte [r15 + 0x17]
movzx eax, byte [r15 + 0x16]
shl rcx, 8
or rcx, rax
shl rcx, 8
movzx eax, byte [r15 + 0x15]
lea rdx, [r15 + 0x2e]
or rcx, rax
mov edi, 0x1ff
movzx eax, byte [r15 + 0x14]
shl rcx, 8
or rcx, rax
mov qword [r14 + 0x20], rcx
movzx eax, byte [r15 + 0x1a]
movzx ecx, byte [r15 + 0x1b]
shl rcx, 8
or rcx, rax
movzx eax, byte [r15 + 0x19]
shl rcx, 8
or rcx, rax
movzx eax, byte [r15 + 0x18]
shl rcx, 8
or rcx, rax
mov qword [r14 + 0x28], rcx
movzx ecx, byte [r15 + 0x25]
movzx eax, byte [r15 + 0x24]
shl cx, 8
or cx, ax
mov word [r14 + 0x30], cx
movzx eax, byte [r15 + 0x28]
movzx ecx, byte [r15 + 0x29]
shl ecx, 8
or ecx, eax
movzx eax, byte [r15 + 0x27]
shl ecx, 8
or ecx, eax
movzx eax, byte [r15 + 0x26]
shl ecx, 8
or ecx, eax
mov dword [r14 + 0x34], ecx
movzx eax, byte [r15 + 0x2c]
movzx ecx, byte [r15 + 0x2d]
shl rcx, 8
or rcx, rax
movzx eax, byte [r15 + 0x2b]
shl rcx, 8
or rcx, rax
movzx eax, byte [r15 + 0x2a]
shl rcx, 8
or rcx, rax
mov qword [r14 + 0x38], rcx
movzx ecx, byte [r15 + 0x1d]
movzx eax, byte [r15 + 0x1c]
shl ecx, 8
or ecx, eax
mov eax, edi
cmp ecx, edi
cmovb eax, ecx
lea rcx, [r14 + 0x50]
mov r8d, eax
mov ebx, eax
call fcn.180019900
mov byte [rbx + r14 + 0x50], bpl
movzx ecx, byte [r15 + 0x21]
movzx eax, byte [r15 + 0x20]
shl ecx, 8
or ecx, eax
cmp ecx, edi
cmovb edi, ecx
mov dword [r14 + 0x40], edi
movzx eax, byte [r15 + 0x1c]
movzx edx, byte [r15 + 0x1d]
movzx ecx, byte [r15 + 0x1f]
shl rdx, 8
or rdx, rax
shl rcx, 8
movzx eax, byte [r15 + 0x1e]
add rdx, r15
or rcx, rax
mov r8d, edi
add rcx, 0x2e
add rdx, rcx
lea rcx, [r14 + 0x250]
call fcn.180019900
mov byte [rdi + r14 + 0x250], bpl
mov rdx, qword [rsi + 0x68]
test rdx, rdx
je 0x1800105a5
cmp r12d, dword [rsi + 0x10]
jae 0x1800105a5
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + r13]
add rcx, qword [rdx]
je 0x1800105a5
movzx edx, byte [rcx + 0x1d]
movzx eax, byte [rcx + 0x1c]
shl edx, 8
or edx, eax
je 0x180010599
cmp byte [rdx + rcx + 0x2d], 0x2f
jne 0x180010599
lea eax, [rbp + 1]
jmp 0x1800105ae
movzx eax, byte [rcx + 0x26]
shr eax, 4
and eax, 1
jmp 0x1800105ae
mov dword [rsi + 0x1c], 0x18
mov eax, ebp
mov dword [r14 + 0x44], eax
mov rcx, qword [rsi + 0x68]
test rcx, rcx
je 0x1800105d9
cmp r12d, dword [rsi + 0x10]
jae 0x1800105d9
mov rax, qword [rcx + 0x20]
mov edx, dword [rax + r13]
add rdx, qword [rcx]
je 0x1800105d9
test byte [rdx + 8], 0x41
mov eax, ebp
setne al
jmp 0x1800105e2
mov dword [rsi + 0x1c], 0x18
mov eax, ebp
mov dword [r14 + 0x48], eax
mov rcx, qword [rsi + 0x68]
test rcx, rcx
je 0x180010645
cmp r12d, dword [rsi + 0x10]
jae 0x180010645
mov rax, qword [rcx + 0x20]
mov edx, dword [rax + r13]
add rdx, qword [rcx]
je 0x180010645
movzx eax, byte [rdx + 0xa]
movzx ecx, byte [rdx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 8]
test ecx, 0xfffffff7
je 0x180010624
mov dword [rsi + 0x1c], 4
jmp 0x18001064c
test al, 0x41
je 0x180010631
mov dword [rsi + 0x1c], 5
jmp 0x18001064c
test al, 0x20
je 0x18001063e
mov dword [rsi + 0x1c], 6
jmp 0x18001064c
mov ebp, 1
jmp 0x18001064c
mov dword [rsi + 0x1c], 0x18
mov rbx, qword [r14 + 0x20]
mov r11, qword [r14 + 0x28]
mov rcx, rbx
mov rdi, qword [r14 + 0x38]
cmp rbx, r11
mov r13, qword [rsp + 0x50]
mov rax, rdi
cmovbe rcx, r11
mov dword [r14 + 0x4c], ebp
cmp rcx, rdi
mov ebp, 0xffffffff
cmova rax, rcx
cmp rax, rbp
jne 0x180010702
movzx r9d, byte [r15 + 0x1f]
movzx eax, byte [r15 + 0x1e]
shl r9d, 8
or r9d, eax
je 0x180010702
movzx ecx, byte [r15 + 0x1d]
lea r8, [r15 + 0x2e]
movzx eax, byte [r15 + 0x1c]
shl rcx, 8
or rcx, rax
add r8, rcx
nop
cmp r9d, 4
jb 0x18001087c
movzx eax, byte [r8 + 3]
movzx ecx, byte [r8 + 2]
shl eax, 8
or eax, ecx
mov ecx, r9d
mov r10d, eax
lea rdx, [rax + 4]
cmp rdx, rcx
ja 0x18001087c
movzx edx, byte [r8 + 1]
movzx ecx, byte [r8]
add r8, 4
shl edx, 8
or edx, ecx
cmp edx, 1
je 0x18001072b
mov ecx, 0xfffffffc
add r8, r10
sub ecx, eax
add r9d, ecx
jne 0x1800106b0
mov eax, 1
mov rbp, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x90]
add rsp, 0x58
pop r15
pop r14
pop r12
pop rsi
ret
cmp r11, rbp
jne 0x18001079c
cmp eax, 8
jb 0x18001087c
movzx ecx, byte [r8 + 6]
movzx edx, byte [r8 + 7]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8 + 5]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8 + 4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8 + 3]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8 + 2]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8 + 1]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8]
shl rdx, 8
add r8, 8
or rdx, rcx
mov qword [r14 + 0x28], rdx
add eax, 0xfffffff8
cmp rbx, rbp
jne 0x18001080d
cmp eax, 8
jb 0x18001087c
movzx ecx, byte [r8 + 6]
movzx edx, byte [r8 + 7]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8 + 5]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8 + 4]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8 + 3]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8 + 2]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8 + 1]
shl rdx, 8
or rdx, rcx
movzx ecx, byte [r8]
shl rdx, 8
add r8, 8
or rdx, rcx
mov qword [r14 + 0x20], rdx
add eax, 0xfffffff8
cmp rdi, rbp
jne 0x180010702
cmp eax, 8
jb 0x18001087c
movzx eax, byte [r8 + 6]
movzx ecx, byte [r8 + 7]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 5]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 4]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 3]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 2]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8 + 1]
shl rcx, 8
or rcx, rax
movzx eax, byte [r8]
shl rcx, 8
or rcx, rax
mov qword [r14 + 0x38], rcx
jmp 0x180010702
mov dword [rsi + 0x1c], 9
xor eax, eax
jmp 0x180010707
test rsi, rsi
je 0x180010896
mov dword [rcx + 0x1c], 0x18
xor eax, eax
add rsp, 0x58
pop r15
pop r14
pop r12
pop rsi
ret