Function at 0x405979
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
test byte [edi], 1
jne 0x406701
test byte [edi], 2
jne 0x406715
test byte [edi], 4
jne 0x406729
test byte [edi], 8
jne 0x406745
test byte [edi], 0x10
jne 0x406759
test byte [edi], 0x20
jne 0x40676d
test byte [edi], 0x40
jne 0x406781
test byte [edi], 0x80
jne 0x406797
test dword [edi], 0x100
jne 0x4067a5
mov ecx, 0x200
test dword [edi], ecx
jne 0x4067b1
mov eax, dword [edi + 8]
test al, 0x40
jne 0x4067c5
test dword [edi], 0x400
mov ebx, 0x202
jne 0x4067d5
test dword [edi], 0x800
jne 0x4067eb
test dword [edi], 0x1000
jne 0x406804
test byte [edi + 2], 1
jne 0x40681e
test dword [edi], 0x2000000
mov eax, 0x40000000
jne 0x40683c
test dword [edi], 0x4000000
jne 0x40684d
test dword [edi], 0x8000000
jne 0x406862
test dword [edi], 0x10000000
jne 0x406876
test dword [edi], 0x20000000
jne 0x406893
test dword [edi], eax
jne 0x4068b0
test dword [edi], 0x80000000
jne 0x4068c7
test byte [edi + 4], 1
jne 0x4068de
test byte [edi + 4], 2
jne 0x4068f5
mov eax, dword [edi + 4]
test al, 8
jne 0x406922
mov eax, dword [edi + 0x18]
test al, 8
jne 0x406933
mov eax, dword [edi + 0x18]
test al, 0x20
jne 0x406946
mov eax, dword [esi + 4]
and eax, 0xffffbfff
or eax, 0x3000
mov dword [esi + 4], eax
test byte [edi + 0x18], 4
jne 0x406972
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
mov eax, dword [edi + 4]
shr eax, 0xa
xor eax, dword [esi + 4]
and eax, 2
xor dword [esi + 4], eax
jmp 0x405990
mov eax, dword [edi + 4]
shr eax, 9
xor eax, dword [esi + 4]
and eax, 8
xor dword [esi + 4], eax
jmp 0x405999
mov eax, dword [edi + 4]
mov ecx, dword [edi + 4]
shl eax, 0x12
xor eax, dword [esi]
shl ecx, 0x12
and eax, 0x7fffffff
xor eax, ecx
mov dword [esi], eax
jmp 0x4059a2
mov eax, dword [edi + 4]
shr eax, 0xe
xor eax, dword [esi + 4]
and eax, 1
xor dword [esi + 4], eax
jmp 0x4059ab
mov eax, dword [edi + 4]
shl eax, 0xe
xor eax, dword [esi]
and eax, 0x20000000
xor dword [esi], eax
jmp 0x4059b4
mov eax, dword [edi + 4]
shr eax, 4
xor eax, dword [esi]
and eax, 0x1000
xor dword [esi], eax
jmp 0x4059bd
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4059c6
mov ecx, dword [edi + 0x1c]
mov dword [eax + 4], ecx
jmp 0x4059c6
mov al, byte [edi + 0x24]
mov byte [esi + 0x4f8], al
jmp 0x4059cf
mov byte [esi + 0x4f8], 4
jmp 0x4059db
mov eax, dword [edi + 8]
shl eax, 2
xor eax, dword [esi + 4]
and eax, 0x10
xor dword [esi + 4], eax
jmp 0x4059e8
shl eax, 3
xor eax, dword [esi + 4]
and eax, ecx
xor dword [esi + 4], eax
jmp 0x4059f3
lea eax, [edi + 0x26]
push eax
push ebx
lea eax, [esi + 0x5dc]
push eax
call fcn.00407928
jmp 0x405a04
lea eax, [edi + 0x228]
push eax
push ebx
lea eax, [esi + 0x7de]
push eax
call fcn.00407928
jmp 0x405a10
lea eax, [edi + 0x42a]
push eax
push 8
lea eax, [esi + 0x9e0]
push eax
call fcn.00407928
jmp 0x405a1c
mov eax, dword [edi + 4]
mov ecx, dword [esi + 4]
shr eax, 0xc
and eax, 0xe0
and ecx, 0xfffffe1f
or eax, ecx
mov dword [esi + 4], eax
jmp 0x405a26
mov ecx, dword [edi + 4]
shl ecx, 6
xor ecx, dword [esi]
and ecx, eax
xor dword [esi], ecx
jmp 0x405a37
mov ecx, dword [edi + 4]
shr ecx, 6
xor ecx, dword [esi]
and ecx, 0x80000
xor dword [esi], ecx
jmp 0x405a43
mov ecx, dword [edi + 0xa48]
and dword [esi], 0xffffffbf
mov dword [esi + 0x4e4], ecx
jmp 0x405a4f
mov ecx, dword [edi + 4]
mov edx, dword [esi]
shr ecx, 0xd
and ecx, 0x2000
and edx, 0xffffdffd
or ecx, edx
mov dword [esi], ecx
jmp 0x405a5b
mov ecx, dword [edi + 4]
mov edx, dword [esi]
shr ecx, 0xd
and ecx, 0x4000
and edx, 0xffffbffb
or ecx, edx
mov dword [esi], ecx
jmp 0x405a67
mov eax, dword [edi + 0xa4c]
and dword [esi], 0xffffff7f
mov dword [esi + 0x4e8], eax
jmp 0x405a6f
mov eax, dword [edi + 0xa50]
and dword [esi], 0xfffffeff
mov dword [esi + 0x4ec], eax
jmp 0x405a7b
mov eax, dword [edi + 0xa54]
and dword [esi], 0xfffffdff
mov dword [esi + 0x4f0], eax
jmp 0x405a85
lea eax, [edi + 0xc5a]
push eax
push ebx
lea eax, [esi + 0x276]
push eax
call fcn.00407928
lea eax, [edi + 0xa58]
push eax
push ebx
lea eax, [esi + 0x74]
push eax
call fcn.00407928
and dword [esi], 0xfffffff7
jmp 0x405a8f
shr eax, 0xd
xor eax, dword [esi]
and eax, 0x10000
xor dword [esi], eax
jmp 0x405a9a
shl eax, 7
xor eax, dword [esi + 4]
and eax, 0x800
xor dword [esi + 4], eax
jmp 0x405aa5
mov ecx, eax
shr ecx, 6
and ecx, 7
cmp ecx, 4
ja 0x405ac0
test ecx, ecx
jbe 0x405ac0
shl eax, 6
xor eax, dword [esi + 4]
and eax, 0x7000
xor dword [esi + 4], eax
jmp 0x405ac0
and dword [esi], 0xfffffff7
push ebx
lea eax, [esi + 0x276]
push 0
push eax
call fcn.004026f8
push ebx
push 0
add esi, 0x74
push esi
call fcn.004026f8
add esp, 0x18
jmp 0x405aca