Function at 0x42fc40
Capabilities:
Inspect section memory permissions

Disassembly:
push ecx
push ebx
push ebp
push esi
push edi
call fcn.004307a0
mov eax, dword [eax + 4]
push eax
call fcn.00477a00
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
call fcn.004307a0
mov ecx, dword [eax + 4]
mov edx, dword [ecx*4 + 0x751988]
mov eax, dword [edx + 0x38]
test ah, 0xf0
je 0x42fc91
call fcn.004307a0
mov eax, dword [eax + 4]
mov ecx, dword [eax*4 + 0x751988]
mov edx, dword [ecx + 0x2c]
and edx, 0xf000
or ebx, edx
mov dword [esp + 0x10], ebx
mov esi, dword [esp + 0x18]
mov eax, ebx
and eax, 0x1000
je 0x42fcaa
test bh, 0x20
je 0x42fcaa
mov eax, 4
jmp 0x42fd12
mov edi, ebx
and edi, 0x2000
je 0x42fcc0
test bh, 0x40
je 0x42fcc0
mov eax, 5
jmp 0x42fd12
mov ecx, ebx
and ecx, 0x4000
je 0x42fcd6
test bh, 0x80
je 0x42fcd6
mov eax, 6
jmp 0x42fd12
mov edx, ebx
and edx, 0x8000
je 0x42fceb
test eax, eax
je 0x42fcf3
mov eax, 7
jmp 0x42fd12
test eax, eax
je 0x42fcf3
xor eax, eax
jmp 0x42fd12
test edi, edi
je 0x42fcfe
mov eax, 1
jmp 0x42fd12
test ecx, ecx
je 0x42fd09
mov eax, 2
jmp 0x42fd12
test edx, edx
je 0x42fd5b
mov eax, 3
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
cmp edx, 2
jne 0x42fd29
lea eax, [eax + ecx*8]
mov edx, dword [eax*4 + 0x55faac]
jmp 0x42fd41
cmp edx, 4
lea eax, [eax + ecx*8]
jne 0x42fd3a
mov edx, dword [eax*4 + 0x55fb0c]
jmp 0x42fd41
mov edx, dword [eax*4 + 0x55fbac]
mov eax, edx
mov dword [esi + 0xc], edx
cmp ecx, eax
je 0x42fd5b
push 1
call fcn.004689d0
add esp, 4
mov dword [esi + 4], 0
mov eax, dword [esi + 0xc]
test eax, eax
jge 0x42fdd1
mov eax, dword [esi + 4]
mov ecx, 0x2d
cdq
idiv ecx
mov eax, 0xb60b60b7
mov ebx, 0xffffff
mov ecx, edx
shl ecx, 7
imul ecx
add edx, ecx
mov ecx, dword [esi + 0xdc]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, edx
mov edx, dword [ecx + 0x2c]
shl eax, 0x18
and edx, ebx
or edx, eax
mov dword [ecx + 0x2c], edx
mov ecx, dword [esi + 0xdc]
mov edx, dword [ecx + 0x30]
and edx, ebx
or edx, eax
mov dword [ecx + 0x30], edx
mov ecx, dword [esi + 0xdc]
mov edx, dword [ecx + 0x34]
and edx, ebx
or edx, eax
mov dword [ecx + 0x34], edx
mov ecx, dword [esi + 0xdc]
mov edx, dword [ecx + 0x38]
and edx, ebx
or edx, eax
mov dword [ecx + 0x38], edx
jmp 0x42fe09
mov eax, dword [esi + 0xdc]
mov ebx, 0xffffff
mov ebp, dword [eax + 0x2c]
and ebp, ebx
mov dword [eax + 0x2c], ebp
mov eax, dword [esi + 0xdc]
mov edi, dword [eax + 0x30]
and edi, ebx
mov dword [eax + 0x30], edi
mov eax, dword [esi + 0xdc]
mov edx, dword [eax + 0x34]
and edx, ebx
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0xdc]
and dword [eax + 0x38], ebx
mov eax, dword [esi + 8]
xor edx, edx
test eax, eax
mov dword [esp + 0x18], edx
jle 0x430297
mov ecx, 9
lea ebp, [esi + 0xf8]
mov eax, dword [esi + 0xc]
cmp edx, eax
mov eax, dword [ebp]
mov edi, dword [eax + 0x2c]
jne 0x42fe6f
and edi, ebx
or edi, 0x60000000
mov dword [eax + 0x2c], edi
mov eax, dword [ebp]
mov edi, dword [eax + 0x30]
and edi, ebx
or edi, 0x60000000
mov dword [eax + 0x30], edi
mov eax, dword [ebp]
mov edi, dword [eax + 0x34]
and edi, ebx
or edi, 0x60000000
mov dword [eax + 0x34], edi
mov eax, dword [ebp]
mov edi, dword [eax + 0x38]
and edi, ebx
or edi, 0x60000000
jmp 0x42feaa
and edi, ebx
or edi, 0x40000000
mov dword [eax + 0x2c], edi
mov eax, dword [ebp]
mov edi, dword [eax + 0x30]
and edi, ebx
or edi, 0x40000000
mov dword [eax + 0x30], edi
mov eax, dword [ebp]
mov edi, dword [eax + 0x34]
and edi, ebx
or edi, 0x40000000
mov dword [eax + 0x34], edi
mov eax, dword [ebp]
mov edi, dword [eax + 0x38]
and edi, ebx
or edi, 0x40000000
mov dword [eax + 0x38], edi
mov eax, dword [esi + 0xc]
cmp edx, eax
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x2c]
jne 0x42ff72
and edi, 0xffb8bf83
or edi, 0xb8bf83
mov dword [eax + 0x2c], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x30]
and edi, 0xff757b47
or edi, 0x757b47
mov dword [eax + 0x30], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x34]
and edi, 0xffb8bf83
or edi, 0xb8bf83
mov dword [eax + 0x34], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x38]
and edi, 0xff757b47
or edi, 0x757b47
mov dword [eax + 0x38], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x2c]
and edi, ebx
or edi, 0x80000000
mov dword [eax + 0x2c], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x30]
and edi, ebx
or edi, 0x80000000
mov dword [eax + 0x30], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x34]
and edi, ebx
or edi, 0x80000000
mov dword [eax + 0x34], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x38]
and edi, ebx
or edi, 0x80000000
jmp 0x43001d
and edi, 0xff727951
or edi, 0x727951
mov dword [eax + 0x2c], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x30]
and edi, 0xff2f3515
or edi, 0x2f3515
mov dword [eax + 0x30], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x34]
and edi, 0xff727951
or edi, 0x727951
mov dword [eax + 0x34], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x38]
and edi, 0xff2f3515
or edi, 0x2f3515
mov dword [eax + 0x38], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x2c]
and edi, ebx
or edi, 0x60000000
mov dword [eax + 0x2c], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x30]
and edi, ebx
or edi, 0x60000000
mov dword [eax + 0x30], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x34]
and edi, ebx
or edi, 0x60000000
mov dword [eax + 0x34], edi
mov eax, dword [esi + ecx*4 + 0xd8]
mov edi, dword [eax + 0x38]
and edi, ebx
or edi, 0x60000000
mov dword [eax + 0x38], edi
mov eax, dword [esi + 0xc]
cmp edx, eax
mov eax, dword [esi + ecx*4 + 0xdc]
mov edi, dword [eax + 0x2c]
jne 0x43008a
and edi, 0xff808080
or edi, 0x808080
mov dword [eax + 0x2c], edi
mov eax, dword [esi + ecx*4 + 0xdc]
mov edi, dword [eax + 0x30]
and edi, 0xff808080
or edi, 0x808080
mov dword [eax + 0x30], edi
mov eax, dword [esi + ecx*4 + 0xdc]
mov edi, dword [eax + 0x34]
and edi, 0xff808080
or edi, 0x808080
mov dword [eax + 0x34], edi
mov eax, dword [esi + ecx*4 + 0xdc]
mov edi, dword [eax + 0x38]
and edi, 0xff808080
or edi, 0x808080
jmp 0x4300e1
and edi, 0xff505050
or edi, 0x505050
mov dword [eax + 0x2c], edi
mov eax, dword [esi + ecx*4 + 0xdc]
mov edi, dword [eax + 0x30]
and edi, 0xff505050
or edi, 0x505050
mov dword [eax + 0x30], edi
mov eax, dword [esi + ecx*4 + 0xdc]
mov edi, dword [eax + 0x34]
and edi, 0xff505050
or edi, 0x505050
mov dword [eax + 0x34], edi
mov eax, dword [esi + ecx*4 + 0xdc]
mov edi, dword [eax + 0x38]
and edi, 0xff505050
or edi, 0x505050
mov dword [eax + 0x38], edi
mov eax, dword [esi + 0xc]
cmp edx, eax
jne 0x4301c9
mov eax, dword [esi + 4]
mov edi, 0x3c
cdq
idiv edi
mov eax, 0x88888889
lea edi, [edx + edx*2]
shl edi, 5
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
lea eax, [edx + eax + 0x20]
mov edx, dword [esi + ecx*4 + 0xe0]
shl eax, 0x18
mov edi, dword [edx + 0x2c]
and edi, 0xffb8bf83
or edi, 0xb8bf83
mov dword [edx + 0x2c], edi
mov edx, dword [esi + ecx*4 + 0xe0]
mov edi, dword [edx + 0x30]
and edi, 0xffb8bf83
or edi, 0xb8bf83
mov dword [edx + 0x30], edi
mov edx, dword [esi + ecx*4 + 0xe0]
mov edi, dword [edx + 0x34]
and edi, 0xffb8bf83
or edi, 0xb8bf83
mov dword [edx + 0x34], edi
mov edx, dword [esi + ecx*4 + 0xe0]
mov edi, dword [edx + 0x38]
and edi, 0xffb8bf83
or edi, 0xb8bf83
mov dword [edx + 0x38], edi
mov edx, dword [esi + ecx*4 + 0xe0]
mov edi, dword [edx + 0x2c]
and edi, ebx
or edi, eax
mov dword [edx + 0x2c], edi
mov edx, dword [esi + ecx*4 + 0xe0]
mov edi, dword [edx + 0x30]
and edi, ebx
or edi, eax
mov dword [edx + 0x30], edi
mov edx, dword [esi + ecx*4 + 0xe0]
mov edi, dword [edx + 0x34]
and edi, ebx
or edi, eax
mov dword [edx + 0x34], edi
mov edx, dword [esi + ecx*4 + 0xe0]
mov edi, dword [edx + 0x38]
and edi, ebx
or edi, eax
mov dword [edx + 0x38], edi
mov edx, dword [esp + 0x18]
jmp 0x430281
mov eax, dword [esi + ecx*4 + 0xe0]
mov edi, dword [eax + 0x2c]
and edi, 0xff545b33
or edi, 0x545b33
mov dword [eax + 0x2c], edi
mov eax, dword [esi + ecx*4 + 0xe0]
mov edi, dword [eax + 0x30]
and edi, 0xff545b33
or edi, 0x545b33
mov dword [eax + 0x30], edi
mov eax, dword [esi + ecx*4 + 0xe0]
mov edi, dword [eax + 0x34]
and edi, 0xff545b33
or edi, 0x545b33
mov dword [eax + 0x34], edi
mov eax, dword [esi + ecx*4 + 0xe0]
mov edi, dword [eax + 0x38]
and edi, 0xff545b33
or edi, 0x545b33
mov dword [eax + 0x38], edi
mov eax, dword [esi + ecx*4 + 0xe0]
mov edi, dword [eax + 0x2c]
and edi, ebx
or edi, 0x40000000
mov dword [eax + 0x2c], edi
mov eax, dword [esi + ecx*4 + 0xe0]
mov edi, dword [eax + 0x30]
and edi, ebx
or edi, 0x40000000
mov dword [eax + 0x30], edi
mov eax, dword [esi + ecx*4 + 0xe0]
mov edi, dword [eax + 0x34]
and edi, ebx
or edi, 0x40000000
mov dword [eax + 0x34], edi
mov eax, dword [esi + ecx*4 + 0xe0]
mov edi, dword [eax + 0x38]
and edi, ebx
or edi, 0x40000000
mov dword [eax + 0x38], edi
mov eax, dword [esi + 8]
inc edx
add ebp, 0x10
add ecx, 4
cmp edx, eax
mov dword [esp + 0x18], edx
jl 0x42fe25
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0xc]
inc ecx
pop edi
mov dword [esi + 4], ecx
pop esi
pop ebp
pop ebx
test eax, eax
jl 0x4302b7
test byte [esp], 0x20
je 0x4302b7
mov eax, 1
pop ecx
ret
xor eax, eax
pop ecx
ret