Function at 0x74c867a7
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
and dword [ebp - 0xc], 0
and dword [ebp - 4], 0
push ebx
push esi
mov esi, edx
xor ebx, ebx
push edi
mov edi, ecx
mov dword [ebp - 8], ebx
mov eax, dword [esi]
test eax, 0x20000000
je 0x74c867e6
push 4
lea eax, [esi + 0x84]
push eax
push 4
push ebx
push 0x74b94378
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test al, 0x20
je 0x74c86802
push 4
lea eax, [esi + 0x2c]
push eax
push 4
push 0
push 0x74b94290
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test al, al
jns 0x74c8681e
push 0x10
lea eax, [esi + 0x70]
push eax
push 3
push 0
push 0x74b888b4
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0x40000000
je 0x74c8683d
push 4
lea eax, [esi + 0x3c]
push eax
push 4
push 0
push 0x74b94200
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test al, 8
je 0x74c86856
push 0
push dword [esi + 0x34]
mov edx, 0x74b942cc
mov ecx, edi
push 1
call fcn.74c88d91
mov eax, dword [esi]
test eax, 0x10000000
je 0x74c86872
push 0
push dword [esi + 0x18]
mov edx, 0x74b942bc
mov ecx, edi
push 1
call fcn.74c88d91
mov eax, dword [esi]
test eax, 0x1000
je 0x74c86891
push 0x10
lea eax, [esi + 0x60]
push eax
push 3
push 0
push 0x74b9432c
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test al, 4
je 0x74c868ad
push 4
lea eax, [esi + 0x10]
push eax
push 4
push 0
push 0x74b94210
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0x4000
je 0x74c868cc
push 4
lea eax, [esi + 0x30]
push eax
push 4
push 0
push 0x74b94260
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0xa010
je 0x74c8697f
test al, 2
je 0x74c868e3
mov eax, dword [esi + 0x28]
mov dword [ebp - 4], eax
jmp 0x74c868fa
lea eax, [ebp - 4]
mov edx, 0x74b94310
push eax
mov ecx, edi
call fcn.74c86158
test eax, eax
jne 0x74c8692e
mov eax, dword [ebp - 4]
cmp eax, 6
jne 0x74c8692e
test dword [esi], 0x8000
je 0x74c86913
push 0
push dword [esi + 0x24]
mov edx, 0x74b9453c
jmp 0x74c86976
test byte [esi], 0x10
je 0x74c8691f
push 0
push dword [esi + 0x20]
jmp 0x74c8690c
test dword [esi], 0x2000
je 0x74c8697f
mov edx, 0x74b9453c
jmp 0x74c86971
mov eax, dword [esi]
test eax, 0x8000
je 0x74c8694c
push 0
push dword [esi + 0x24]
mov edx, 0x74b9453c
mov ecx, edi
push 1
call fcn.74c88d91
mov eax, dword [esi]
test al, 0x10
je 0x74c86965
push 0
push dword [esi + 0x20]
mov edx, 0x74b941cc
mov ecx, edi
push 1
call fcn.74c88d91
mov eax, dword [esi]
test eax, 0x2000
je 0x74c8697f
mov edx, 0x74b942f0
push 0
push dword [esi + 0x1c]
push 1
mov ecx, edi
call fcn.74c88d91
test dword [esi], 0x200
je 0x74c8698c
mov eax, dword [esi + 0xc]
jmp 0x74c8699f
lea eax, [ebp - 0xc]
mov edx, 0x74b941b8
push eax
mov ecx, edi
call fcn.74c86158
mov eax, dword [ebp - 0xc]
xor ecx, ecx
sub eax, ecx
je 0x74c86c5d
sub eax, 1
je 0x74c86ad2
sub eax, 1
jne 0x74c86d97
mov eax, dword [esi + 0x90]
xor ebx, ebx
test eax, 0x20000
je 0x74c869e8
push 0x10
lea eax, [esi + 0xc0]
push eax
push 3
push ebx
push 0x74b94560
push edi
call dword [0x74cce0cc]
mov eax, dword [esi + 0x90]
test eax, 0x10000
je 0x74c869fc
lea edx, [esi + 0x94]
mov ecx, edi
call fcn.74c86dc6
test dword [esi], 0x4000000
je 0x74c86a1c
push 4
lea eax, [esi + 0xa4]
push eax
push 4
push ebx
push 0x74b94580
push edi
call dword [0x74cce0cc]
mov eax, dword [esi + 0x90]
test eax, 0x80000
je 0x74c86a47
push 4
lea eax, [esi + 0xa8]
push eax
push 4
push ebx
push 0x74b945a8
push edi
call dword [0x74cce0cc]
mov eax, dword [esi + 0x90]
test eax, 0x400000
je 0x74c86a69
push ebx
push dword [esi + 0xb4]
mov edx, 0x74b945c4
mov ecx, edi
push 1
call fcn.74c88d91
mov eax, dword [esi + 0x90]
test eax, 0x100000
je 0x74c86a8b
push ebx
push dword [esi + 0xb0]
mov edx, 0x74b94610
mov ecx, edi
push 1
call fcn.74c88d91
mov eax, dword [esi + 0x90]
test eax, 0x200000
je 0x74c86aad
push ebx
push dword [esi + 0xac]
mov edx, 0x74b945e0
mov ecx, edi
push 1
call fcn.74c88d91
mov eax, dword [esi + 0x90]
test eax, 0x800000
je 0x74c86d97
push ebx
push dword [esi + 0xb8]
mov edx, 0x74b945fc
mov ecx, edi
push 1
call fcn.74c88d91
jmp 0x74c86d97
test byte [esi], 2
je 0x74c86b0c
mov eax, dword [esi + 0x28]
mov dword [ebp - 4], eax
dec eax
push 4
pop ebx
sub eax, 1
je 0x74c86af0
sub eax, 1
jne 0x74c86af7
mov dword [ebp - 4], ebx
jmp 0x74c86af7
mov dword [ebp - 4], 5
push ebx
lea eax, [ebp - 4]
push eax
push ebx
push ecx
push 0x74b94310
push edi
call dword [0x74cce0cc]
jmp 0x74c86b1f
lea eax, [ebp - 4]
mov edx, 0x74b94310
push eax
mov ecx, edi
call fcn.74c86158
push 4
pop ebx
mov eax, dword [esi]
test al, 0x40
je 0x74c86b5a
lea ecx, [esi + 0x38]
mov eax, dword [ecx]
test al, 0xf
jne 0x74c86b3e
cmp dword [ebp - 4], 5
jne 0x74c86b39
or eax, 2
jmp 0x74c86b3c
or eax, 1
mov dword [ecx], eax
test al, 0xf0
jne 0x74c86b47
or eax, 0x40
mov dword [ecx], eax
push ebx
push ecx
push ebx
push 0
push 0x74b9434c
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0x10000
je 0x74c86b7a
push ebx
lea eax, [esi + 0xb8]
push eax
push ebx
push 0
push 0x74b94390
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0x80000
je 0x74c86b9a
push ebx
lea eax, [esi + 0xb4]
push eax
push ebx
push 0
push 0x74b943b4
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0x100000
je 0x74c86bba
push ebx
lea eax, [esi + 0xb0]
push eax
push ebx
push 0
push 0x74b943e4
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0x200000
je 0x74c86be1
push ebx
lea eax, [esi + 0xbc]
push eax
push ebx
push 0
push 0x74b94414
push edi
call dword [0x74cce0cc]
mov ecx, edi
call fcn.74c82a21
mov eax, dword [esi]
test eax, 0x40000
je 0x74c86c01
push ebx
lea eax, [esi + 0xa8]
push eax
push ebx
push 0
push 0x74b944e4
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0x20000
je 0x74c86c20
push 0
push dword [esi + 0xa4]
mov edx, 0x74b944fc
mov ecx, edi
push 1
call fcn.74c88d91
mov eax, dword [esi]
test eax, 0x800000
je 0x74c86c40
push ebx
lea eax, [esi + 0xc0]
push eax
push ebx
push 0
push 0x74b9444c
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0x400000
je 0x74c86d97
lea edx, [esi + 0x94]
mov ecx, edi
call fcn.74c86dc6
jmp 0x74c86d97
test byte [esi], 2
je 0x74c86c99
mov eax, dword [esi + 0x28]
mov dword [ebp - 4], eax
sub eax, 4
je 0x74c86c7b
sub eax, 1
jne 0x74c86c82
mov dword [ebp - 4], 2
jmp 0x74c86c82
mov dword [ebp - 4], 3
push 4
lea eax, [ebp - 4]
push eax
push 4
push ecx
push 0x74b94310
push edi
call dword [0x74cce0cc]
jmp 0x74c86ca9
lea eax, [ebp - 4]
mov edx, 0x74b94310
push eax
mov ecx, edi
call fcn.74c86158
mov eax, dword [esi]
test al, 0x40
je 0x74c86cf6
cmp dword [ebp - 4], 6
lea ecx, [esi + 0x38]
mov eax, dword [ecx]
jne 0x74c86cc6
and eax, 0xffffff12
or eax, 0x12
mov dword [ecx], eax
jmp 0x74c86ce1
test al, 0xf
jne 0x74c86cd7
xor ebx, ebx
cmp dword [ebp - 4], 2
sete bl
inc ebx
mov dword [ebp - 8], ebx
test al, 0xf0
jne 0x74c86ce1
or ebx, 0x20
mov dword [ebp - 8], ebx
push 4
push ecx
push 4
push 0
push 0x74b9434c
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test al, 4
je 0x74c86d3f
mov eax, dword [esi + 0x10]
mov edx, 0x74b9434c
mov dword [ebp - 0xc], eax
mov ecx, edi
lea eax, [ebp - 8]
push eax
call fcn.74c86158
mov eax, dword [ebp - 8]
and al, 0xf0
cmp al, 0x20
jne 0x74c86d27
mov eax, dword [ebp - 0xc]
cmp eax, 0xffffffff
je 0x74c86d27
shl eax, 0xa
mov dword [ebp - 0xc], eax
push 4
lea eax, [ebp - 0xc]
push eax
push 4
push 0
push 0x74b94210
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0x1000000
je 0x74c86d61
push 0x10
lea eax, [esi + 0xa8]
push eax
push 3
push 0
push 0x74b94560
push edi
call dword [0x74cce0cc]
mov eax, dword [esi]
test eax, 0x2000000
je 0x74c86d77
lea edx, [esi + 0x94]
mov ecx, edi
call fcn.74c86dc6
mov eax, dword [esi]
test eax, 0x4000000
je 0x74c86d97
push 4
lea eax, [esi + 0xa4]
push eax
push 4
push 0
push 0x74b94580
push edi
call dword [0x74cce0cc]
mov edx, dword [esi]
lea eax, [esi + 0x50]
mov ecx, edx
and ecx, 0x800
neg ecx
sbb ecx, ecx
and edx, 0x400
and ecx, eax
neg edx
lea eax, [esi + 0x40]
sbb edx, edx
push ecx
and edx, eax
mov ecx, edi
call fcn.74c86646
pop edi
pop esi
pop ebx
leave
ret