405eab:	e8 46 ff ff ff       	call   0x405df6
405eb0:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405eb4:	74 0a                	je     0x405ec0
405eb6:	6a 20                	push   $0x20
405eb8:	56                   	push   %esi
405eb9:	e8 15 0a 00 00       	call   0x4068d3
405ebe:	59                   	pop    %ecx
405ebf:	59                   	pop    %ecx
405ec0:	8b c6                	mov    %esi,%eax
405ec2:	5e                   	pop    %esi
405ec3:	5d                   	pop    %ebp
405ec4:	c2 04 00             	ret    $0x4
405ec7:	55                   	push   %ebp
405ec8:	8b ec                	mov    %esp,%ebp
405eca:	51                   	push   %ecx
405ecb:	6a 08                	push   $0x8
405ecd:	e8 c9 09 00 00       	call   0x40689b
405ed2:	89 45 fc             	mov    %eax,-0x4(%ebp)
405ed5:	59                   	pop    %ecx
405ed6:	85 c0                	test   %eax,%eax
405ed8:	74 10                	je     0x405eea
405eda:	8b 0d 24 94 83 02    	mov    0x2839424,%ecx
405ee0:	89 08                	mov    %ecx,(%eax)
405ee2:	8b 4d 08             	mov    0x8(%ebp),%ecx
405ee5:	89 48 04             	mov    %ecx,0x4(%eax)
405ee8:	eb 02                	jmp    0x405eec
405eea:	33 c0                	xor    %eax,%eax
405eec:	a3 24 94 83 02       	mov    %eax,0x2839424
405ef1:	8b e5                	mov    %ebp,%esp
405ef3:	5d                   	pop    %ebp
405ef4:	c3                   	ret
405ef5:	a1 20 94 83 02       	mov    0x2839420,%eax
405efa:	c3                   	ret
405efb:	6a 08                	push   $0x8
405efd:	b8 b0 6b 42 00       	mov    $0x426bb0,%eax
405f02:	e8 85 11 00 00       	call   0x40708c
405f07:	33 f6                	xor    %esi,%esi
405f09:	8d 4d f0             	lea    -0x10(%ebp),%ecx
405f0c:	56                   	push   %esi
405f0d:	e8 01 f8 ff ff       	call   0x405713
405f12:	8b 3d 20 94 83 02    	mov    0x2839420,%edi
405f18:	89 75 fc             	mov    %esi,-0x4(%ebp)
405f1b:	85 ff                	test   %edi,%edi
405f1d:	75 44                	jne    0x405f63
405f1f:	56                   	push   %esi
405f20:	e8 46 01 00 00       	call   0x40606b
405f25:	8b f8                	mov    %eax,%edi
405f27:	57                   	push   %edi
405f28:	e8 63 01 00 00       	call   0x406090
405f2d:	59                   	pop    %ecx
405f2e:	59                   	pop    %ecx
405f2f:	68 30 76 42 00       	push   $0x427630
405f34:	8d 4f 18             	lea    0x18(%edi),%ecx
405f37:	c7 47 10 3f 00 00 00 	movl   $0x3f,0x10(%edi)
405f3e:	e8 0e ff ff ff       	call   0x405e51
405f43:	89 3d 1c 94 83 02    	mov    %edi,0x283941c
405f49:	8b 07                	mov    (%edi),%eax
405f4b:	8b 70 04             	mov    0x4(%eax),%esi
405f4e:	8b ce                	mov    %esi,%ecx
405f50:	e8 1c 11 00 00       	call   0x407071
405f55:	8b cf                	mov    %edi,%ecx
405f57:	ff d6                	call   *%esi
405f59:	a1 1c 94 83 02       	mov    0x283941c,%eax
405f5e:	a3 40 94 83 02       	mov    %eax,0x2839440
405f63:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
405f67:	74 10                	je     0x405f79
405f69:	8b 07                	mov    (%edi),%eax
405f6b:	8b 70 04             	mov    0x4(%eax),%esi
405f6e:	8b ce                	mov    %esi,%ecx
405f70:	e8 fc 10 00 00       	call   0x407071
405f75:	8b cf                	mov    %edi,%ecx
405f77:	ff d6                	call   *%esi
405f79:	8d 4d f0             	lea    -0x10(%ebp),%ecx
405f7c:	e8 ea f7 ff ff       	call   0x40576b
405f81:	8b c7                	mov    %edi,%eax
405f83:	e8 ef 10 00 00       	call   0x407077
405f88:	c3                   	ret
405f89:	6a 08                	push   $0x8
405f8b:	b8 d3 6b 42 00       	mov    $0x426bd3,%eax
405f90:	e8 f7 10 00 00       	call   0x40708c
405f95:	6a 00                	push   $0x0
405f97:	8d 4d ec             	lea    -0x14(%ebp),%ecx
405f9a:	e8 74 f7 ff ff       	call   0x405713
405f9f:	8b 5d 08             	mov    0x8(%ebp),%ebx
405fa2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405fa6:	8b 7b 0c             	mov    0xc(%ebx),%edi
405fa9:	eb 38                	jmp    0x405fe3
405fab:	8b 43 08             	mov    0x8(%ebx),%eax
405fae:	4f                   	dec    %edi
405faf:	8b 04 b8             	mov    (%eax,%edi,4),%eax
405fb2:	89 45 f0             	mov    %eax,-0x10(%ebp)
405fb5:	85 c0                	test   %eax,%eax
405fb7:	74 2a                	je     0x405fe3
405fb9:	8b 00                	mov    (%eax),%eax
405fbb:	8b 70 08             	mov    0x8(%eax),%esi
405fbe:	8b ce                	mov    %esi,%ecx
405fc0:	e8 ac 10 00 00       	call   0x407071
405fc5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405fc8:	ff d6                	call   *%esi
405fca:	89 45 f0             	mov    %eax,-0x10(%ebp)
405fcd:	85 c0                	test   %eax,%eax
405fcf:	74 12                	je     0x405fe3
405fd1:	8b 08                	mov    (%eax),%ecx
405fd3:	6a 01                	push   $0x1
405fd5:	8b 31                	mov    (%ecx),%esi
405fd7:	8b ce                	mov    %esi,%ecx
405fd9:	e8 93 10 00 00       	call   0x407071
405fde:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405fe1:	ff d6                	call   *%esi
405fe3:	85 ff                	test   %edi,%edi
405fe5:	75 c4                	jne    0x405fab
405fe7:	ff 73 08             	push   0x8(%ebx)
405fea:	e8 5e 5d 00 00       	call   0x40bd4d
405fef:	59                   	pop    %ecx
405ff0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
405ff3:	e8 73 f7 ff ff       	call   0x40576b
405ff8:	e8 7a 10 00 00       	call   0x407077
405ffd:	c3                   	ret
405ffe:	55                   	push   %ebp
405fff:	8b ec                	mov    %esp,%ebp
406001:	6a 00                	push   $0x0
406003:	6a 00                	push   $0x0
406005:	e8 8d eb 00 00       	call   0x414b97
40600a:	59                   	pop    %ecx
40600b:	59                   	pop    %ecx
40600c:	85 c0                	test   %eax,%eax
40600e:	75 05                	jne    0x406015
406010:	b8 34 73 42 00       	mov    $0x427334,%eax
406015:	56                   	push   %esi
406016:	8b 75 08             	mov    0x8(%ebp),%esi
406019:	50                   	push   %eax
40601a:	8d 4e 24             	lea    0x24(%esi),%ecx
40601d:	e8 2f fe ff ff       	call   0x405e51
406022:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
406026:	74 10                	je     0x406038
406028:	ff 75 0c             	push   0xc(%ebp)
40602b:	6a 00                	push   $0x0
40602d:	e8 65 eb 00 00       	call   0x414b97
406032:	59                   	pop    %ecx
406033:	59                   	pop    %ecx
406034:	85 c0                	test   %eax,%eax
406036:	75 05                	jne    0x40603d
406038:	b8 2c 76 42 00       	mov    $0x42762c,%eax
40603d:	50                   	push   %eax
40603e:	8d 4e 2c             	lea    0x2c(%esi),%ecx
406041:	e8 0b fe ff ff       	call   0x405e51
406046:	5e                   	pop    %esi
406047:	5d                   	pop    %ebp
406048:	c3                   	ret
406049:	55                   	push   %ebp
40604a:	8b ec                	mov    %esp,%ebp
40604c:	8b 45 08             	mov    0x8(%ebp),%eax
40604f:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
406053:	74 14                	je     0x406069
406055:	8b 48 24             	mov    0x24(%eax),%ecx
406058:	85 c9                	test   %ecx,%ecx
40605a:	75 03                	jne    0x40605f
40605c:	8d 48 28             	lea    0x28(%eax),%ecx
40605f:	51                   	push   %ecx
406060:	6a 00                	push   $0x0
406062:	e8 30 eb 00 00       	call   0x414b97
406067:	59                   	pop    %ecx
406068:	59                   	pop    %ecx
406069:	5d                   	pop    %ebp
40606a:	c3                   	ret
40606b:	55                   	push   %ebp
40606c:	8b ec                	mov    %esp,%ebp
40606e:	51                   	push   %ecx
40606f:	6a 20                	push   $0x20
406071:	e8 25 08 00 00       	call   0x40689b
406076:	89 45 fc             	mov    %eax,-0x4(%ebp)
406079:	59                   	pop    %ecx
40607a:	85 c0                	test   %eax,%eax
40607c:	74 0c                	je     0x40608a
40607e:	ff 75 08             	push   0x8(%ebp)
406081:	8b c8                	mov    %eax,%ecx
406083:	e8 a5 fc ff ff       	call   0x405d2d
406088:	eb 02                	jmp    0x40608c
40608a:	33 c0                	xor    %eax,%eax
40608c:	8b e5                	mov    %ebp,%esp
40608e:	5d                   	pop    %ebp
40608f:	c3                   	ret
406090:	55                   	push   %ebp
406091:	8b ec                	mov    %esp,%ebp
406093:	80 3d 45 94 83 02 00 	cmpb   $0x0,0x2839445
40609a:	75 12                	jne    0x4060ae
40609c:	68 f1 60 40 00       	push   $0x4060f1
4060a1:	c6 05 45 94 83 02 01 	movb   $0x1,0x2839445
4060a8:	e8 9d 02 00 00       	call   0x40634a
4060ad:	59                   	pop    %ecx
4060ae:	8b 45 08             	mov    0x8(%ebp),%eax
4060b1:	a3 20 94 83 02       	mov    %eax,0x2839420
4060b6:	5d                   	pop    %ebp
4060b7:	c3                   	ret
4060b8:	55                   	push   %ebp
4060b9:	8b ec                	mov    %esp,%ebp
4060bb:	8b 45 08             	mov    0x8(%ebp),%eax
4060be:	57                   	push   %edi
4060bf:	8b 38                	mov    (%eax),%edi
4060c1:	85 ff                	test   %edi,%edi
4060c3:	74 29                	je     0x4060ee
4060c5:	8b 07                	mov    (%edi),%eax
4060c7:	56                   	push   %esi
4060c8:	8b 70 08             	mov    0x8(%eax),%esi
4060cb:	8b ce                	mov    %esi,%ecx
4060cd:	e8 9f 0f 00 00       	call   0x407071
4060d2:	8b cf                	mov    %edi,%ecx
4060d4:	ff d6                	call   *%esi
4060d6:	8b f8                	mov    %eax,%edi
4060d8:	85 ff                	test   %edi,%edi
4060da:	74 11                	je     0x4060ed
4060dc:	8b 0f                	mov    (%edi),%ecx
4060de:	6a 01                	push   $0x1
4060e0:	8b 31                	mov    (%ecx),%esi
4060e2:	8b ce                	mov    %esi,%ecx
4060e4:	e8 88 0f 00 00       	call   0x407071
4060e9:	8b cf                	mov    %edi,%ecx
4060eb:	ff d6                	call   *%esi
4060ed:	5e                   	pop    %esi
4060ee:	5f                   	pop    %edi
4060ef:	5d                   	pop    %ebp
4060f0:	c3                   	ret
4060f1:	55                   	push   %ebp
4060f2:	8b ec                	mov    %esp,%ebp
4060f4:	51                   	push   %ecx
4060f5:	6a 00                	push   $0x0
4060f7:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4060fa:	e8 14 f6 ff ff       	call   0x405713
4060ff:	68 20 94 83 02       	push   $0x2839420
406104:	e8 af ff ff ff       	call   0x4060b8
406109:	83 25 20 94 83 02 00 	andl   $0x0,0x2839420
406110:	59                   	pop    %ecx
406111:	8d 4d fc             	lea    -0x4(%ebp),%ecx
406114:	e8 52 f6 ff ff       	call   0x40576b
406119:	8b e5                	mov    %ebp,%esp
40611b:	5d                   	pop    %ebp
40611c:	c3                   	ret
40611d:	55                   	push   %ebp
40611e:	8b ec                	mov    %esp,%ebp
406120:	8b 4d 08             	mov    0x8(%ebp),%ecx
406123:	b8 b8 7c 42 00       	mov    $0x427cb8,%eax
406128:	39 08                	cmp    %ecx,(%eax)
40612a:	74 11                	je     0x40613d
40612c:	83 c0 08             	add    $0x8,%eax
40612f:	3d 28 7f 42 00       	cmp    $0x427f28,%eax
406134:	75 f2                	jne    0x406128
406136:	b8 1c 81 42 00       	mov    $0x42811c,%eax
40613b:	5d                   	pop    %ebp
40613c:	c3                   	ret
40613d:	8b 40 04             	mov    0x4(%eax),%eax
406140:	5d                   	pop    %ebp
406141:	c3                   	ret
406142:	55                   	push   %ebp
406143:	8b ec                	mov    %esp,%ebp
406145:	51                   	push   %ecx
406146:	6a 02                	push   $0x2
406148:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40614b:	e8 c3 f5 ff ff       	call   0x405713
406150:	8b 4d 08             	mov    0x8(%ebp),%ecx
406153:	c7 41 08 01 00 00 00 	movl   $0x1,0x8(%ecx)
40615a:	8b 51 08             	mov    0x8(%ecx),%edx
40615d:	8b 04 95 4c 94 83 02 	mov    0x283944c(,%edx,4),%eax
406164:	85 c0                	test   %eax,%eax
406166:	74 0f                	je     0x406177
406168:	3b c1                	cmp    %ecx,%eax
40616a:	74 0b                	je     0x406177
40616c:	8d 42 01             	lea    0x1(%edx),%eax
40616f:	89 41 08             	mov    %eax,0x8(%ecx)
406172:	83 f8 08             	cmp    $0x8,%eax
406175:	72 e3                	jb     0x40615a
406177:	8b 41 08             	mov    0x8(%ecx),%eax
40617a:	fe 80 74 94 83 02    	incb   0x2839474(%eax)
406180:	89 0c 85 4c 94 83 02 	mov    %ecx,0x283944c(,%eax,4)
406187:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40618a:	e8 dc f5 ff ff       	call   0x40576b
40618f:	8b e5                	mov    %ebp,%esp
406191:	5d                   	pop    %ebp
406192:	c3                   	ret
406193:	55                   	push   %ebp
406194:	8b ec                	mov    %esp,%ebp
406196:	53                   	push   %ebx
406197:	8b d9                	mov    %ecx,%ebx
406199:	57                   	push   %edi
40619a:	8b 7b 2c             	mov    0x2c(%ebx),%edi
40619d:	85 ff                	test   %edi,%edi
40619f:	74 1e                	je     0x4061bf
4061a1:	56                   	push   %esi
4061a2:	ff 77 04             	push   0x4(%edi)
4061a5:	8b 77 08             	mov    0x8(%edi),%esi
4061a8:	8b ce                	mov    %esi,%ecx
4061aa:	53                   	push   %ebx
4061ab:	ff 75 08             	push   0x8(%ebp)
4061ae:	e8 be 0e 00 00       	call   0x407071
4061b3:	ff d6                	call   *%esi
4061b5:	8b 3f                	mov    (%edi),%edi
4061b7:	83 c4 0c             	add    $0xc,%esp
4061ba:	85 ff                	test   %edi,%edi
4061bc:	75 e4                	jne    0x4061a2
4061be:	5e                   	pop    %esi
4061bf:	5f                   	pop    %edi
4061c0:	5b                   	pop    %ebx
4061c1:	5d                   	pop    %ebp
4061c2:	c2 04 00             	ret    $0x4
4061c5:	55                   	push   %ebp
4061c6:	8b ec                	mov    %esp,%ebp
4061c8:	56                   	push   %esi
4061c9:	8b 75 08             	mov    0x8(%ebp),%esi
4061cc:	8b 46 08             	mov    0x8(%esi),%eax
4061cf:	85 c0                	test   %eax,%eax
4061d1:	74 10                	je     0x4061e3
4061d3:	fe 88 74 94 83 02    	decb   0x2839474(%eax)
4061d9:	8a 80 74 94 83 02    	mov    0x2839474(%eax),%al
4061df:	84 c0                	test   %al,%al
4061e1:	7f 1f                	jg     0x406202
4061e3:	8b ce                	mov    %esi,%ecx
4061e5:	e8 1b 00 00 00       	call   0x406205
4061ea:	8b 76 30             	mov    0x30(%esi),%esi
4061ed:	85 f6                	test   %esi,%esi
4061ef:	74 11                	je     0x406202
4061f1:	8b ce                	mov    %esi,%ecx
4061f3:	e8 fa ce ff ff       	call   0x4030f2
4061f8:	6a 08                	push   $0x8
4061fa:	56                   	push   %esi
4061fb:	e8 d3 06 00 00       	call   0x4068d3
406200:	59                   	pop    %ecx
406201:	59                   	pop    %ecx
406202:	5e                   	pop    %esi
406203:	5d                   	pop    %ebp
406204:	c3                   	ret
406205:	56                   	push   %esi
406206:	57                   	push   %edi
406207:	6a 00                	push   $0x0
406209:	8b f9                	mov    %ecx,%edi
40620b:	e8 83 ff ff ff       	call   0x406193
406210:	8b 47 28             	mov    0x28(%edi),%eax
406213:	85 c0                	test   %eax,%eax
406215:	74 12                	je     0x406229
406217:	8b 30                	mov    (%eax),%esi
406219:	6a 10                	push   $0x10
40621b:	50                   	push   %eax
40621c:	e8 b2 06 00 00       	call   0x4068d3
406221:	8b c6                	mov    %esi,%eax
406223:	59                   	pop    %ecx
406224:	59                   	pop    %ecx
406225:	85 f6                	test   %esi,%esi
406227:	75 ee                	jne    0x406217
406229:	83 67 28 00          	andl   $0x0,0x28(%edi)
40622d:	8b 47 2c             	mov    0x2c(%edi),%eax
406230:	85 c0                	test   %eax,%eax
406232:	74 12                	je     0x406246