Function at 0x4fc080
Capabilities:
Inspect section memory permissions

Disassembly:
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 4]
push ebx
push ebp
xor ebp, ebp
push esi
mov dword [eax], ebp
mov ecx, dword [edx]
mov esi, dword [edx + 4]
push edi
mov edi, ecx
mov eax, 1
and edi, eax
xor ebx, ebx
or edi, ebx
je 0x4fc0c5
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fc0b4
and ecx, 0xfffffffe
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 0
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 2
or edi, ebx
je 0x4fc0ed
mov edi, dword [esp + 0x20]
test edi, edi
je 0x4fc0e0
and ecx, 0xfffffffd
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
pop edi
pop esi
mov dword [edx], eax
mov eax, ebp
pop ebp
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 4
or edi, ebx
je 0x4fc147
mov edi, dword [esp + 0x18]
mov edi, dword [edi + 0x132]
dec edi
cmp edi, 3
ja case.default.0x4fc108
jmp dword [edi*4 + 0x4fc930]
mov ebp, eax
jmp case.default.0x4fc108
mov ebp, 2
jmp case.default.0x4fc108
mov ebp, 3
jmp case.default.0x4fc108
mov ebp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fc136
and ecx, 0xfffffffb
mov dword [edx], ecx
mov dword [edx + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [eax], 2
mov eax, ebp
pop ebp
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 8
or edi, ebx
je 0x4fc18f
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x11a]
test edi, edi
jle 0x4fc167
mov ebp, 5
jmp 0x4fc16e
jge 0x4fc16e
mov ebp, 6
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fc17e
and ecx, 0xfffffff7
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 3
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x10
or edi, ebx
je 0x4fc1d7
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x122]
test edi, edi
jle 0x4fc1af
mov ebp, 7
jmp 0x4fc1b6
jge 0x4fc1b6
mov ebp, 8
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fc1c6
and ecx, 0xffffffef
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 4
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x20
or edi, ebx
je 0x4fc21f
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x11e]
test edi, edi
jle 0x4fc1f7
mov ebp, 9
jmp 0x4fc1fe
jge 0x4fc1fe
mov ebp, 0xa
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fc20e
and ecx, 0xffffffdf
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 5
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x40
or edi, ebx
je 0x4fc267
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x126]
test edi, edi
jle 0x4fc23f
mov ebp, 0xb
jmp 0x4fc246
jge 0x4fc246
mov ebp, 0xc
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fc256
and ecx, 0xffffffbf
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 6
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x80
or edi, ebx
je 0x4fc2b2
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x12a]
test edi, edi
jle 0x4fc28a
mov ebp, 0xd
jmp 0x4fc291
jge 0x4fc291
mov ebp, 0xe
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fc2a1
and cl, 0x7f
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 7
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x100
or edi, ebx
je 0x4fc2fd
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x12e]
test edi, edi
jle 0x4fc2d5
mov ebp, 0xf
jmp 0x4fc2dc
jge 0x4fc2dc
mov ebp, 0x10
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fc2ec
and ch, 0xfe
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 8
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x200
or edi, ebx
je 0x4fc331
mov eax, dword [esp + 0x20]
mov ebp, 0x11
test eax, eax
je 0x4fc320
and ch, 0xfd
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [edx], 9
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x400
or edi, ebx
je 0x4fc365
mov eax, dword [esp + 0x20]
mov ebp, 0x12
test eax, eax
je 0x4fc354
and ch, 0xfb
mov dword [edx], ecx
mov dword [edx + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [eax], 0xa
mov eax, ebp
pop ebp
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x800
or edi, ebx
je 0x4fc399
mov eax, dword [esp + 0x20]
mov ebp, 0x13
test eax, eax
je 0x4fc388
and ch, 0xf7
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 0xb
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x1000
or edi, ebx
je 0x4fc3cd
mov eax, dword [esp + 0x20]
mov ebp, 0x14
test eax, eax
je 0x4fc3bc
and ch, 0xef
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [edx], 0xc
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x2000
or edi, ebx
je 0x4fc401
mov eax, dword [esp + 0x20]
mov ebp, 0x15
test eax, eax
je 0x4fc3f0
and ch, 0xdf
mov dword [edx], ecx
mov dword [edx + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [eax], 0xd
mov eax, ebp
pop ebp
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x4000
or edi, ebx
je 0x4fc435
mov eax, dword [esp + 0x20]
mov ebp, 0x16
test eax, eax
je 0x4fc424
and ch, 0xbf
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 0xe
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x8000
or edi, ebx
je 0x4fc469
mov eax, dword [esp + 0x20]
mov ebp, 0x17
test eax, eax
je 0x4fc458
and ch, 0x7f
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [edx], 0xf
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x10000
or edi, ebx
je 0x4fc4a0
mov eax, dword [esp + 0x20]
mov ebp, 0x18
test eax, eax
je 0x4fc48f
and ecx, 0xfffeffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [eax], 0x10
mov eax, ebp
pop ebp
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x20000
or edi, ebx
je 0x4fc4d7
mov eax, dword [esp + 0x20]
mov ebp, 0x19
test eax, eax
je 0x4fc4c6
and ecx, 0xfffdffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 0x11
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x40000
or edi, ebx
je 0x4fc50e
mov eax, dword [esp + 0x20]
mov ebp, 0x1b
test eax, eax
je 0x4fc4fd
and ecx, 0xfffbffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [edx], 0x12
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x80000
or edi, ebx
je 0x4fc545
mov eax, dword [esp + 0x20]
mov ebp, 0x1c
test eax, eax
je 0x4fc534
and ecx, 0xfff7ffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [eax], 0x13
mov eax, ebp
pop ebp
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x100000
or edi, ebx
je 0x4fc57c
mov eax, dword [esp + 0x20]
mov ebp, 0x1e
test eax, eax
je 0x4fc56b
and ecx, 0xffefffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 0x14
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x200000
or edi, ebx
je 0x4fc5b3
mov eax, dword [esp + 0x20]
mov ebp, 0x1f
test eax, eax
je 0x4fc5a2
and ecx, 0xffdfffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [edx], 0x15
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x400000
or edi, ebx
je 0x4fc629
mov edi, dword [esp + 0x18]
mov bx, word [edi + 0xd8]
test al, bl
je 0x4fc5d7
mov ebp, 0x22
jmp 0x4fc605
test bl, 2
je 0x4fc5e3
mov ebp, 0x24
jmp 0x4fc605
test bl, 4
je 0x4fc5ef
mov ebp, 0x25
jmp 0x4fc605
test bl, 8
je 0x4fc5fb
mov ebp, 0x21
jmp 0x4fc605
test bl, 0x10
je 0x4fc605
mov ebp, 0x23
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4fc618
and ecx, 0xffbfffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [eax], 0x16
mov eax, ebp
pop ebp
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x800000
or edi, ebx
je 0x4fc660
mov eax, dword [esp + 0x20]
mov ebp, 0x26
test eax, eax
je 0x4fc64f
and ecx, 0xff7fffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 0x17
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x1000000
or edi, ebx
je 0x4fc697
mov eax, dword [esp + 0x20]
mov ebp, 0x27
test eax, eax
je 0x4fc686
and ecx, 0xfeffffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [edx], 0x18
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x2000000
or edi, ebx
je 0x4fc6ce
mov eax, dword [esp + 0x20]
mov ebp, 0x28
test eax, eax
je 0x4fc6bd
and ecx, 0xfdffffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [eax], 0x19
mov eax, ebp
pop ebp
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x20000000
or edi, ebx
je 0x4fc705
mov eax, dword [esp + 0x20]
mov ebp, 0x29
test eax, eax
je 0x4fc6f4
and ecx, 0xdfffffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 0x1d
pop ebx
ret
mov edi, ecx
xor ebx, ebx
and edi, 0x40000000
or edi, ebx
je 0x4fc73c
mov eax, dword [esp + 0x20]
mov ebp, 0x2a
test eax, eax
je 0x4fc72b
and ecx, 0xbfffffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [edx], 0x1e
pop ebx
ret
mov ebx, esi
xor edi, edi
and ebx, 2
or edi, ebx
je 0x4fc76d
mov eax, dword [esp + 0x20]
mov ebp, 0x2d
test eax, eax
je 0x4fc75c
and esi, 0xfffffffd
mov dword [edx], ecx
mov dword [edx + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [eax], 0x21
mov eax, ebp
pop ebp
pop ebx
ret
mov ebx, esi
xor edi, edi
and ebx, 4
or edi, ebx
je 0x4fc79e
mov eax, dword [esp + 0x20]
mov ebp, 0x2b
test eax, eax
je 0x4fc78d
and esi, 0xfffffffb
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 0x22
pop ebx
ret
mov ebx, esi
xor edi, edi
and ebx, 8
or edi, ebx
je 0x4fc7cf
mov eax, dword [esp + 0x20]
mov ebp, 0x2c
test eax, eax
je 0x4fc7be
and esi, 0xfffffff7
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [edx], 0x23
pop ebx
ret
mov ebx, esi
xor edi, edi
and ebx, 0x10
or edi, ebx
je 0x4fc800
mov eax, dword [esp + 0x20]
mov ebp, 0x2e
test eax, eax
je 0x4fc7ef
and esi, 0xffffffef
mov dword [edx], ecx
mov dword [edx + 4], esi
mov eax, dword [esp + 0x1c]
pop edi
pop esi
mov dword [eax], 0x24
mov eax, ebp
pop ebp
pop ebx
ret
mov ebx, esi
xor edi, edi
and ebx, eax
or edi, ebx
je 0x4fc830
mov eax, dword [esp + 0x20]
mov ebp, 0x2f
test eax, eax
je 0x4fc81f
and esi, 0xfffffffe
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 0x25
pop ebx
ret
mov ebx, esi
xor edi, edi
and ebx, 0x400
or edi, ebx
je 0x4fc867
mov eax, dword [esp + 0x20]
mov ebp, 0x30
test eax, eax
je 0x4fc856
and esi, 0xfffffbff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [edx], 0x3f
pop ebx
ret
mov ebx, esi
xor edi, edi
and ebx, 0x10000
or edi, ebx
je 0x4fc8bd
mov eax, dword [esp + 0x20]
mov ebp, 0x33
test eax, eax
je 0x4fc88d
and esi, 0xfffeffff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edi, dword [edx]
mov dword [edx], edi
mov esi, dword [edx + 4]
and esi, 0xfffdffff
pop edi
mov dword [edx + 4], esi
mov ecx, dword [edx]
mov dword [edx], ecx
mov eax, dword [edx + 4]
and eax, 0xfffbffff
pop esi
mov dword [edx + 4], eax
mov eax, dword [esp + 0x14]
mov dword [eax], 0x40
mov eax, ebp
pop ebp
pop ebx
ret
mov ebx, esi
xor edi, edi
and ebx, 0x800
or edi, ebx
je 0x4fc929
test byte [0x6d6c4c], 0x40
je 0x4fc902
mov edi, dword [esp + 0x20]
mov ebp, 0x32
test edi, edi
je 0x4fc8ec
and esi, 0xfffff7ff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x1c]
mov dword [0x68e670], eax
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword [ecx], 0x40
pop ebx
ret
mov edi, dword [esp + 0x20]
mov ebp, 0x31
test edi, edi
je 0x4fc91a
and esi, 0xfffff7ff
mov dword [edx], ecx
mov dword [edx + 4], esi
mov edx, dword [esp + 0x1c]
mov dword [edx], 0x40
mov dword [0x68e66c], eax
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
ret