Function at 0x71cfbc7d
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push ebx
push esi
or eax, 0xffffffff
xor edx, edx
push edi
mov edi, ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor esi, esi
mov dword [ebp - 0x10], edx
mov edx, dword [ebp + 0xc]
mov eax, dword [edi + 0x19cc]
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], edx
mov ecx, dword [eax + 0x78]
or ecx, dword [ebp + 0x18]
mov ebx, dword [eax + 0x7c]
mov eax, ecx
or ebx, dword [ebp + 0x1c]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp + 8]
and eax, ecx
mov dword [ebp - 4], ecx
mov ecx, ebx
and ecx, edx
mov dword [ebp - 0x34], ebx
cmp eax, dword [ebp - 0x1c]
jne 0x71d55ad7
cmp ecx, ebx
jne 0x71d55ad7
mov eax, dword [edi + 0x19d0]
cmp byte [eax], 0x4d
jne 0x71d55ae1
mov ebx, dword [ebp + 0x10]
cmp dword [ebp + 0x14], esi
jne 0x71cfbd19
mov eax, dword [edi + 0x19d0]
cmp ebx, dword [eax + 0x24]
jne 0x71d55aeb
cmp ebx, dword [ebp + 0x14]
je 0x71cfbd80
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], eax
test esi, esi
jne 0x71d23049
mov esi, dword [ebp - 8]
cmp byte [ebx], 0x4b
je 0x71d02710
mov al, byte [ebx]
cmp al, 1
je 0x71d0206a
cmp al, 2
je 0x71d0206a
cmp al, 0x42
je 0x71d22f92
mov esi, dword [ebp - 0xc]
test esi, esi
jne 0x71d23005
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ebx, dword [ebx + 0x20]
mov dword [ebp + 0x10], ebx
cmp ebx, dword [ebp + 0x14]
jne 0x71cfbd24
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
mov esi, dword [ebx + 0x24]
cmp esi, dword [edi + 0x14]
jae 0x71d55d63
imul esi, esi, 0x60
add esi, dword [edi + 0x1c]
mov dword [ebp - 0x28], esi
mov al, byte [esi]
and al, 0x1f
test byte [esi + 1], 0x40
je 0x71d1b69d
cmp al, 0x11
je 0x71d55d6d
movzx esi, word [esi + 0x1e]
movzx eax, word [edi + 0x28]
cmp esi, eax
jae 0x71d55d77
mov edx, dword [esi*8 + 0x653b810]
mov ecx, edx
mov esi, dword [esi*8 + 0x653b814]
mov eax, esi
and ecx, dword [ebp - 4]
and eax, dword [ebp - 8]
cmp dword [ebx + 0x10], 0
jl 0x71d0f017
or ecx, eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
je 0x71d020eb
mov esi, dword [ebp - 0xc]
jmp 0x71cfbd75
push esi
or ecx, edx
or eax, esi
push edx
push eax
mov dword [ebp - 4], ecx
push ecx
mov ecx, edi
mov dword [ebp - 8], eax
call fcn.71d0191e
mov esi, dword [ebp - 0xc]
jmp 0x71cfbd69
test byte [ebx + 0x40], 2
jne 0x71d55c9a
cmp dword [ebx + 0x10], 0
jge 0x71cfbd41
mov eax, dword [edi + 0x19a8]
cmp eax, dword [edi + 0x14]
jae 0x71d55d03
imul eax, dword [edi + 0x19a8], 0x60
add eax, dword [edi + 0x1c]
test byte [eax + 1], 0x40
je 0x71d02776
movzx eax, word [eax + 0x1e]
mov edx, dword [ebp - 4]
mov ecx, dword [eax*8 + 0x653b810]
or edx, ecx
mov eax, dword [eax*8 + 0x653b814]
or esi, eax
push eax
push ecx
push esi
push edx
mov ecx, edi
mov dword [ebp - 4], edx
mov dword [ebp - 8], esi
call fcn.71d0191e
mov eax, dword [ebp - 4]
or eax, esi
je 0x71cfbd41
mov edx, dword [edi + 0x1c]
xor esi, esi
cmp dword [edi + 0x14], esi
jbe 0x71cfbd41
test byte [edx + 1], 0x40
je 0x71d027be
movzx eax, word [edx + 0x1e]
mov ecx, dword [eax*8 + 0x653b810]
mov eax, dword [eax*8 + 0x653b814]
and ecx, dword [ebp - 4]
and eax, dword [ebp - 8]
or ecx, eax
jne 0x71d31d2d
inc esi
add edx, 0x60
cmp esi, dword [edi + 0x14]
jb 0x71d02792
jmp 0x71cfbd41
or ecx, eax
je 0x71d10318
test dword [ebx + 0x10], 0x40000000
jne 0x71d02106
mov ecx, edx
mov eax, esi
and ecx, dword [ebp - 0x1c]
and eax, dword [ebp - 0x34]
or ecx, eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jne 0x71d020e0
not edx
not esi
and ecx, edx
and eax, esi
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
jmp 0x71d020e0
cmp byte [edi + 0x192b], cl
jne 0x71d02106
and edx, dword [ebp - 0x1c]
and esi, dword [ebp - 0x34]
or edx, esi
jne 0x71d55d81
mov esi, dword [ebx + 0x1c]
test byte [esi + 0x10], 1
je 0x71d55d8b
cmp dword [esi + 0x28], 0
je 0x71d55d95
cmp dword [ebx + 0x10], 0
jge 0x71d55d9f
mov dl, byte [esi]
cmp dl, 0x2d
jne 0x71d33c80
mov eax, dword [ebp - 0x28]
test byte [eax + 2], 8
jne 0x71d02106
xor ebx, ebx
cmp dword [esi + 0x1c], ebx
jne 0x71d1a9e5
mov eax, dword [edi + 0x19d0]
cmp dword [eax + 0x24], esi
jne 0x71d55db9
mov eax, dword [esi + 0x28]
test byte [eax + 0x10], 7
jne 0x71d244a3
test byte [esi + 0x10], 0x10
jne 0x71d25767
push dword [edi + 0x19d0]
mov ecx, edi
push dword [edi + 0x19cc]
call fcn.71d05e24
jmp 0x71cfbd80
mov eax, dword [esi + 0x28]
test byte [eax + 0x10], 7
jne 0x71d39e58
push ebx
push esi
mov ecx, edi
call fcn.71d1941d
mov byte [esi + 0x13], bl
and dword [esi + 0x10], 0xffffffc0
mov word [esi], 0x10c
mov dword [esi + 0x28], ebx
mov dword [esi + 0x24], ebx
push dword [edi + 0x19d0]
mov ecx, edi
call fcn.71cfb8fa
mov ecx, dword [ebp - 4]
mov ebx, esi
mov eax, dword [ebp - 8]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], eax
jmp 0x71d020e0
cmp al, 0x11
jne 0x71d02106
test dword [ebx + 0x10], 0xe0000000
jne 0x71d55df6
test byte [esi + 4], 0x20
je 0x71d02106
mov ecx, dword [esi + 8]
xor edx, edx
movzx eax, byte [esi + 0xc]
and dword [ebp - 0x30], 0
add eax, ecx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp ecx, eax
jae 0x71d1b721
mov ebx, dword [ebp - 0x20]
imul ecx, ecx, 0x60
mov dword [ebp - 0x2c], ecx
mov eax, dword [edi + 0x1c]
test byte [ecx + eax + 4], 0x40
je 0x71d55e00
mov eax, dword [edi + 0x1c]
test byte [ecx + eax + 1], 0x40
jne 0x71d30ed2
movzx eax, byte [esi + 0xc]
inc ebx
add eax, dword [esi + 8]
add ecx, 0x60
mov dword [ebp - 0x2c], ecx
cmp ebx, eax
jb 0x71d1b6ed
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x30]
mov ecx, edx
and ecx, dword [ebp - 8]
mov eax, esi
and eax, dword [ebp - 4]
cmp eax, esi
jne 0x71d1b743
cmp ecx, edx
je 0x71d02106
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 8]
or ecx, esi
push edx
or eax, edx
push esi
jmp 0x71d020f1
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x71cfbd5b
movzx eax, byte [eax]
test byte [eax + 0x653b450], 0x10
je 0x71d55d0d
mov eax, dword [ebx + 0x24]
test dword [eax + 0x10], 0x20000000
je 0x71d55d17
mov eax, dword [ebx + 0x28]
cmp byte [eax], 0x43
jne 0x71d55d21
mov esi, dword [ebp - 0xc]
test esi, esi
jne 0x71d26d6e
mov eax, dword [ebp - 4]
mov esi, ebx
mov edx, dword [ebx + 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], edx
jmp 0x71cfbd61
cmp ebx, dword [esi + 0x28]
jne 0x71cfbd69
cmp byte [ebx], 0x43
jne 0x71d55d2b
mov eax, dword [ebx + 0x24]
cmp byte [eax], 0xc
je 0x71d55d35
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 0x24]
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], edx
jmp 0x71cfbd75
cmp ebx, dword [esi + 0x24]
jne 0x71cfbd32
test dword [ebx + 0x10], 0x20000000
je 0x71d55af5
mov eax, dword [esi + 0x28]
cmp byte [eax], 0x43
jne 0x71d55aff
mov esi, dword [esi + 0x28]
mov ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], eax
test ecx, ecx
je 0x71d55b09
test eax, eax
je 0x71d55b09
cmp byte [ecx], 0xc
je 0x71d55b1f
push dword [esi + 0x18]
mov ecx, edi
push dword [esi + 0x14]
push dword [ebp - 8]
push dword [ebp - 4]
call fcn.71d0191e
mov eax, dword [ebp - 4]
or dword [esi + 0x14], eax
mov ecx, dword [esi + 0x14]
mov eax, dword [ebp - 8]
or dword [esi + 0x18], eax
mov esi, dword [esi + 0x18]
mov dword [ebp - 4], ecx
mov dword [ebp - 8], esi
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], esi
xor eax, eax
mov dword [ebp - 0xc], eax
jmp 0x71cfbd38
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push ecx
push eax
mov ecx, edi
call fcn.71d108b2
mov ebx, dword [ebp - 0x30]
mov dword [ebp + 0x10], ebx
test ebx, ebx
je 0x71d103a5
test byte [ebx + 0x10], 7
je 0x71d55dc3
push ebx
push esi
mov ecx, edi
call fcn.71d1941d
cmp byte [ebx], 0x4d
je 0x71d55dcd
mov eax, dword [edi + 0x19d0]
mov ecx, edi
mov dword [eax + 0x24], ebx
push dword [edi + 0x19d0]
call fcn.71cfba11
push dword [edi + 0x19d0]
mov ecx, edi
call fcn.71cfb8fa
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x71cfbd24
cmp byte [eax], 3
jne 0x71d103a5
jmp 0x71d244a3
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x71d3f5cd
cmp eax, dword [esi + 0x24]
jne 0x71d3f5c4
push dword [ebp + 0x1c]
mov ecx, edi
push dword [ebp + 0x18]
push eax
push ebx
push dword [ebp - 8]
push dword [ebp - 4]
call fcn.71cfbc7d
mov ebx, dword [ebp - 0x10]
mov ecx, eax
mov eax, edx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
mov dword [ebp + 0x10], ebx
jmp 0x71cfbd24
movzx eax, word [ecx + eax + 0x1e]
mov dword [ebp - 0x20], eax
movzx eax, word [edi + 0x28]
cmp dword [ebp - 0x20], eax
jae 0x71d55e16
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
or eax, dword [esi*8 + 0x653b810]
mov dword [ebp - 0x30], eax
mov eax, esi
mov esi, dword [ebp - 0x28]
or edx, dword [eax*8 + 0x653b814]
mov dword [ebp - 0x24], edx
jmp 0x71d1b709
movzx eax, byte [edx]
and eax, 0x1f
test byte [eax + 0x653b5f0], 0x18
je 0x71d027be
or byte [edx + 2], 2
jmp 0x71d027be
mov ecx, esi
call fcn.71cf3c9c
test al, al
je 0x71d10364
movzx eax, dl
sub eax, 0x2e
je 0x71d55db1
sub eax, 1
je 0x71d55da9
call fcn.71d51586
mov eax, dword [esi + 0x28]
and dword [esi + 0x10], 0xffffffdf
mov edx, dword [esi + 0x24]
mov eax, dword [eax + 0x10]
or eax, dword [edx + 0x10]
test al, 1
jne 0x71d33cc1
and dword [esi + 0x10], 0xfffffffe
and dword [edx + 0x10], 0x3fffffff
mov ecx, edi
push dword [edi + 0x19d0]
call fcn.71cfba11
push dword [edi + 0x19d0]
mov ecx, edi
call fcn.71cfb8fa
mov ecx, dword [esi + 0x14]
mov ebx, esi
mov eax, dword [esi + 0x18]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
mov dword [ebp + 0x10], ebx
jmp 0x71cfbd24
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push ecx
push eax
mov ecx, edi
call fcn.71d108b2
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x71d55def
test byte [ebx + 0x10], 7
je 0x71d55dd7
mov al, byte [ebx]
mov ecx, edi
push ebx
push esi
cmp al, byte [esi]
jne 0x71d3e4d9
call fcn.71d1941d
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x28]
mov dword [esi + 0x28], eax
mov al, byte [ebx + 1]
mov byte [esi + 1], al
jmp 0x71d1aa0d
call fcn.71d1941d
xor eax, eax
mov word [esi], 0x141
mov byte [esi + 0x13], al
and dword [esi + 0x10], 0xffffffc0
mov byte [esi + 0x13], al
mov dword [esi + 0x28], eax
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x10]
and eax, 0x1f
or dword [esi + 0x10], eax
cmp byte [ebx], 0x41
je 0x71d55de1
push 1
mov dl, 0xc
mov dword [esi + 0x24], ebx
mov ecx, edi
call fcn.71cf20cf
and dword [eax + 0x24], 0
and dword [eax + 0x28], 0
mov dword [esi + 0x28], eax
jmp 0x71d1aa0d
cmp eax, dword [esi + 0x28]
je 0x71d26d85
call fcn.71d51586
mov eax, dword [ebp - 0x10]
jmp 0x71d26d85
call fcn.71d51586
jmp 0x71cfbcf3
call fcn.71d51586
jmp 0x71cfbd02
call fcn.71d51586
jmp 0x71cfbd19
call fcn.71d51586
jmp 0x71d2305f
call fcn.71d51586
jmp 0x71d2306b
call fcn.71d51586
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
jmp 0x71d23090
cmp byte [ecx + 1], 1
jne 0x71d23099
cmp byte [eax], 0xc
jne 0x71d55c69
cmp byte [eax + 1], 1
jne 0x71d55c69
cmp byte [esi + 1], 1
je 0x71d55b47
call fcn.71d51586
movzx eax, byte [ebx]
test byte [eax + 0x653b450], 0x10
jne 0x71d55b58
call fcn.71d51586
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov byte [ecx + 0x13], dl
and dword [ecx + 0x10], 0xffffffc0
mov word [ecx], 0x10c
mov dword [ecx + 0x28], edx
mov dword [ecx + 0x24], edx
test byte [ebx + 0x10], 7
je 0x71d55bd7
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], edx
push eax
push ebx
mov ecx, edi
call fcn.71d108b2
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x71d55c54
test byte [esi + 0x10], 7
jne 0x71d55ba6
call fcn.71d51586
push esi
push ebx
mov ecx, edi
call fcn.71d1941d
mov ecx, dword [ebp - 0xc]
xor ebx, ebx
mov byte [ecx + 0x13], bl
mov byte [ecx], 0x41
mov eax, dword [esi + 0x10]
and eax, 0x1f
or dword [ecx + 0x10], eax
cmp byte [esi], 0x41
jne 0x71d55c38
mov eax, dword [esi + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0x19d0]
cmp ecx, dword [eax + 0x24]
jne 0x71d55bf1
cmp byte [ecx], 0xc
jne 0x71d55bf1
cmp byte [ecx + 1], 1
je 0x71d103a5
push eax
mov ecx, edi
call fcn.71cfb8fa
mov eax, dword [ebp - 0xc]
mov ebx, eax
mov ecx, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov dword [ebp + 0x10], ebx
cmp ecx, dword [ebp - 0x14]
jne 0x71d55c2e
cmp esi, dword [ebp - 0x18]
jne 0x71d55c2e
cmp dword [eax + 0x14], ecx
jne 0x71d55c2e
cmp dword [eax + 0x18], esi
je 0x71d230dc
call fcn.71d51586
jmp 0x71d230dc
mov dword [ecx + 0x24], esi
mov dl, 0xc
push 1
mov ecx, edi
call fcn.71cf20cf
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
jmp 0x71d55bd4
push 0
push ebx
mov ecx, edi
call fcn.71d1941d
mov ecx, dword [ebp - 0xc]
jmp 0x71d55bd7
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x28], ecx
cmp ebx, dword [eax + 0x24]
je 0x71d55c7f
call fcn.71d51586
mov edx, ebx
mov ecx, edi
call fcn.71d19208
push dword [edi + 0x19d0]
mov ecx, edi
call fcn.71cfb8fa
jmp 0x71d23099
cmp dword [edi + 0x19a4], 0
je 0x71d0271a
mov eax, dword [edi + 0x19a8]
cmp eax, dword [edi + 0x14]
jb 0x71d55cb7
call fcn.71d51586
imul eax, dword [edi + 0x19a8], 0x60
add eax, dword [edi + 0x1c]
test byte [eax + 1], 0x40
je 0x71d0271a
movzx eax, word [eax + 0x1e]
mov edx, dword [ebp - 4]
mov ecx, dword [eax*8 + 0x653b810]
or edx, ecx
mov eax, dword [eax*8 + 0x653b814]
or esi, eax
push eax
push ecx
push esi
push edx
mov ecx, edi
mov dword [ebp - 4], edx
mov dword [ebp - 8], esi
call fcn.71d0191e
jmp 0x71d0271a
call fcn.71d51586
jmp 0x71d02733
call fcn.71d51586
jmp 0x71d22fad
call fcn.71d51586
jmp 0x71d22fbd
call fcn.71d51586
jmp 0x71d22fc9
call fcn.71d51586
jmp 0x71d23017
cmp byte [eax + 1], 1
jne 0x71d23023
cmp byte [eax], 0xc
jne 0x71d55d59
cmp byte [eax + 1], 1
jne 0x71d55d59
cmp byte [eax], 0xc
jne 0x71d55d59
cmp byte [eax + 1], 1
je 0x71d23023
call fcn.71d51586
jmp 0x71d23023
call fcn.71d51586
jmp 0x71d02076
call fcn.71d51586
jmp 0x71d02098
call fcn.71d51586
jmp 0x71d020a8
call fcn.71d51586
jmp 0x71d10338
call fcn.71d51586
jmp 0x71d10345
call fcn.71d51586
jmp 0x71d1034f
call fcn.71d51586
jmp 0x71d10359
mov byte [esi], 0x21
jmp 0x71d33ca9
mov byte [esi], 0x20
jmp 0x71d33ca9
call fcn.71d51586
jmp 0x71d1038e
call fcn.71d51586
jmp 0x71d244d3
call fcn.71d51586
jmp 0x71d244e5
call fcn.71d51586
jmp 0x71d39e85
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x28]
jmp 0x71d3e51d
xor ebx, ebx
jmp 0x71d1a9f2
call fcn.71d51586
jmp 0x71d1b6b2
call fcn.71d51586
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
jmp 0x71d1b6fb
call fcn.71d51586
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
jmp 0x71d30eed