Function at 0x71acbc7d
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 0x71b25ad7
cmp ecx, ebx
jne 0x71b25ad7
mov eax, dword [edi + 0x19d0]
cmp byte [eax], 0x4d
jne 0x71b25ae1
mov ebx, dword [ebp + 0x10]
cmp dword [ebp + 0x14], esi
jne 0x71acbd19
mov eax, dword [edi + 0x19d0]
cmp ebx, dword [eax + 0x24]
jne 0x71b25aeb
cmp ebx, dword [ebp + 0x14]
je 0x71acbd80
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], eax
test esi, esi
jne 0x71af3049
mov esi, dword [ebp - 8]
cmp byte [ebx], 0x4b
je 0x71ad2710
mov al, byte [ebx]
cmp al, 1
je 0x71ad206a
cmp al, 2
je 0x71ad206a
cmp al, 0x42
je 0x71af2f92
mov esi, dword [ebp - 0xc]
test esi, esi
jne 0x71af3005
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 0x71acbd24
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 0x71b25d63
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 0x71aeb69d
cmp al, 0x11
je 0x71b25d6d
movzx esi, word [esi + 0x1e]
movzx eax, word [edi + 0x28]
cmp esi, eax
jae 0x71b25d77
mov edx, dword [esi*8 + 0x627b810]
mov ecx, edx
mov esi, dword [esi*8 + 0x627b814]
mov eax, esi
and ecx, dword [ebp - 4]
and eax, dword [ebp - 8]
cmp dword [ebx + 0x10], 0
jl 0x71adf017
or ecx, eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
je 0x71ad20eb
mov esi, dword [ebp - 0xc]
jmp 0x71acbd75
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.71ad191e
mov esi, dword [ebp - 0xc]
jmp 0x71acbd69
test byte [ebx + 0x40], 2
jne 0x71b25c9a
cmp dword [ebx + 0x10], 0
jge 0x71acbd41
mov eax, dword [edi + 0x19a8]
cmp eax, dword [edi + 0x14]
jae 0x71b25d03
imul eax, dword [edi + 0x19a8], 0x60
add eax, dword [edi + 0x1c]
test byte [eax + 1], 0x40
je 0x71ad2776
movzx eax, word [eax + 0x1e]
mov edx, dword [ebp - 4]
mov ecx, dword [eax*8 + 0x627b810]
or edx, ecx
mov eax, dword [eax*8 + 0x627b814]
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.71ad191e
mov eax, dword [ebp - 4]
or eax, esi
je 0x71acbd41
mov edx, dword [edi + 0x1c]
xor esi, esi
cmp dword [edi + 0x14], esi
jbe 0x71acbd41
test byte [edx + 1], 0x40
je 0x71ad27be
movzx eax, word [edx + 0x1e]
mov ecx, dword [eax*8 + 0x627b810]
mov eax, dword [eax*8 + 0x627b814]
and ecx, dword [ebp - 4]
and eax, dword [ebp - 8]
or ecx, eax
jne 0x71b01d2d
inc esi
add edx, 0x60
cmp esi, dword [edi + 0x14]
jb 0x71ad2792
jmp 0x71acbd41
or ecx, eax
je 0x71ae0318
test dword [ebx + 0x10], 0x40000000
jne 0x71ad2106
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 0x71ad20e0
not edx
not esi
and ecx, edx
and eax, esi
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
jmp 0x71ad20e0
cmp byte [edi + 0x192b], cl
jne 0x71ad2106
and edx, dword [ebp - 0x1c]
and esi, dword [ebp - 0x34]
or edx, esi
jne 0x71b25d81
mov esi, dword [ebx + 0x1c]
test byte [esi + 0x10], 1
je 0x71b25d8b
cmp dword [esi + 0x28], 0
je 0x71b25d95
cmp dword [ebx + 0x10], 0
jge 0x71b25d9f
mov dl, byte [esi]
cmp dl, 0x2d
jne 0x71b03c80
mov eax, dword [ebp - 0x28]
test byte [eax + 2], 8
jne 0x71ad2106
xor ebx, ebx
cmp dword [esi + 0x1c], ebx
jne 0x71aea9e5
mov eax, dword [edi + 0x19d0]
cmp dword [eax + 0x24], esi
jne 0x71b25db9
mov eax, dword [esi + 0x28]
test byte [eax + 0x10], 7
jne 0x71af44a3
test byte [esi + 0x10], 0x10
jne 0x71af5767
push dword [edi + 0x19d0]
mov ecx, edi
push dword [edi + 0x19cc]
call fcn.71ad5e24
jmp 0x71acbd80
mov eax, dword [esi + 0x28]
test byte [eax + 0x10], 7
jne 0x71b09e58
push ebx
push esi
mov ecx, edi
call fcn.71ae941d
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.71acb8fa
mov ecx, dword [ebp - 4]
mov ebx, esi
mov eax, dword [ebp - 8]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], eax
jmp 0x71ad20e0
cmp al, 0x11
jne 0x71ad2106
test dword [ebx + 0x10], 0xe0000000
jne 0x71b25df6
test byte [esi + 4], 0x20
je 0x71ad2106
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 0x71aeb721
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 0x71b25e00
mov eax, dword [edi + 0x1c]
test byte [ecx + eax + 1], 0x40
jne 0x71b00ed2
movzx eax, byte [esi + 0xc]
inc ebx
add eax, dword [esi + 8]
add ecx, 0x60
mov dword [ebp - 0x2c], ecx
cmp ebx, eax
jb 0x71aeb6ed
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 0x71aeb743
cmp ecx, edx
je 0x71ad2106
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 8]
or ecx, esi
push edx
or eax, edx
push esi
jmp 0x71ad20f1
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x71acbd5b
movzx eax, byte [eax]
test byte [eax + 0x627b450], 0x10
je 0x71b25d0d
mov eax, dword [ebx + 0x24]
test dword [eax + 0x10], 0x20000000
je 0x71b25d17
mov eax, dword [ebx + 0x28]
cmp byte [eax], 0x43
jne 0x71b25d21
mov esi, dword [ebp - 0xc]
test esi, esi
jne 0x71af6d6e
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 0x71acbd61
cmp ebx, dword [esi + 0x28]
jne 0x71acbd69
cmp byte [ebx], 0x43
jne 0x71b25d2b
mov eax, dword [ebx + 0x24]
cmp byte [eax], 0xc
je 0x71b25d35
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 0x71acbd75
cmp ebx, dword [esi + 0x24]
jne 0x71acbd32
test dword [ebx + 0x10], 0x20000000
je 0x71b25af5
mov eax, dword [esi + 0x28]
cmp byte [eax], 0x43
jne 0x71b25aff
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 0x71b25b09
test eax, eax
je 0x71b25b09
cmp byte [ecx], 0xc
je 0x71b25b1f
push dword [esi + 0x18]
mov ecx, edi
push dword [esi + 0x14]
push dword [ebp - 8]
push dword [ebp - 4]
call fcn.71ad191e
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 0x71acbd38
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push ecx
push eax
mov ecx, edi
call fcn.71ae08b2
mov ebx, dword [ebp - 0x30]
mov dword [ebp + 0x10], ebx
test ebx, ebx
je 0x71ae03a5
test byte [ebx + 0x10], 7
je 0x71b25dc3
push ebx
push esi
mov ecx, edi
call fcn.71ae941d
cmp byte [ebx], 0x4d
je 0x71b25dcd
mov eax, dword [edi + 0x19d0]
mov ecx, edi
mov dword [eax + 0x24], ebx
push dword [edi + 0x19d0]
call fcn.71acba11
push dword [edi + 0x19d0]
mov ecx, edi
call fcn.71acb8fa
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x71acbd24
cmp byte [eax], 3
jne 0x71ae03a5
jmp 0x71af44a3
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x71b0f5cd
cmp eax, dword [esi + 0x24]
jne 0x71b0f5c4
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.71acbc7d
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 0x71acbd24
movzx eax, word [ecx + eax + 0x1e]
mov dword [ebp - 0x20], eax
movzx eax, word [edi + 0x28]
cmp dword [ebp - 0x20], eax
jae 0x71b25e16
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
or eax, dword [esi*8 + 0x627b810]
mov dword [ebp - 0x30], eax
mov eax, esi
mov esi, dword [ebp - 0x28]
or edx, dword [eax*8 + 0x627b814]
mov dword [ebp - 0x24], edx
jmp 0x71aeb709
movzx eax, byte [edx]
and eax, 0x1f
test byte [eax + 0x627b5f0], 0x18
je 0x71ad27be
or byte [edx + 2], 2
jmp 0x71ad27be
mov ecx, esi
call fcn.71ac3c9c
test al, al
je 0x71ae0364
movzx eax, dl
sub eax, 0x2e
je 0x71b25db1
sub eax, 1
je 0x71b25da9
call fcn.71b21586
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 0x71b03cc1
and dword [esi + 0x10], 0xfffffffe
and dword [edx + 0x10], 0x3fffffff
mov ecx, edi
push dword [edi + 0x19d0]
call fcn.71acba11
push dword [edi + 0x19d0]
mov ecx, edi
call fcn.71acb8fa
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 0x71acbd24
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
push ecx
push eax
mov ecx, edi
call fcn.71ae08b2
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x71b25def
test byte [ebx + 0x10], 7
je 0x71b25dd7
mov al, byte [ebx]
mov ecx, edi
push ebx
push esi
cmp al, byte [esi]
jne 0x71b0e4d9
call fcn.71ae941d
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 0x71aeaa0d
call fcn.71ae941d
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 0x71b25de1
push 1
mov dl, 0xc
mov dword [esi + 0x24], ebx
mov ecx, edi
call fcn.71ac20cf
and dword [eax + 0x24], 0
and dword [eax + 0x28], 0
mov dword [esi + 0x28], eax
jmp 0x71aeaa0d
cmp eax, dword [esi + 0x28]
je 0x71af6d85
call fcn.71b21586
mov eax, dword [ebp - 0x10]
jmp 0x71af6d85
call fcn.71b21586
jmp 0x71acbcf3
call fcn.71b21586
jmp 0x71acbd02
call fcn.71b21586
jmp 0x71acbd19
call fcn.71b21586
jmp 0x71af305f
call fcn.71b21586
jmp 0x71af306b
call fcn.71b21586
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
jmp 0x71af3090
cmp byte [ecx + 1], 1
jne 0x71af3099
cmp byte [eax], 0xc
jne 0x71b25c69
cmp byte [eax + 1], 1
jne 0x71b25c69
cmp byte [esi + 1], 1
je 0x71b25b47
call fcn.71b21586
movzx eax, byte [ebx]
test byte [eax + 0x627b450], 0x10
jne 0x71b25b58
call fcn.71b21586
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 0x71b25bd7
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], edx
push eax
push ebx
mov ecx, edi
call fcn.71ae08b2
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x71b25c54
test byte [esi + 0x10], 7
jne 0x71b25ba6
call fcn.71b21586
push esi
push ebx
mov ecx, edi
call fcn.71ae941d
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 0x71b25c38
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 0x71b25bf1
cmp byte [ecx], 0xc
jne 0x71b25bf1
cmp byte [ecx + 1], 1
je 0x71ae03a5
push eax
mov ecx, edi
call fcn.71acb8fa
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 0x71b25c2e
cmp esi, dword [ebp - 0x18]
jne 0x71b25c2e
cmp dword [eax + 0x14], ecx
jne 0x71b25c2e
cmp dword [eax + 0x18], esi
je 0x71af30dc
call fcn.71b21586
jmp 0x71af30dc
mov dword [ecx + 0x24], esi
mov dl, 0xc
push 1
mov ecx, edi
call fcn.71ac20cf
mov ecx, dword [ebp - 0xc]
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
jmp 0x71b25bd4
push 0
push ebx
mov ecx, edi
call fcn.71ae941d
mov ecx, dword [ebp - 0xc]
jmp 0x71b25bd7
mov dword [esi + 0x24], eax
mov eax, dword [ebp - 0xc]
mov dword [esi + 0x28], ecx
cmp ebx, dword [eax + 0x24]
je 0x71b25c7f
call fcn.71b21586
mov edx, ebx
mov ecx, edi
call fcn.71ae9208
push dword [edi + 0x19d0]
mov ecx, edi
call fcn.71acb8fa
jmp 0x71af3099
cmp dword [edi + 0x19a4], 0
je 0x71ad271a
mov eax, dword [edi + 0x19a8]
cmp eax, dword [edi + 0x14]
jb 0x71b25cb7
call fcn.71b21586
imul eax, dword [edi + 0x19a8], 0x60
add eax, dword [edi + 0x1c]
test byte [eax + 1], 0x40
je 0x71ad271a
movzx eax, word [eax + 0x1e]
mov edx, dword [ebp - 4]
mov ecx, dword [eax*8 + 0x627b810]
or edx, ecx
mov eax, dword [eax*8 + 0x627b814]
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.71ad191e
jmp 0x71ad271a
call fcn.71b21586
jmp 0x71ad2733
call fcn.71b21586
jmp 0x71af2fad
call fcn.71b21586
jmp 0x71af2fbd
call fcn.71b21586
jmp 0x71af2fc9
call fcn.71b21586
jmp 0x71af3017
cmp byte [eax + 1], 1
jne 0x71af3023
cmp byte [eax], 0xc
jne 0x71b25d59
cmp byte [eax + 1], 1
jne 0x71b25d59
cmp byte [eax], 0xc
jne 0x71b25d59
cmp byte [eax + 1], 1
je 0x71af3023
call fcn.71b21586
jmp 0x71af3023
call fcn.71b21586
jmp 0x71ad2076
call fcn.71b21586
jmp 0x71ad2098
call fcn.71b21586
jmp 0x71ad20a8
call fcn.71b21586
jmp 0x71ae0338
call fcn.71b21586
jmp 0x71ae0345
call fcn.71b21586
jmp 0x71ae034f
call fcn.71b21586
jmp 0x71ae0359
mov byte [esi], 0x21
jmp 0x71b03ca9
mov byte [esi], 0x20
jmp 0x71b03ca9
call fcn.71b21586
jmp 0x71ae038e
call fcn.71b21586
jmp 0x71af44d3
call fcn.71b21586
jmp 0x71af44e5
call fcn.71b21586
jmp 0x71b09e85
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x24], eax
mov eax, dword [ebx + 0x28]
jmp 0x71b0e51d
xor ebx, ebx
jmp 0x71aea9f2
call fcn.71b21586
jmp 0x71aeb6b2
call fcn.71b21586
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
jmp 0x71aeb6fb
call fcn.71b21586
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
jmp 0x71b00eed