Function at 0x140032184
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov eax, dword [rdx + 4]
mov rdi, rdx
mov rbx, rcx
test eax, eax
jns 0x1400321b2
mov ecx, dword [rcx + 4]
test ecx, ecx
js 0x1400321b2
mov eax, dword [rdx + 0xc]
bts ecx, 0x1f
mov dword [rbx + 4], ecx
mov dword [rbx + 0xc], eax
mov eax, dword [rdx + 4]
mov edx, 0x10000000
test edx, eax
je 0x1400321d0
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x1400321d0
mov eax, dword [rdi + 0x10]
or ecx, edx
mov dword [rbx + 4], ecx
mov dword [rbx + 0x10], eax
mov eax, dword [rdi + 4]
mov edx, 0x8000000
test edx, eax
je 0x1400321ee
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x1400321ee
mov al, byte [rdi + 0x18]
or ecx, edx
mov byte [rbx + 0x18], al
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x400000
test edx, eax
je 0x14003220e
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x14003220e
movzx eax, word [rdi + 0x5c]
or ecx, edx
mov word [rbx + 0x5c], ax
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x200000
test edx, eax
je 0x14003222e
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x14003222e
movzx eax, word [rdi + 0x5e]
or ecx, edx
mov word [rbx + 0x5e], ax
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x2000000
test edx, eax
je 0x14003224c
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x14003224c
mov eax, dword [rdi + 0x64]
or ecx, edx
mov dword [rbx + 4], ecx
mov dword [rbx + 0x64], eax
mov eax, dword [rdi + 4]
mov edx, 0x80000
test edx, eax
je 0x14003226c
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x14003226c
movzx eax, word [rdi + 0x6c]
or ecx, edx
mov word [rbx + 0x6c], ax
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x100000
test edx, eax
je 0x14003228c
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x14003228c
movzx eax, word [rdi + 0x6e]
or ecx, edx
mov word [rbx + 0x6e], ax
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x800000
test edx, eax
je 0x1400322aa
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x1400322aa
mov al, byte [rdi + 0x70]
or ecx, edx
mov byte [rbx + 0x70], al
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x40000
test edx, eax
je 0x1400322c8
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x1400322c8
mov al, byte [rdi + 0x71]
or ecx, edx
mov byte [rbx + 0x71], al
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x8000
test edx, eax
je 0x1400322e6
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x1400322e6
mov al, byte [rdi + 0x72]
or ecx, edx
mov byte [rbx + 0x72], al
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
bt eax, 0x1d
jae 0x140032315
test dword [rbx + 4], 0x20000000
jne 0x140032315
lea r8, [rdi + 0x1a]
mov edx, 0x20
lea rcx, [rbx + 0x1a]
call fcn.140009b48
mov al, byte [rdi + 0x19]
bts dword [rbx + 4], 0x1d
mov byte [rbx + 0x19], al
mov eax, dword [rdi + 4]
mov ecx, dword [rbx + 8]
mov r9d, 0x4000000
mov edx, ecx
test r9d, ecx
jne 0x140032355
mov r8d, dword [rbx + 4]
test r9d, r8d
jne 0x140032355
test dword [rdi + 8], r9d
je 0x14003233c
or edx, r9d
or r8d, r9d
jmp 0x14003234e
test r9d, eax
je 0x140032355
mov eax, dword [rdi + 0x60]
or r8d, r9d
btr edx, 0x1a
mov dword [rbx + 0x60], eax
mov dword [rbx + 8], edx
mov dword [rbx + 4], r8d
mov r9d, 0x40000000
mov ecx, edx
test r9d, edx
jne 0x140032393
mov r8d, dword [rbx + 4]
test r9d, r8d
jne 0x140032393
test dword [rdi + 8], r9d
je 0x140032379
or r8d, r9d
or ecx, r9d
jmp 0x14003238c
test dword [rdi + 4], r9d
je 0x140032393
mov eax, dword [rdi + 0x14]
or r8d, r9d
btr ecx, 0x1e
mov dword [rbx + 0x14], eax
mov dword [rbx + 8], ecx
mov dword [rbx + 4], r8d
mov eax, dword [rdi + 4]
test al, 0x40
je 0x1400323bc
mov edx, dword [rbx + 4]
test dl, 0x40
jne 0x1400323bc
test byte [rdi + 8], 0x40
je 0x1400323ad
or ecx, 0x40
jmp 0x1400323b0
and ecx, 0xffffffbf
mov dword [rbx + 8], ecx
or edx, 0x40
mov dword [rbx + 4], edx
mov eax, dword [rdi + 4]
mov edx, 0x80
test dl, al
je 0x1400323e7
mov ecx, dword [rbx + 4]
test dl, cl
jne 0x1400323e7
mov eax, dword [rbx + 8]
test byte [rdi + 8], dl
je 0x1400323d8
or eax, edx
jmp 0x1400323dc
btr eax, 7
mov dword [rbx + 8], eax
or ecx, edx
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x100
test edx, eax
je 0x140032412
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x140032412
mov eax, dword [rbx + 8]
test dword [rdi + 8], edx
je 0x140032403
or eax, edx
jmp 0x140032407
btr eax, 8
mov dword [rbx + 8], eax
or ecx, edx
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x200
test edx, eax
je 0x14003243d
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x14003243d
mov eax, dword [rbx + 8]
test dword [rdi + 8], edx
je 0x14003242e
or eax, edx
jmp 0x140032432
btr eax, 9
mov dword [rbx + 8], eax
or ecx, edx
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, COleDropTarget::XDropTarget::AddRef
test edx, eax
je 0x140032468
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x140032468
mov eax, dword [rbx + 8]
test dword [rdi + 8], edx
je 0x140032459
or eax, edx
jmp 0x14003245d
btr eax, 0xa
mov dword [rbx + 8], eax
or ecx, edx
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x800
test edx, eax
je 0x140032493
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x140032493
mov eax, dword [rbx + 8]
test dword [rdi + 8], edx
je 0x140032484
or eax, edx
jmp 0x140032488
btr eax, 0xb
mov dword [rbx + 8], eax
or ecx, edx
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x1000
test edx, eax
je 0x1400324be
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x1400324be
mov eax, dword [rbx + 8]
test dword [rdi + 8], edx
je 0x1400324af
or eax, edx
jmp 0x1400324b3
btr eax, 0xc
mov dword [rbx + 8], eax
or ecx, edx
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x2000
test edx, eax
je 0x1400324e9
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x1400324e9
mov eax, dword [rbx + 8]
test dword [rdi + 8], edx
je 0x1400324da
or eax, edx
jmp 0x1400324de
btr eax, 0xd
mov dword [rbx + 8], eax
or ecx, edx
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x4000
test edx, eax
je 0x140032514
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x140032514
mov eax, dword [rbx + 8]
test dword [rdi + 8], edx
je 0x140032505
or eax, edx
jmp 0x140032509
btr eax, 0xe
mov dword [rbx + 8], eax
or ecx, edx
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
test al, 1
je 0x14003253d
mov ecx, dword [rbx + 4]
test cl, 1
jne 0x14003253d
test byte [rdi + 8], 1
mov eax, dword [rbx + 8]
je 0x14003252e
or eax, 1
jmp 0x140032531
and eax, 0xfffffffe
mov dword [rbx + 8], eax
or ecx, 1
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
test al, 2
je 0x140032566
mov ecx, dword [rbx + 4]
test cl, 2
jne 0x140032566
test byte [rdi + 8], 2
mov eax, dword [rbx + 8]
je 0x140032557
or eax, 2
jmp 0x14003255a
and eax, 0xfffffffd
mov dword [rbx + 8], eax
or ecx, 2
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
test al, 4
je 0x14003258f
mov ecx, dword [rbx + 4]
test cl, 4
jne 0x14003258f
test byte [rdi + 8], 4
mov eax, dword [rbx + 8]
je 0x140032580
or eax, 4
jmp 0x140032583
and eax, 0xfffffffb
mov dword [rbx + 8], eax
or ecx, 4
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
test al, 8
je 0x1400325b8
mov ecx, dword [rbx + 4]
test cl, 8
jne 0x1400325b8
test byte [rdi + 8], 8
mov eax, dword [rbx + 8]
je 0x1400325a9
or eax, 8
jmp 0x1400325ac
and eax, 0xfffffff7
mov dword [rbx + 8], eax
or ecx, 8
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
test al, 0x10
je 0x1400325e1
mov ecx, dword [rbx + 4]
test cl, 0x10
jne 0x1400325e1
test byte [rdi + 8], 0x10
mov eax, dword [rbx + 8]
je 0x1400325d2
or eax, 0x10
jmp 0x1400325d5
and eax, 0xffffffef
mov dword [rbx + 8], eax
or ecx, 0x10
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
test al, 0x20
je 0x14003260a
mov ecx, dword [rbx + 4]
test cl, 0x20
jne 0x14003260a
test byte [rdi + 8], 0x20
mov eax, dword [rbx + 8]
je 0x1400325fb
or eax, 0x20
jmp 0x1400325fe
and eax, 0xffffffdf
mov dword [rbx + 8], eax
or ecx, 0x20
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x10000
test edx, eax
je 0x140032635
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x140032635
mov eax, dword [rbx + 8]
test dword [rdi + 8], edx
je 0x140032626
or eax, edx
jmp 0x14003262a
btr eax, 0x10
mov dword [rbx + 8], eax
or ecx, edx
mov dword [rbx + 4], ecx
mov eax, dword [rdi + 4]
mov edx, 0x20000
test edx, eax
je 0x14003265d
mov ecx, dword [rbx + 4]
test edx, ecx
jne 0x14003265d
mov eax, dword [rbx + 8]
test dword [rdi + 8], edx
je 0x140032651
or eax, edx
jmp 0x140032655
btr eax, 0x11
or ecx, edx
mov dword [rbx + 8], eax
mov dword [rbx + 4], ecx
mov eax, dword [rbx + 4]
mov ecx, 0x30000
test ecx, eax
je 0x14003266e
or eax, ecx
mov dword [rbx + 4], eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret