Function at 0x14000e790
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rsi
push r12
push r14
sub rsp, 0x28
mov r14d, edx
mov rbp, rcx
cmp edx, 8
jae 0x14000e7d8
mov rdx, qword [rcx + 0x18]
xor r12d, r12d
mov rcx, qword [rcx + 0x20]
mov r9d, r12d
sub rcx, rdx
sar rcx, 3
test rcx, rcx
je 0x14000e7d8
mov eax, r12d
mov rsi, qword [rdx + rax*8]
cmp word [rsi], r8w
je 0x14000e7e5
inc r9d
mov eax, r9d
cmp rax, rcx
jb 0x14000e7c3
xor eax, eax
add rsp, 0x28
pop r14
pop r12
pop rsi
pop rbp
ret
test rsi, rsi
je 0x14000e7d8
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0x60]
mov qword [rsp + 0x50], rbx
xor r9d, r9d
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x60], r13
mov rax, qword [rcx]
mov qword [rsp + 0x20], r15
mov r15d, 0x7f
mov r8d, r15d
call qword [rax + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0x68]
xor r9d, r9d
mov r8d, r15d
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0x70]
xor r9d, r9d
mov r8d, r15d
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0x78]
xor r9d, r9d
mov r8d, r15d
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0xe0]
xor r9d, r9d
lea r8d, [r15 - 0x70]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0xe8]
xor r9d, r9d
lea r8d, [r15 - 0x70]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0xf0]
xor r9d, r9d
lea r8d, [r15 - 0x70]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0xf8]
xor r9d, r9d
lea r8d, [r15 - 0x70]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
movzx edx, byte [rsi + 3]
shl dl, 3
or dl, byte [rsi + 2]
mov byte [rbp + r14 + 0xd08], 3
movzx eax, byte [rsi + 2]
cmp eax, 7
ja case.default.0x14000e8e2
lea r8, [0x140000000]
mov ecx, dword [r8 + rax*4 + 0xed84]
add rcx, r8
jmp rcx
mov byte [rbp + r14 + 0xd10], 8
jmp case.default.0x14000e8e2
mov byte [rbp + r14 + 0xd10], 0xa
jmp case.default.0x14000e8e2
mov byte [rbp + r14 + 0xd10], InitCommonControls
jmp case.default.0x14000e8e2
mov byte [rbp + r14 + 0xd10], InitCommonControls
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
movzx r8d, dl
lea edx, [r14 + 0x20]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0x30]
mov rdi, qword [rcx]
call qword [rdi + 0x30]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0x30]
and eax, 0xfe
cmp byte [rbp + r14 + 0xd08], 3
sete r12b
xor r9d, r9d
or r12, rax
mov r8, r12
call qword [rdi + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0x40]
movzx eax, byte [rsi + 0xf]
xor r9d, r9d
or al, 0xf8
shl al, 4
mov r10, qword [rcx]
movzx r8d, al
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0xc]
lea edx, [r14 + 0x40]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rsi + 0xb]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx r8d, byte [rsi + 9]
lea edx, [r14 + 0x60]
mov ecx, r15d
xor r9d, r9d
sub ecx, r8d
mov dword [rbp + r14*4 + 0xc88], ecx
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
movzx eax, byte [rsi + 0xa]
lea edx, [r14 + 0x80]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rsi + 4]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0xe]
lea edx, [r14 + 0xa0]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 7
movzx r8d, al
movzx eax, byte [rsi + 5]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0xd]
lea edx, [r14 + 0xc0]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rsi + 6]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
mov rcx, qword [rbp + 0x10]
movzx eax, byte [rsi + 8]
shl al, 4
mov r10, qword [rcx]
movzx r8d, al
lea edx, [r14 + 0xe0]
movzx eax, byte [rsi + 7]
xor r9d, r9d
or r8, rax
call qword [r10 + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0x50]
movzx eax, byte [rsi + 0x1c]
xor r9d, r9d
or al, 0xf8
shl al, 4
mov r10, qword [rcx]
movzx r8d, al
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x19]
lea edx, [r14 + 0x50]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rsi + 0x18]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx r8d, byte [rsi + 0x16]
lea edx, [r14 + 0x70]
mov ecx, r15d
xor r9d, r9d
sub ecx, r8d
mov dword [rbp + r14*4 + 0xca8], ecx
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
movzx eax, byte [rsi + 0x17]
lea edx, [r14 + 0x90]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rsi + 0x11]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x1b]
lea edx, [r14 + 0xb0]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 7
movzx r8d, al
movzx eax, byte [rsi + 0x12]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x1a]
lea edx, [r14 + 0xd0]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rsi + 0x13]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x15]
lea edx, [r14 + 0xf0]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rsi + 0x14]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x29]
mov rcx, qword [rbp + 0x10]
or al, 0xf8
shl al, 4
movzx r8d, al
xor r9d, r9d
mov r10, qword [rcx]
lea edx, [r14 + 0x48]
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x26]
lea edx, [r14 + 0x48]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rsi + 0x25]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx r8d, byte [rsi + 0x23]
lea edx, [r14 + 0x68]
mov ecx, r15d
xor r9d, r9d
sub ecx, r8d
mov dword [rbp + r14*4 + 0xcc8], ecx
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
movzx eax, byte [rsi + 0x24]
lea edx, [r14 + 0x88]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rsi + 0x1e]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x28]
lea edx, [r14 + 0xa8]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 7
movzx r8d, al
movzx eax, byte [rsi + 0x1f]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x27]
lea edx, [r14 + 0xc8]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rsi + 0x20]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x22]
lea edx, [r14 + 0xe8]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rsi + 0x21]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
mov rcx, qword [rbp + 0x10]
lea edx, [r14 + 0x58]
movzx eax, byte [rsi + 0x36]
xor r9d, r9d
or al, 0xf8
shl al, 4
mov r10, qword [rcx]
movzx r8d, al
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x33]
lea edx, [r14 + 0x58]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rsi + 0x32]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx r8d, byte [rsi + 0x30]
sub r15d, r8d
lea edx, [r14 + 0x78]
mov dword [rbp + r14*4 + 0xce8], r15d
xor r9d, r9d
mov rcx, qword [rbp + 0x10]
mov rax, qword [rcx]
call qword [rax + InitCommonControls]
movzx eax, byte [rsi + 0x31]
lea edx, [r14 + 0x98]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rsi + 0x2b]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x35]
lea edx, [r14 + 0xb8]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 7
movzx r8d, al
movzx eax, byte [rsi + 0x2c]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x34]
lea edx, [r14 + 0xd8]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 6
movzx r8d, al
movzx eax, byte [rsi + 0x2d]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
movzx eax, byte [rsi + 0x2f]
lea edx, [r14 + 0xf8]
mov rcx, qword [rbp + 0x10]
xor r9d, r9d
shl al, 4
movzx r8d, al
movzx eax, byte [rsi + 0x2e]
mov r10, qword [rcx]
or r8, rax
call qword [r10 + InitCommonControls]
mov r15, qword [rsp + 0x20]
mov eax, 1
mov r13, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
add rsp, 0x28
pop r14
pop r12
pop rsi
pop rbp
ret