Function at 0x73167ed0
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x731f70b4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x24], 0
mov ebx, edx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], edx
cmp dword [esi + 8], 0
mov ecx, dword [esi]
mov dword [ebp - 0x30], ecx
jbe 0x7316831f
lea ecx, [ebx + 8]
mov dword [ebp - 0x3c], ecx
mov ebx, ecx
lea ecx, [eax + 0x1c]
mov eax, 0xfffffff4
sub eax, edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x34], eax
mov eax, 0xfffffff8
sub eax, dword [ebp - 0x28]
push edi
lea edi, [edx + 0xc]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x73167f6e
cmp eax, 0x64
je 0x73167f6e
cmp eax, 0x65
je 0x73167f6e
cmp eax, 0x66
je 0x73167f6e
mov eax, dword [ebp - 0x30]
or dword [ebx - 4], 0x2000
mov edx, dword [esi + 0x18]
mov eax, dword [eax + 0x48]
cmp edx, eax
jne 0x73167f63
cmp dword [esi + 0xc], 1
jne 0x73167f63
mov edx, eax
add ecx, 8
call fcn.73170f20
mov ecx, dword [ebp - 0x20]
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x34]
add edx, edi
mov eax, dword [edx + eax]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov eax, dword [eax + edx + 4]
mov dword [ecx - 4], eax
mov eax, dword [esi + 0x1c]
and eax, 0x1f
mov dword [edi + 4], eax
mov ecx, dword [esi + 0x10]
test ecx, 0x1000000
je 0x73167fa2
or dword [edi], 0x20000000
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
dec eax
cmp eax, 0xfe
ja case.0x73167fb8.2
movzx eax, byte [eax + 0x73168354]
jmp dword [eax*4 + 0x73168330]
mov edx, dword [ebp - 0x38]
add edx, ebx
test ecx, ecx
jns 0x73168019
cmp dword [esi + 8], 1
jne 0x73167fdd
mov eax, dword [ebp - 0x3c]
or dword [eax + edx], 0x200
jmp case.0x73167fb8.2
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
neg eax
sbb eax, eax
and eax, 0xffff7de4
add eax, 0x8220
or dword [edx + ecx + 8], eax
mov eax, dword [edx + ecx + 8]
or eax, 0x2018
mov dword [ebx], eax
mov ecx, dword [esi]
cmp dword [ecx + 0x30], 0
jne case.0x73167fb8.2
call fcn.73167de0
mov dword [edi + 0xc], eax
jmp case.0x73167fb8.2
mov eax, dword [ebp - 0x28]
test cl, 2
mov ecx, dword [ebp - 0x28]
mov eax, dword [edx + eax + 8]
je 0x73168040
or eax, 0x20000
mov dword [edx + ecx + 8], eax
mov ecx, dword [esi]
call fcn.73167de0
mov dword [edi + 0xc], eax
jmp case.0x73167fb8.2
or eax, 0x40
mov dword [edx + ecx + 8], eax
jmp case.0x73167fb8.2
mov eax, dword [ebx]
or eax, 0x1000
mov dword [ebx], eax
cmp dword [esi + 8], 1
jbe 0x73168062
or eax, 0x400000
mov dword [ebx], eax
cmp dword [ebp - 0x24], 0
jbe 0x7316806e
or dword [edi], 0x10000
test dword [esi + 0x10], 0x200
je 0x7316807a
or dword [edi], 4
mov ecx, dword [esi]
call fcn.73167de0
mov dword [edi + 0xc], eax
jmp case.0x73167fb8.2
or dword [ebx], 0x401000
mov ecx, dword [edi]
or ecx, 0x200000
cmp dword [ebp - 0x24], 0
mov dword [edi], ecx
mov eax, dword [esi + 4]
movzx eax, word [eax + edx + 8]
mov dword [edi + 8], eax
jbe 0x731680b2
or ecx, 0x10000
mov dword [edi], ecx
test dword [esi + 0x10], 0x200
je 0x731680c0
or ecx, 4
mov dword [edi], ecx
mov ecx, dword [esi]
call fcn.73167de0
mov dword [edi + 0xc], eax
jmp case.0x73167fb8.2
or dword [ebx], 0x1008
or dword [edi], 0x200
mov ecx, dword [esi]
call fcn.73167de0
mov dword [edi + 0xc], eax
mov ecx, dword [esi + 8]
cmp ecx, 6
jbe 0x731680f6
or dword [ebx], 0x400000
mov ecx, dword [esi + 8]
mov eax, 0xaaaaaaab
mov dword [ebp - 0x1c], 0x400
mul ecx
mov eax, dword [ebp - 0x24]
mov ecx, edx
mov dword [ebp - 0x18], 0x800
shr ecx, 2
xor edx, edx
div ecx
mov dword [ebp - 0x14], 0x1000
mov dword [ebp - 0x10], 0x2000
mov dword [ebp - 0xc], 0x4000
mov dword [ebp - 8], 0x8000
mov eax, dword [ebp + eax*4 - 0x1c]
or eax, dword [edi]
mov dword [edi], eax
test edx, edx
je 0x73168146
or eax, 0x10000
mov dword [edi], eax
test dword [esi + 0x10], 0x200
je case.0x73167fb8.2
or eax, 4
mov dword [edi], eax
jmp case.0x73167fb8.2
or dword [ebx], 0x1000
jmp case.0x73167fb8.2
or dword [ebx], 0x800000
mov ecx, dword [esi]
call fcn.73167de0
or dword [edi], 0x40
jmp 0x731681e8
or dword [ebx], 0x800000
mov ecx, dword [esi + 0x10]
test ecx, 0x20000000
jne 0x73168191
or dword [edi], 0x20
mov ecx, dword [esi + 0x10]
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x50], 8
jb 0x731681e1
mov eax, dword [ebp - 0x2c]
test ecx, 0x200
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax + edx + 0xc]
je 0x731681da
or eax, 4
jmp 0x731681dd
or dword [ebx], 0x800000
mov eax, dword [edi]
mov ecx, dword [ebp - 0x30]
or eax, 0x4000000
mov dword [edi], eax
cmp dword [ecx + 0x50], 8
jb 0x731681e1
test dword [esi + 0x10], 0x200
mov ecx, dword [ebp - 0x2c]
je 0x731681da
or eax, 4
jmp 0x731681dd
or eax, 8
mov dword [ecx + edx + 0xc], eax
mov ecx, dword [esi]
call fcn.73167de0
mov ecx, dword [ebp - 0x20]
mov dword [edi + 0xc], eax
mov eax, dword [ecx]
mov dword [ecx - 0x10], eax
test byte [esi + 0x10], 1
je 0x7316820f
or dword [ebx], 0x2000
cmp dword [edi + 0xc], 0
jne 0x7316820f
mov ecx, dword [esi]
call fcn.73167de0
mov dword [edi + 0xc], eax
test byte [esi + 0x10], 2
je 0x7316821b
or dword [ebx], 0x20000
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x50], 8
jb 0x73168287
mov eax, dword [esi + 0x10]
test al, 4
je 0x73168234
or dword [edi], 0x80
mov eax, dword [esi + 0x10]
test al, 8
je 0x73168241
or dword [ebx], 0x10000
mov eax, dword [esi + 0x10]
test eax, 0x4000004
jne 0x73168251
or dword [edi], 0x400000
mov eax, dword [esi + 0x10]
test eax, 0x2000000
je 0x7316825e
or dword [edi], 0x10000000
test byte [esi + 0x10], 0x40
je 0x7316826a
or dword [edi], 0x800000
test byte [esi + 0x10], 0x80
je 0x73168276
or dword [edi], 0x1000000
test dword [esi + 0x10], 0x100
je 0x731682b9
or dword [edi], 0x2000000
jmp 0x731682b9
mov eax, dword [esi + 0xc]
cmp eax, 3
je 0x73168299
cmp eax, 5
je 0x73168299
cmp eax, 4
jne 0x731682a8
test byte [esi + 0x10], 4
je 0x731682a8
or dword [edi], 0x80
mov eax, dword [esi + 0xc]
cmp eax, 6
jne 0x731682b9
test byte [esi + 0x10], 8
je 0x731682b9
or dword [ebx], 0x10000
mov eax, dword [esi + 0x14]
cmp eax, 5
ja case.0x731682c1.3
jmp dword [eax*4 + 0x73168454]
or dword [ebx], 0x10004000
jmp case.0x731682c1.3
or dword [ebx], 0x20004000
jmp case.0x731682c1.3
or dword [ebx], 0x800
jmp case.0x731682c1.3
or dword [ebx - 4], 0x40000000
or dword [ebx], 0x4000
or dword [edi], 0x10
jmp case.0x731682c1.3
mov dword [esi + 0x14], 4
or dword [ebx], 0x4000
mov edx, dword [ebp - 0x24]
add edi, 0x1c
mov ecx, dword [ebp - 0x20]
inc edx
add ecx, 0x4c
mov dword [ebp - 0x24], edx
add ebx, 0x3c
mov dword [ebp - 0x20], ecx
cmp edx, dword [esi + 8]
jb 0x73167f31
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.731efbf0
mov esp, ebp
pop ebp
ret