Function at 0x180004ab8
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r13
push r14
push r15
sub rsp, 0xc0
mov rax, qword [0x180066008]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov rdi, qword [rsp + 0x108]
mov sil, dl
mov edx, 0x200000
mov r15b, r9b
mov r14b, r8b
mov rbx, rcx
mov r11d, 1
mov rax, qword [rdi]
test rdx, rax
je 0x180004b2f
mov rcx, qword [rcx]
test rdx, rcx
je 0x180004b1a
test sil, sil
je 0x180004b2f
mov al, byte [rdi + 0x5d]
xor al, byte [rbx + 0x5d]
and al, r11b
xor byte [rbx + 0x5d], al
or rcx, rdx
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x400000
test rdx, rax
je 0x180004b5a
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004b46
test sil, sil
je 0x180004b5a
mov al, byte [rdi + 0x5d]
xor al, byte [rbx + 0x5d]
and al, 2
xor byte [rbx + 0x5d], al
or rcx, rdx
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x800000
test rdx, rax
je 0x180004b85
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004b71
test sil, sil
je 0x180004b85
mov al, byte [rdi + 0x5d]
xor al, byte [rbx + 0x5d]
and al, 4
xor byte [rbx + 0x5d], al
or rcx, rdx
mov qword [rbx], rcx
mov rax, qword [rdi]
mov r10d, 0x1000000
test r10, rax
je 0x180004bb1
mov rcx, qword [rbx]
test r10, rcx
je 0x180004b9d
test sil, sil
je 0x180004bb1
mov al, byte [rdi + 0x5d]
xor al, byte [rbx + 0x5d]
and al, 8
xor byte [rbx + 0x5d], al
or rcx, r10
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x100000
test rdx, rax
je 0x180004bd7
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004bc8
test sil, sil
je 0x180004bd7
mov al, byte [rdi + 0x5c]
or rcx, rdx
mov byte [rbx + 0x5c], al
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x40000
test rdx, rax
je 0x180004bff
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004bee
test sil, sil
je 0x180004bff
movzx eax, word [rdi + 0x58]
or rcx, rdx
mov word [rbx + 0x58], ax
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x80000
test rdx, rax
je 0x180004c31
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004c16
test sil, sil
je 0x180004c31
movzx eax, word [rdi + 0x5a]
cmp ax, r11w
ja 0x180005056
or rcx, rdx
mov word [rbx + 0x5a], ax
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x100
test rdx, rax
je 0x180004c57
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004c48
test sil, sil
je 0x180004c57
mov eax, dword [rdi + 0x34]
or rcx, rdx
mov qword [rbx], rcx
mov dword [rbx + 0x34], eax
mov rax, qword [rdi]
mov edx, 0x200
test rdx, rax
je 0x180004c7d
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004c6e
test sil, sil
je 0x180004c7d
mov eax, dword [rdi + 0x38]
or rcx, rdx
mov qword [rbx], rcx
mov dword [rbx + 0x38], eax
mov rax, qword [rdi]
mov edx, 0x400
test rdx, rax
je 0x180004ca3
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004c94
test sil, sil
je 0x180004ca3
mov eax, dword [rdi + 0x3c]
or rcx, rdx
mov qword [rbx], rcx
mov dword [rbx + 0x3c], eax
mov rax, qword [rdi]
mov edx, 0x800
test rdx, rax
je 0x180004cc9
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004cba
test sil, sil
je 0x180004cc9
mov eax, dword [rdi + 0x40]
or rcx, rdx
mov qword [rbx], rcx
mov dword [rbx + 0x40], eax
mov rax, qword [rdi]
mov r8d, 0x1000
test r8, rax
je 0x180004cf0
mov rcx, qword [rbx]
test r8, rcx
je 0x180004ce1
test sil, sil
je 0x180004cf0
mov eax, dword [rdi + 0x44]
or rcx, r8
mov qword [rbx], rcx
mov dword [rbx + 0x44], eax
mov rax, qword [rdi]
mov edx, 0x2000
test rdx, rax
je 0x180004d21
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004d07
test sil, sil
je 0x180004d21
mov eax, dword [rdi + 0x48]
cmp eax, 0x3fff
ja 0x180005056
or rcx, rdx
mov dword [rbx + 0x48], eax
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x4000
test rdx, rax
je 0x180004d52
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004d38
test sil, sil
je 0x180004d52
mov eax, dword [rdi + 0x4c]
cmp eax, 0x927c0
ja 0x180005056
or rcx, rdx
mov dword [rbx + 0x4c], eax
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x8000
test rdx, rax
je 0x180004d78
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004d69
test sil, sil
je 0x180004d78
mov eax, dword [rdi + 0x50]
or rcx, rdx
mov qword [rbx], rcx
mov dword [rbx + 0x50], eax
mov rax, qword [rdi]
movabs rdx, 0x3fffffffffffffff
test al, 4
je 0x180004dae
mov rcx, qword [rbx]
test cl, 4
je 0x180004d93
test sil, sil
je 0x180004dae
mov rax, qword [rdi + 0x18]
cmp rax, rdx
ja 0x180005056
or rcx, 4
mov qword [rbx + 0x18], rax
mov qword [rbx], rcx
mov rax, qword [rdi]
test al, 2
je 0x180004dda
mov rcx, qword [rbx]
test cl, 2
je 0x180004dbf
test sil, sil
je 0x180004dda
mov rax, qword [rdi + 0x10]
cmp rax, rdx
ja 0x180005056
or rcx, 2
mov qword [rbx + 0x10], rax
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x10000
test rdx, rax
je 0x180004e02
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004df1
test sil, sil
je 0x180004e02
movzx eax, word [rdi + 0x54]
or rcx, rdx
mov word [rbx + 0x54], ax
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x20000
test rdx, rax
je 0x180004e2a
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004e19
test sil, sil
je 0x180004e2a
movzx eax, word [rdi + 0x56]
or rcx, rdx
mov word [rbx + 0x56], ax
mov qword [rbx], rcx
mov rax, qword [rdi]
test al, 8
je 0x180004e6c
mov rcx, qword [rbx]
test cl, 8
je 0x180004e3b
test sil, sil
je 0x180004e4b
mov eax, dword [rdi + 0x20]
or rcx, 8
mov qword [rbx], rcx
mov dword [rbx + 0x20], eax
mov rax, qword [rdi]
test al, 8
je 0x180004e6c
mov rcx, qword [rbx]
test cl, 8
je 0x180004e5c
test sil, sil
je 0x180004e6c
mov eax, dword [rdi + 0x20]
or rcx, 8
mov qword [rbx], rcx
mov dword [rbx + 0x20], eax
mov rax, qword [rdi]
test al, 0x20
je 0x180004e8d
mov rcx, qword [rbx]
test cl, 0x20
je 0x180004e7d
test sil, sil
je 0x180004e8d
mov eax, dword [rdi + 0x28]
or rcx, 0x20
mov qword [rbx], rcx
mov dword [rbx + 0x28], eax
mov rax, qword [rdi]
test al, 0x40
je 0x180004eb7
mov rcx, qword [rbx]
test cl, 0x40
je 0x180004e9e
test sil, sil
je 0x180004eb7
mov eax, dword [rdi + 0x2c]
cmp eax, r8d
jb 0x180005056
or rcx, 0x40
mov dword [rbx + 0x2c], eax
mov qword [rbx], rcx
mov rax, qword [rdi]
test al, al
jns 0x180004ed8
mov rcx, qword [rbx]
test cl, cl
jns 0x180004ec7
test sil, sil
je 0x180004ed8
mov eax, dword [rdi + 0x30]
bts rcx, 7
mov qword [rbx], rcx
mov dword [rbx + 0x30], eax
mov rax, qword [rdi]
test r11b, al
je 0x180004f0e
mov rcx, qword [rbx]
test r11b, cl
je 0x180004eea
test sil, sil
je 0x180004f0e
mov rax, qword [rdi + 8]
movabs rdx, 0x4000000000
cmp rax, rdx
ja 0x180005056
or rcx, r11
mov qword [rbx + 8], rax
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x2000000
test rdx, rax
je 0x180004f42
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004f25
test sil, sil
je 0x180004f42
mov al, byte [rdi + 0x5d]
and al, 0x30
cmp al, 0x20
ja 0x180005056
and byte [rbx + 0x5d], 0xcf
or byte [rbx + 0x5d], al
or rcx, rdx
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x8000000
test rdx, rax
je 0x180004f6a
mov rcx, qword [rbx]
test rdx, rcx
je 0x180004f59
test sil, sil
je 0x180004f6a
mov al, byte [rdi + 0x5d]
xor al, byte [rbx + 0x5d]
and al, 0x40
xor byte [rbx + 0x5d], al
or rcx, rdx
mov qword [rbx], rcx
cmp dword [rsp + 0x100], 0x6c
jb 0x1800050dc
mov eax, dword [rdi]
mov r13d, 0x4000000
test r13, rax
je 0x1800050dc
mov rax, qword [rbx]
test r13, rax
je 0x180004fd5
test sil, sil
jne 0x180004f9c
cmp dword [rdi + 0x68], 0
jne 0x180004fcc
mov r8, qword [rbx + 0x60]
xor edx, edx
mov rcx, qword [0x180069238]
call qword [sym.imp.KERNEL32.dll_HeapFree]
and qword [rbx + 0x60], 0
mov r10d, 0x1000000
and dword [rbx + 0x68], 0
mov r11d, 1
btr qword [rbx], 0x1a
mov rax, qword [rbx]
test r13, rax
jne 0x1800050dc
mov edx, dword [rdi + 0x68]
test edx, edx
je 0x1800050dc
test r14b, r14b
je 0x18000501a
mov r9, qword [rdi + 0x60]
xor ecx, ecx
mov r8d, dword [r9 + rcx*4]
mov eax, r8d
bswap eax
cmp eax, 0xcdab
je 0x180005013
cmp eax, r10d
je 0x180005013
cmp eax, 0x1d0000ff
je 0x180005013
and eax, 0xf0f0f0f
cmp eax, 0xa0a0a0a
jne 0x18000505d
add ecx, r11d
cmp ecx, edx
jb 0x180004feb
mov rcx, qword [0x180069238]
mov r8, rdx
shl r8, 2
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbx + 0x60], rax
test rax, rax
jne 0x18000509c
test byte [0x180067c70], 2
je 0x180005056
mov r9d, dword [rdi + 0x68]
lea r8, str.Desired_Versions_list
shl r9, 2
call fcn.180041870
xor al, al
jmp 0x18000524f
test byte [0x180067c75], 0x20
je 0x180005056
mov dword [rsp + 0x28], ecx
lea r9, str.Invalid_version_supplied_to_settings__0x_x_at_position__d
mov dword [rsp + 0x20], r8d
lea rcx, [rsp + 0x30]
or r8, 0xffffffffffffffff
mov edx, 0x80
call fcn.180042088
lea r8, [rsp + 0x30]
lea rdx, [0x180056e48]
call fcn.1800417fc
jmp 0x180005056
mov r8d, dword [rdi + 0x68]
mov rcx, rax
mov rdx, qword [rdi + 0x60]
shl r8, 2
call fcn.18002a1d0
mov eax, dword [rdi + 0x68]
or qword [rbx], r13
mov dword [rbx + 0x68], eax
test r14b, r14b
je 0x1800050dc
xor r8d, r8d
test eax, eax
je 0x1800050dc
mov rcx, qword [rbx + 0x60]
mov eax, dword [rcx + r8*4]
bswap eax
mov dword [rcx + r8*4], eax
inc r8d
cmp r8d, dword [rbx + 0x68]
jb 0x1800050c5
cmp dword [rsp + 0x100], 0x79
jb 0x1800051e9
test r15b, r15b
je 0x18000518f
movzx edx, word [rbx + 0x6c]
mov r11d, 0x10000000
mov r9d, 0x5dc
movzx ecx, word [rbx + 0x6e]
mov r8d, 0x4e0
test qword [rdi], r11
je 0x180005137
mov eax, dword [rbx]
test r11, rax
je 0x18000511e
test sil, sil
je 0x180005137
movzx edx, word [rdi + 0x6c]
cmp dx, r8w
jae 0x18000512d
mov edx, r8d
jmp 0x180005137
cmp dx, r9w
jbe 0x180005137
movzx edx, r9w
mov r10d, 0x20000000
test qword [rdi], r10
je 0x180005167
mov eax, dword [rbx]
test r10, rax
je 0x18000514e
test sil, sil
je 0x180005167
movzx ecx, word [rdi + 0x6e]
cmp cx, r8w
jae 0x18000515d
mov ecx, r8d
jmp 0x180005167
cmp cx, r9w
jbe 0x180005167
movzx ecx, r9w
cmp dx, cx
ja 0x180005056
cmp word [rbx + 0x6c], dx
je 0x180005179
or qword [rbx], r11
cmp word [rbx + 0x6e], cx
je 0x180005182
or qword [rbx], r10
mov word [rbx + 0x6c], dx
mov word [rbx + 0x6e], cx
mov rax, qword [rdi]
jmp 0x18000519e
mov rax, qword [rdi]
test rax, 0x30000000
jne 0x180005056
mov edx, 0x40000000
test rdx, rax
je 0x1800051c6
mov rcx, qword [rbx]
test rdx, rcx
je 0x1800051b5
test sil, sil
je 0x1800051c6
mov rax, qword [rdi + 0x70]
or rcx, rdx
mov qword [rbx + 0x70], rax
mov qword [rbx], rcx
mov rax, qword [rdi]
mov edx, 0x80000000
test rdx, rax
je 0x1800051e9
mov rcx, qword [rbx]
test rdx, rcx
je 0x1800051dd
test sil, sil
je 0x1800051e9
mov al, byte [rdi + 0x78]
or rcx, rdx
mov byte [rbx + 0x78], al
mov qword [rbx], rcx
cmp dword [rsp + 0x100], 0x7e
jb 0x18000524d
mov rax, qword [rdi]
movabs rdx, 0x100000000
test rdx, rax
je 0x180005223
mov rcx, qword [rbx]
test rdx, rcx
je 0x180005212
test sil, sil
je 0x180005223
movzx eax, word [rdi + 0x7a]
or rcx, rdx
mov word [rbx + 0x7a], ax
mov qword [rbx], rcx
mov rax, qword [rdi]
movabs r8, 0x200000000
test r8, rax
je 0x18000524d
mov rdx, qword [rbx]
test r8, rdx
je 0x18000523f
test sil, sil
je 0x18000524d
movzx ecx, word [rdi + 0x7c]
or rdx, r8
mov word [rbx + 0x7c], cx
mov qword [rbx], rdx
mov al, 1
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.180028c10
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
ret