Function at 0x71d021da
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 0x71d1b954
mov ebx, dword [edi + 0x24]
mov dword [ebp - 0x10], ebx
cmp ebx, dword [esi + 0x14]
jae 0x71d551cd
imul edi, ebx, 0x60
mov ebx, dword [ebp + 0xc]
add edi, dword [esi + 0x1c]
test ebx, ebx
jne 0x71d10937
mov ecx, dword [ebp + 8]
mov al, byte [edi]
and al, 0x1f
test byte [edi + 1], 0x40
je 0x71d1b763
cmp al, 0x11
je 0x71d551f5
mov ax, word [edi + 0x1e]
cmp ax, word [esi + 0x28]
jae 0x71d551ff
movzx eax, word [edi + 0x1e]
mov edi, dword [ebp + 8]
mov edx, dword [eax*8 + 0x653b814]
mov ebx, dword [eax*8 + 0x653b810]
mov eax, dword [edi + 0x10]
and eax, 0xe0000000
mov dword [ebp - 0x10], edx
cmp eax, 0x80000000
je 0x71d0f069
test dword [edi + 0x10], 0x60000000
jne 0x71d23d39
cmp byte [ebp - 1], 0
jne 0x71d2622e
mov ecx, dword [esi + 0x730]
mov eax, dword [esi + 0x734]
and ecx, ebx
and eax, edx
or ecx, eax
jne 0x71d022b2
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 0x71d022b2
or dword [esi + 0x730], ebx
or dword [esi + 0x734], edx
jmp 0x71d022b2
cmp byte [ebx], 1
jne 0x71d551d7
cmp dword [ebx + 0x10], 0
jge 0x71d551e1
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp + 8]
cmp eax, dword [ebp - 0x10]
jne 0x71d02226
cmp dword [ecx + 0x10], 0
jl 0x71d02226
cmp ecx, ebx
je 0x71d02226
imul ecx, eax, 0x60
mov eax, dword [esi + 0x1c]
mov al, byte [ecx + eax]
and al, 0x1f
cmp al, 0x11
je 0x71d551eb
or dword [ebx + 0x10], 0x20000000
mov byte [ebp - 1], 1
jmp 0x71d02223
cmp al, 0x11
jne 0x71d022b2
test dword [ecx + 0x10], 0xe0000000
jne 0x71d55219
test byte [edi + 4], 0x20
je 0x71d022b2
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 0x71d1b7d7
imul ebx, ecx, 0x60
mov eax, dword [esi + 0x1c]
test byte [ebx + eax + 4], 0x40
je 0x71d55223
mov eax, dword [esi + 0x1c]
test byte [ebx + eax + 1], 0x40
jne 0x71d30e8a
movzx eax, byte [edi + 0xc]
inc ecx
add eax, dword [edi + 8]
add ebx, 0x60
mov dword [ebp - 8], ecx
cmp ecx, eax
jb 0x71d1b7a0
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 0x71d022b2
cmp al, 2
je 0x71d02200
call fcn.71d51586
jmp 0x71d02200
mov edi, dword [edi + 0x1c]
movzx eax, byte [edi]
test byte [eax + 0x653b450], 0x40
je 0x71d55209
mov ecx, edi
call fcn.71cf3c9c
test al, al
jne 0x71d02292
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x71d022b2
cmp byte [eax], 0x41
je 0x71d022b2
jmp 0x71d02292
cmp byte [esi + 0x192b], 0
jne 0x71d02292
cmp byte [esi + 0x1935], 0
jmp 0x71d23d69
mov ax, word [ebx + eax + 0x1e]
cmp ax, word [esi + 0x28]
jae 0x71d55233
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0xc]
movzx eax, word [ebx + eax + 0x1e]
or ecx, dword [eax*8 + 0x653b810]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x10]
or ecx, dword [eax*8 + 0x653b814]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 8]
jmp 0x71d1b7bc
call fcn.71d51586
jmp 0x71d02212
call fcn.71d51586
jmp 0x71d10940
call fcn.71d51586
jmp 0x71d1094a
call fcn.71d51586
jmp 0x71d10981
call fcn.71d51586
jmp 0x71d0223c
call fcn.71d51586
jmp 0x71d0224a
call fcn.71d51586
mov edx, dword [ebp - 0x10]
jmp 0x71d23d4c
call fcn.71d51586
jmp 0x71d1b778
call fcn.71d51586
mov ecx, dword [ebp - 8]
jmp 0x71d1b7ae
call fcn.71d51586
jmp 0x71d30e99