Function at 0x71ad21da
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0xc], eax
mov esi, ecx
mov byte [ebp - 1], al
mov al, byte [edi]
cmp al, 1
jne 0x71aeb954
mov ebx, dword [edi + 0x24]
mov dword [ebp - 0x10], ebx
cmp ebx, dword [esi + 0x14]
jae 0x71b251cd
imul edi, ebx, 0x60
mov ebx, dword [ebp + 0xc]
add edi, dword [esi + 0x1c]
test ebx, ebx
jne 0x71ae0937
mov ecx, dword [ebp + 8]
mov al, byte [edi]
and al, 0x1f
test byte [edi + 1], 0x40
je 0x71aeb763
cmp al, 0x11
je 0x71b251f5
mov ax, word [edi + 0x1e]
cmp ax, word [esi + 0x28]
jae 0x71b251ff
movzx eax, word [edi + 0x1e]
mov edi, dword [ebp + 8]
mov edx, dword [eax*8 + 0x627b814]
mov ebx, dword [eax*8 + 0x627b810]
mov eax, dword [edi + 0x10]
and eax, 0xe0000000
mov dword [ebp - 0x10], edx
cmp eax, 0x80000000
je 0x71adf069
test dword [edi + 0x10], 0x60000000
jne 0x71af3d39
cmp byte [ebp - 1], 0
jne 0x71af622e
mov ecx, dword [esi + 0x730]
mov eax, dword [esi + 0x734]
and ecx, ebx
and eax, edx
or ecx, eax
jne 0x71ad22b2
or dword [esi + 0x728], ebx
or dword [esi + 0x72c], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [esi + 0x728]
mov eax, dword [esi + 0x72c]
and ecx, ebx
and eax, edx
or ecx, eax
jne 0x71ad22b2
or dword [esi + 0x730], ebx
or dword [esi + 0x734], edx
jmp 0x71ad22b2
cmp byte [ebx], 1
jne 0x71b251d7
cmp dword [ebx + 0x10], 0
jge 0x71b251e1
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jne 0x71ad2226
cmp dword [ecx + 0x10], 0
jl 0x71ad2226
cmp ecx, ebx
je 0x71ad2226
imul ecx, eax, 0x60
mov eax, dword [esi + 0x1c]
mov al, byte [ecx + eax]
and al, 0x1f
cmp al, 0x11
je 0x71b251eb
or dword [ebx + 0x10], 0x20000000
mov byte [ebp - 1], 1
jmp 0x71ad2223
cmp al, 0x11
jne 0x71ad22b2
test dword [ecx + 0x10], 0xe0000000
jne 0x71b25219
test byte [edi + 4], 0x20
je 0x71ad22b2
mov ecx, dword [edi + 8]
xor edx, edx
movzx eax, byte [edi + 0xc]
add eax, ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x71aeb7d7
imul ebx, ecx, 0x60
mov eax, dword [esi + 0x1c]
test byte [ebx + eax + 4], 0x40
je 0x71b25223
mov eax, dword [esi + 0x1c]
test byte [ebx + eax + 1], 0x40
jne 0x71b00e8a
movzx eax, byte [edi + 0xc]
inc ecx
add eax, dword [edi + 8]
add ebx, 0x60
mov dword [ebp - 8], ecx
cmp ecx, eax
jb 0x71aeb7a0
mov edx, dword [ebp - 0xc]
mov ecx, dword [esi + 0x730]
mov eax, dword [esi + 0x734]
not ecx
not eax
and ecx, edx
and eax, dword [ebp - 0x10]
or dword [esi + 0x728], ecx
or dword [esi + 0x72c], eax
jmp 0x71ad22b2
cmp al, 2
je 0x71ad2200
call fcn.71b21586
jmp 0x71ad2200
mov edi, dword [edi + 0x1c]
movzx eax, byte [edi]
test byte [eax + 0x627b450], 0x40
je 0x71b25209
mov ecx, edi
call fcn.71ac3c9c
test al, al
jne 0x71ad2292
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x71ad22b2
cmp byte [eax], 0x41
je 0x71ad22b2
jmp 0x71ad2292
cmp byte [esi + 0x192b], 0
jne 0x71ad2292
cmp byte [esi + 0x1935], 0
jmp 0x71af3d69
mov ax, word [ebx + eax + 0x1e]
cmp ax, word [esi + 0x28]
jae 0x71b25233
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0xc]
movzx eax, word [ebx + eax + 0x1e]
or ecx, dword [eax*8 + 0x627b810]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x10]
or ecx, dword [eax*8 + 0x627b814]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 8]
jmp 0x71aeb7bc
call fcn.71b21586
jmp 0x71ad2212
call fcn.71b21586
jmp 0x71ae0940
call fcn.71b21586
jmp 0x71ae094a
call fcn.71b21586
jmp 0x71ae0981
call fcn.71b21586
jmp 0x71ad223c
call fcn.71b21586
jmp 0x71ad224a
call fcn.71b21586
mov edx, dword [ebp - 0x10]
jmp 0x71af3d4c
call fcn.71b21586
jmp 0x71aeb778
call fcn.71b21586
mov ecx, dword [ebp - 8]
jmp 0x71aeb7ae
call fcn.71b21586
jmp 0x71b00e99