Function at 0x4a4a24
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x11
push 0
push 0
dec ecx
jne 0x4a4a2d
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
call fcn.004050d8
xor eax, eax
push ebp
push 0x4a50a5
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 0
xor ebx, ebx
mov byte [ebp - 0x21], 0
lea eax, [ebp - 0x38]
mov ecx, dword [ebp - 8]
mov edx, 0x4a50c0
call fcn.00404f3c
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x314]
call fcn.0045c2b8
test bl, bl
jne 0x4a4b35
xor eax, eax
push ebp
push 0x4a4b29
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 8]
call fcn.0040af14
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.0040a4c8
mov eax, dword [ebp - 0x3c]
mov edx, 0x4a50d4
call fcn.00405034
jne 0x4a4b1f
lea eax, [ebp - 0x18]
push eax
or ecx, 0xffffffff
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a3acc
lea ecx, [ebp - 0x44]
mov edx, 0x4a50e4
mov eax, dword [ebp - 4]
call fcn.004a2e20
mov eax, dword [ebp - 0x44]
mov ecx, 1
mov edx, dword [ebp - 0x18]
call fcn.004a0154
test eax, eax
jle 0x4a4b1f
mov byte [ebp - 0xd], 1
mov eax, dword [ebp - 0xc]
mov edx, 0x4a5184
call fcn.00404c70
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a6fc0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a5072
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a4b35
test bl, bl
jne 0x4a4c3a
xor eax, eax
push ebp
push 0x4a4c2e
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 8]
call fcn.0040af14
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.0040a4c8
mov eax, dword [ebp - 0x48]
mov edx, 0x4a519c
call fcn.00405034
je 0x4a4b99
lea edx, [ebp - 0x54]
mov eax, dword [ebp - 8]
call fcn.0040af14
mov eax, dword [ebp - 0x54]
lea edx, [ebp - 0x50]
call fcn.0040a4c8
mov eax, dword [ebp - 0x50]
mov edx, 0x4a51ac
call fcn.00405034
jne 0x4a4c24
lea eax, [ebp - 0x18]
push eax
or ecx, 0xffffffff
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a3acc
mov edi, 2
mov esi, 0x4acb40
mov eax, 0x4acb48
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x58]
mov edx, dword [esi]
mov eax, dword [ebp - 4]
call fcn.004a2e20
mov eax, dword [ebp - 0x58]
mov ecx, 1
mov edx, dword [ebp - 0x18]
call fcn.004a0154
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jle 0x4a4c1a
mov byte [ebp - 0xd], 1
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx]
call fcn.00404c70
mov ecx, dword [ebp - 0x28]
dec ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a5288
mov eax, dword [ebp - 4]
mov byte [eax + 0x319], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a5072
add dword [ebp - 0x2c], 4
add esi, 4
dec edi
jne 0x4a4bbd
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a4c3a
test bl, bl
jne 0x4a4cea
xor edx, edx
push ebp
push 0x4a4cde
push dword fs:[edx]
mov dword fs:[edx], esp
lea edx, [ebp - 0x60]
mov eax, dword [ebp - 8]
call fcn.0040af14
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
call fcn.0040a4c8
mov eax, dword [ebp - 0x5c]
mov edx, 0x4a51bc
call fcn.00405034
jne 0x4a4cd4
lea eax, [ebp - 0x18]
push eax
or ecx, 0xffffffff
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a3acc
lea ecx, [ebp - 0x64]
mov edx, 0x4a51cc
mov eax, dword [ebp - 4]
call fcn.004a2e20
mov eax, dword [ebp - 0x64]
mov ecx, 1
mov edx, dword [ebp - 0x18]
call fcn.004a0154
test eax, eax
jle 0x4a4cd4
mov byte [ebp - 0xd], 1
mov eax, dword [ebp - 0xc]
mov edx, 0x4a5208
call fcn.00404c70
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a6fc0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a5072
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a4cea
xor eax, eax
push ebp
push 0x4a5068
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 8]
call fcn.0040af14
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x68]
call fcn.0040a4c8
mov eax, dword [ebp - 0x68]
mov edx, 0x4a5220
call fcn.00405034
je 0x4a4d6b
lea edx, [ebp - 0x74]
mov eax, dword [ebp - 8]
call fcn.0040af14
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x70]
call fcn.0040a4c8
mov eax, dword [ebp - 0x70]
mov edx, 0x4a5230
call fcn.00405034
je 0x4a4d6b
lea edx, [ebp - 0x7c]
mov eax, dword [ebp - 8]
call fcn.0040af14
mov eax, dword [ebp - 0x7c]
lea edx, [ebp - 0x78]
call fcn.0040a4c8
mov eax, dword [ebp - 0x78]
mov edx, 0x4a5240
call fcn.00405034
jne 0x4a505e
mov dl, 1
mov eax, dword [0x46fbac]
call fcn.0046fdc0
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x4a5057
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x4a5037
push dword fs:[eax]
mov dword fs:[eax], esp
test bl, bl
jne 0x4a4dab
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
call fcn.004700a0
test al, al
jne 0x4a4dab
mov bl, 1
test bl, bl
jne 0x4a4dbd
mov eax, dword [ebp - 0x14]
call fcn.0046fecc
test al, al
jne 0x4a4dbd
mov bl, 1
test bl, bl
jne 0x4a4e9b
mov edi, 0xe
mov esi, 0x4acb50
mov eax, 0x4acb88
mov dword [ebp - 0x30], eax
mov eax, 0x4acbc0
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x80]
mov edx, dword [esi]
mov eax, dword [ebp - 4]
call fcn.004a2e20
mov eax, dword [ebp - 0x80]
call fcn.00404ef0
push eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
call fcn.0040aad8
lea ecx, [ebp - 0x88]
xor edx, edx
call fcn.0040aa5c
mov ecx, dword [ebp - 0x88]
lea eax, [ebp - 0x84]
mov edx, 0x4a5250
call fcn.00404f3c
mov eax, dword [ebp - 0x84]
call fcn.0040aad8
push eax
lea ecx, [ebp - 0x8c]
mov edx, dword [esi]
mov eax, dword [ebp - 4]
call fcn.004a2e20
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a6ff8
test al, al
je 0x4a4e89
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x34]
mov edx, dword [edx]
call fcn.00404c70
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a6fc0
mov byte [ebp - 0xd], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004046a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a5072
add dword [ebp - 0x34], 4
add dword [ebp - 0x30], 4
add esi, 4
dec edi
jne 0x4a4ddf
test bl, bl
jne 0x4a4f2f
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x14]
call fcn.004701d0
mov edx, eax
mov eax, dword [ebp - 0x14]
call fcn.004702ac
movzx eax, ax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp edx, 0
jne 0x4a4ed2
cmp eax, 0
jb 0x4a4f16
jmp 0x4a4ed4
jl 0x4a4f16
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
call fcn.00406268
cdq
push edx
push eax
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x4a4ef6
cmp eax, dword [esp]
pop edx
pop eax
ja 0x4a4f16
jmp 0x4a4efa
pop edx
pop eax
jg 0x4a4f16
mov eax, dword [ebp - 0x20]
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x2c]
lea edx, [edx + eax*8]
lea ecx, [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
call fcn.0046fe4c
jmp 0x4a4f1e
lea eax, [ebp - 0x1c]
call fcn.00404c1c
mov eax, dword [ebp - 0x1c]
mov edx, 0x4a525c
call fcn.00405034
je 0x4a4f2f
mov bl, 1
test bl, bl
jne 0x4a4f61
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
call fcn.00406268
lea eax, [eax + eax*4]
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x2c]
mov eax, dword [edx + eax*8 + 0x24]
and eax, 0x20
and eax, 0x80000000
and eax, 0x40000000
test eax, 0x20000000
je 0x4a4f61
mov bl, 1
test bl, bl
jne 0x4a5010
mov ebx, dword [ebp - 0x20]
lea ebx, [ebx + ebx*4]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + ebx*8 + 0x10]
lea eax, [ebp - 0x18]
call fcn.00405274
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + ebx*8 + 0x10]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + ebx*8 + 0x14]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
call fcn.0047051c
mov edi, 4
mov ebx, 0x4acb20
mov esi, 0x4acb30
lea ecx, [ebp - 0x90]
mov edx, dword [ebx]
mov eax, dword [ebp - 4]
call fcn.004a2e20
mov eax, dword [ebp - 0x90]
mov ecx, 1
mov edx, dword [ebp - 0x18]
call fcn.004a0154
test eax, eax
jle 0x4a5007
mov eax, dword [ebp - 0xc]
mov edx, dword [esi]
call fcn.00404c70
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004a55e8
mov byte [ebp - 0xd], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004046a4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a5072
add esi, 4
add ebx, 4
dec edi
jne 0x4a4fb0
cmp byte [ebp - 0xd], 0
jne 0x4a502d
cmp byte [ebp - 0x21], 0
jbe 0x4a502d
mov eax, dword [ebp - 0xc]
mov edx, 0x4a526c
call fcn.00404c70
mov byte [ebp - 0xd], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a5041
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a505e
mov eax, dword [ebp - 0x14]
call fcn.00403d68
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4a5072
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a50ac
lea eax, [ebp - 0x90]
mov edx, 0x17
call fcn.00404c40
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00404c40
lea eax, [ebp - 8]
call fcn.00404c1c
ret