Function at 0x10007780
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x128
push 0
push esi
mov edi, ecx
call fcn.100c6660
mov ebx, 2
add esp, 0xc
test byte [edi + 0x144], bl
je 0x10007aa3
mov dword [esi + 0x120], 0x40
mov eax, dword [edi + 0x168]
push 0x100
add eax, ebx
push eax
push esi
call fcn.10076ba0
mov ecx, dword [edi + 0x168]
movzx edx, word [ecx + 0x3e]
mov dword [esi + 0x104], edx
mov eax, dword [edi + 0x168]
mov ecx, dword [eax + 0x34]
mov dword [esi + 0x108], ecx
mov edx, dword [edi + 0x168]
add esp, 0xc
test byte [edx + 0x30], 8
je 0x10007804
mov dword [esi + 0x100], 1
jmp 0x1000786d
mov eax, dword [edx + 0x30]
test al, 0x10
jne 0x10007867
test eax, 0x200000
je 0x1000781e
mov dword [esi + 0x100], 5
jmp 0x1000786d
test eax, 0x400000
je 0x1000783c
mov ecx, dword [edi + 0x118]
neg ecx
sbb ecx, ecx
and ecx, 5
add ecx, ebx
mov dword [esi + 0x100], ecx
jmp 0x1000786d
test eax, 0x800000
je 0x100078b4
cmp dword [edi + 0x124], 0
je 0x100078a8
mov eax, dword [esi + 0x104]
lea edx, [eax*8]
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
mov dword [esi + 0x114], edx
mov dword [esi + 0x100], ebx
cmp dword [esi + 0x114], 0
jne case.default.0x1000790c
mov eax, dword [esi + 0x100]
cmp eax, 8
je 0x100079e6
cmp eax, 9
je 0x100079e6
cmp eax, 0xb
jne 0x100078f6
mov eax, dword [esi + 0x104]
lea eax, [eax + eax*8]
shl eax, 8
jmp 0x10007a0e
mov dword [esi + 0x100], 8
jmp 0x1000786d
test eax, 0x200
je 0x1000786d
mov edx, dword [edi + 0x180]
test edx, 0x200
je 0x10007867
mov eax, dword [esi + 0x120]
test al, 0x40
jne 0x100078d8
test dl, 0x40
je 0x10007867
test dl, dl
js 0x10007867
or eax, 0x200
mov dword [esi + 0x100], 0xb
mov dword [esi + 0x120], eax
jmp 0x1000786d
mov ecx, dword [esi + 0x104]
cmp eax, 0xc
ja case.default.0x1000790c
movzx edx, byte [eax + 0x10007ed4]
jmp dword [edx*4 + 0x10007ec0]
mov eax, 8
cdq
shrd eax, edx, 3
shr edx, 3
mov dword [esi + 0x114], eax
imul eax, ecx
jmp 0x10007a0e
mov eax, 0x10
cdq
shrd eax, edx, 3
shr edx, 3
mov dword [esi + 0x114], eax
imul eax, ecx
jmp 0x10007a0e
mov eax, 0x18
cdq
shrd eax, edx, 3
shr edx, 3
mov dword [esi + 0x114], eax
imul eax, ecx
jmp 0x10007a0e
mov eax, 0x20
cdq
shrd eax, edx, 3
shr edx, 3
mov dword [esi + 0x114], eax
imul eax, ecx
jmp 0x10007a0e
jmp dword [eax*4 + 0x10007ee4]
mov ecx, dword [esi + 0x104]
xor eax, eax
mov dword [esi + 0x114], eax
shl ecx, 4
mov edx, 0x4000
lea esp, [esp]
add eax, ecx
mov dword [esi + 0x114], eax
cmp eax, edx
jbe 0x10007a00
sub eax, ecx
mov dword [esi + 0x114], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x10007a49
mov ecx, dword [edi + 0x164]
mov edx, dword [ecx + eax*4]
mov ecx, dword [edx + 4]
mov dword [esi + 0x10c], ecx
mov edx, dword [edi + 0x164]
mov eax, dword [edx + eax*4]
mov ecx, dword [eax]
mov dword [esi + 0x110], ecx
mov ecx, dword [edi + 0x168]
jmp 0x10007e3f
mov edx, dword [edi + 0x164]
cmp dword [edx], 0
je 0x10007a7a
mov ecx, dword [edx]
mov edx, dword [ecx + 4]
mov dword [esi + 0x10c], edx
mov eax, dword [edi + 0x164]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [esi + 0x110], edx
mov ecx, dword [edi + 0x168]
jmp 0x10007e3f
mov eax, dword [edi + 0x168]
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x110], ecx
mov edx, dword [edi + 0x168]
mov eax, dword [edx + 0x24]
mov dword [esi + 0x10c], eax
mov ecx, dword [edi + 0x168]
jmp 0x10007e3f
mov ebx, dword [ebp + 8]
mov edx, dword [edi + 0x160]
mov ecx, dword [edx + ebx*4]
mov ecx, dword [ecx + 0x30]
mov eax, 0x40
test cl, 2
je 0x10007ac3
mov eax, 0x42
jmp 0x10007acd
test cl, 4
je 0x10007acd
mov eax, 0x44
mov dword [esi + 0x120], eax
mov edx, dword [edi + 0x160]
mov eax, dword [edx + ebx*4]
push 0x100
add eax, 2
push eax
push esi
call fcn.10076ba0
push 0xe2
lea ecx, [esi + 0x1e]
push 0
push ecx
call fcn.100c6660
mov edx, dword [edi + 0x160]
mov eax, dword [edx + ebx*4]
movzx ecx, word [eax + 0x3e]
mov dword [esi + 0x104], ecx
mov edx, dword [edi + 0x160]
mov eax, dword [edx + ebx*4]
mov ecx, dword [eax + 0x34]
mov dword [esi + 0x108], ecx
mov edx, dword [edi + 0x160]
mov eax, dword [edx + ebx*4]
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x110], ecx
mov edx, dword [edi + 0x160]
mov eax, dword [edx + ebx*4]
mov ecx, dword [eax + 0x28]
mov dword [esi + 0x118], ecx
mov edx, dword [edi + 0x160]
mov eax, dword [edx + ebx*4]
mov eax, dword [eax + 0x2c]
add esp, 0x18
mov dword [esi + 0x11c], eax
cmp ecx, eax
jl 0x10007b74
mov ecx, dword [esi + 0x110]
dec ecx
mov dword [esi + 0x118], 0
mov dword [esi + 0x11c], ecx
mov edx, dword [edi + 0x160]
mov eax, dword [edx + ebx*4]
mov ecx, dword [eax + 0x24]
mov dword [esi + 0x10c], ecx
mov edx, dword [edi + 0x160]
mov eax, dword [edx + ebx*4]
test byte [eax + 0x30], 8
je 0x10007ba4
mov dword [esi + 0x100], 1
jmp 0x10007ca1
mov edx, dword [eax + 0x30]
test dl, 0x10
je 0x10007bbb
mov dword [esi + 0x100], 2
jmp 0x10007ca1
test edx, 0x200000
jne 0x10007c97
test edx, 0x400000
je 0x10007beb
movzx eax, byte [edi + 0x11c]
neg eax
sbb eax, eax
and eax, 5
add eax, 2
mov dword [esi + 0x100], eax
jmp 0x10007ca1
test edx, 0x800000
je 0x10007c2f
cmp dword [edi + 0x124], 0
je 0x10007c23
mov edx, dword [esi + 0x104]
lea ecx, [edx*8]
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov dword [esi + 0x100], 2
mov dword [esi + 0x114], ecx
jmp 0x10007ca1
mov dword [esi + 0x100], 8
jmp 0x10007ca1
test edx, 0x200
je 0x10007c67
mov edx, dword [edi + 0x180]
test edx, 0x200
je 0x10007bac
test dl, dl
js 0x10007bac
or dword [esi + 0x120], 0x200
mov dword [esi + 0x100], 0xb
jmp 0x10007ca1
test edx, 0x8000000
je 0x10007ca1
mov edx, dword [edi + 0x180]
test edx, 0x200
je 0x10007c97
test dl, dl
js 0x10007c97
or dword [esi + 0x120], 0x200
mov dword [esi + 0x100], 0xc
jmp 0x10007ca1
mov dword [esi + 0x100], 5
xor eax, eax
cmp dword [esi + 0x114], eax
jne case.default.0x10007cf9
mov edx, dword [esi + 0x100]
cmp edx, 8
je 0x10007e0e
cmp edx, 9
je 0x10007e0e
cmp edx, 0xb
jne 0x10007ce3
mov eax, dword [esi + 0x104]
lea edx, [eax + eax*8]
shl edx, 8
mov dword [esi + 0x114], edx
jmp case.default.0x10007cf9
mov ecx, dword [esi + 0x104]
cmp edx, 0xc
ja case.default.0x10007cf9
movzx eax, byte [edx + 0x10007f2c]
jmp dword [eax*4 + 0x10007f18]
mov eax, 8
cdq
shrd eax, edx, 3
shr edx, 3
mov edx, eax
imul edx, ecx
mov dword [esi + 0x114], eax
mov dword [esi + 0x114], edx
jmp case.default.0x10007cf9
mov eax, 0x10
cdq
shrd eax, edx, 3
shr edx, 3
mov edx, eax
imul edx, ecx
mov dword [esi + 0x114], eax
mov dword [esi + 0x114], edx
jmp case.default.0x10007cf9
mov eax, 0x18
cdq
shrd eax, edx, 3
shr edx, 3
mov edx, eax
imul edx, ecx
mov dword [esi + 0x114], eax
mov dword [esi + 0x114], edx
jmp case.default.0x10007cf9
mov eax, 0x20
cdq
shrd eax, edx, 3
shr edx, 3
mov edx, eax
imul edx, ecx
mov dword [esi + 0x114], eax
mov dword [esi + 0x114], edx
jmp case.default.0x10007cf9
jmp dword [edx*4 + 0x10007f3c]
mov ecx, dword [esi + 0x104]
mov dword [esi + 0x114], eax
shl ecx, 4
mov edx, 0x4000
add eax, ecx
mov dword [esi + 0x114], eax
cmp eax, edx
jbe 0x10007e22
sub eax, ecx
mov dword [esi + 0x114], eax
mov eax, dword [edi + 0x160]
mov ecx, dword [eax + ebx*4]
mov eax, dword [ecx + 0x30]
and eax, 0x10c00
cmp eax, 0x400
jne 0x10007e5a
mov dword [esi + 0x124], 0x10000000
jmp 0x10007e7e
cmp eax, 0x800
jne 0x10007e6d
mov dword [esi + 0x124], 0x20000000
jmp 0x10007e7e
cmp eax, 0x10000
jne 0x10007e7e
mov dword [esi + 0x124], 0x40000000
cmp dword [esi + 0x124], 0
jne 0x10007eb4
mov eax, dword [esi + 0x104]
cmp eax, 4
jne 0x10007ea5
pop edi
mov dword [esi + 0x124], 0x33
pop esi
xor eax, eax
pop ebx
pop ebp
ret 8
cmp eax, 6
jne 0x10007eb4
mov dword [esi + 0x124], 0x3f
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret 8