440f74:	53                   	push   %ebx
440f75:	33 db                	xor    %ebx,%ebx
440f77:	56                   	push   %esi
440f78:	57                   	push   %edi
440f79:	8b 7d 10             	mov    0x10(%ebp),%edi
440f7c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
440f7f:	89 5d f4             	mov    %ebx,-0xc(%ebp)
440f82:	89 5d f8             	mov    %ebx,-0x8(%ebp)
440f85:	89 5d f0             	mov    %ebx,-0x10(%ebp)
440f88:	85 ff                	test   %edi,%edi
440f8a:	74 21                	je     0x440fad
440f8c:	39 1f                	cmp    %ebx,(%edi)
440f8e:	74 1d                	je     0x440fad
440f90:	8d 45 fc             	lea    -0x4(%ebp),%eax
440f93:	50                   	push   %eax
440f94:	ff 37                	push   (%edi)
440f96:	e8 c2 17 fc ff       	call   0x40275d
440f9b:	8b f0                	mov    %eax,%esi
440f9d:	85 f6                	test   %esi,%esi
440f9f:	0f 88 08 01 00 00    	js     0x4410ad
440fa5:	8b 45 fc             	mov    -0x4(%ebp),%eax
440fa8:	83 f8 02             	cmp    $0x2,%eax
440fab:	73 1c                	jae    0x440fc9
440fad:	6a 02                	push   $0x2
440faf:	57                   	push   %edi
440fb0:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
440fb7:	e8 22 0f fc ff       	call   0x401ede
440fbc:	8b f0                	mov    %eax,%esi
440fbe:	85 f6                	test   %esi,%esi
440fc0:	0f 88 e7 00 00 00    	js     0x4410ad
440fc6:	8b 45 fc             	mov    -0x4(%ebp),%eax
440fc9:	8d 04 45 fe ff ff ff 	lea    -0x2(,%eax,2),%eax
440fd0:	89 45 f4             	mov    %eax,-0xc(%ebp)
440fd3:	8d 45 f4             	lea    -0xc(%ebp),%eax
440fd6:	50                   	push   %eax
440fd7:	ff 37                	push   (%edi)
440fd9:	8d 45 f8             	lea    -0x8(%ebp),%eax
440fdc:	50                   	push   %eax
440fdd:	53                   	push   %ebx
440fde:	ff 75 0c             	push   0xc(%ebp)
440fe1:	ff 75 08             	push   0x8(%ebp)
440fe4:	ff 15 60 b6 46 00    	call   *0x46b660
440fea:	8b c8                	mov    %eax,%ecx
440fec:	81 f9 ea 00 00 00    	cmp    $0xea,%ecx
440ff2:	75 33                	jne    0x441027
440ff4:	8b 45 f4             	mov    -0xc(%ebp),%eax
440ff7:	d1 e8                	shr    $1,%eax
440ff9:	40                   	inc    %eax
440ffa:	50                   	push   %eax
440ffb:	57                   	push   %edi
440ffc:	89 45 fc             	mov    %eax,-0x4(%ebp)
440fff:	e8 da 0e fc ff       	call   0x401ede
441004:	8b f0                	mov    %eax,%esi
441006:	85 f6                	test   %esi,%esi
441008:	0f 88 9f 00 00 00    	js     0x4410ad
44100e:	8d 45 f4             	lea    -0xc(%ebp),%eax
441011:	50                   	push   %eax
441012:	ff 37                	push   (%edi)
441014:	8d 45 f8             	lea    -0x8(%ebp),%eax
441017:	50                   	push   %eax
441018:	53                   	push   %ebx
441019:	ff 75 0c             	push   0xc(%ebp)
44101c:	ff 75 08             	push   0x8(%ebp)
44101f:	ff 15 60 b6 46 00    	call   *0x46b660
441025:	8b c8                	mov    %eax,%ecx
441027:	0f b7 c1             	movzwl %cx,%eax
44102a:	ba 02 00 07 80       	mov    $0x80070002,%edx
44102f:	0d 00 00 07 80       	or     $0x80070000,%eax
441034:	85 c9                	test   %ecx,%ecx
441036:	0f 4e c1             	cmovle %ecx,%eax
441039:	3b c2                	cmp    %edx,%eax
44103b:	75 04                	jne    0x441041
44103d:	8b f2                	mov    %edx,%esi
44103f:	eb 6c                	jmp    0x4410ad
441041:	85 c9                	test   %ecx,%ecx
441043:	74 1e                	je     0x441063
441045:	8b f0                	mov    %eax,%esi
441047:	b8 05 40 00 80       	mov    $0x80004005,%eax
44104c:	85 f6                	test   %esi,%esi
44104e:	0f 49 f0             	cmovns %eax,%esi
441051:	56                   	push   %esi
441052:	68 dc 01 00 00       	push   $0x1dc
441057:	68 34 64 46 00       	push   $0x466434
44105c:	e8 72 27 fc ff       	call   0x4037d3
441061:	eb 4a                	jmp    0x4410ad
441063:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
441067:	74 13                	je     0x44107c
441069:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
44106d:	74 0d                	je     0x44107c
44106f:	be 0c 07 07 80       	mov    $0x8007070c,%esi
441074:	56                   	push   %esi
441075:	68 ef 01 00 00       	push   $0x1ef
44107a:	eb db                	jmp    0x441057
44107c:	8b 0f                	mov    (%edi),%ecx
44107e:	33 d2                	xor    %edx,%edx
441080:	8b 45 fc             	mov    -0x4(%ebp),%eax
441083:	66 89 54 41 fe       	mov    %dx,-0x2(%ecx,%eax,2)
441088:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
44108c:	75 1f                	jne    0x4410ad
44108e:	53                   	push   %ebx
44108f:	ff 37                	push   (%edi)
441091:	8d 45 f0             	lea    -0x10(%ebp),%eax
441094:	50                   	push   %eax
441095:	e8 0b 11 fc ff       	call   0x4021a5
44109a:	8b f0                	mov    %eax,%esi
44109c:	85 f6                	test   %esi,%esi
44109e:	78 0d                	js     0x4410ad
4410a0:	6a 01                	push   $0x1
4410a2:	ff 75 f0             	push   -0x10(%ebp)
4410a5:	57                   	push   %edi
4410a6:	e8 d8 1f fc ff       	call   0x403083
4410ab:	8b f0                	mov    %eax,%esi
4410ad:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
4410b0:	74 08                	je     0x4410ba
4410b2:	ff 75 f0             	push   -0x10(%ebp)
4410b5:	e8 35 44 00 00       	call   0x4454ef
4410ba:	5f                   	pop    %edi
4410bb:	8b c6                	mov    %esi,%eax
4410bd:	5e                   	pop    %esi
4410be:	5b                   	pop    %ebx
4410bf:	8b e5                	mov    %ebp,%esp
4410c1:	5d                   	pop    %ebp
4410c2:	c2 0c 00             	ret    $0xc
4410c5:	55                   	push   %ebp
4410c6:	8b ec                	mov    %esp,%ebp
4410c8:	83 ec 0c             	sub    $0xc,%esp
4410cb:	53                   	push   %ebx
4410cc:	56                   	push   %esi
4410cd:	57                   	push   %edi
4410ce:	33 c9                	xor    %ecx,%ecx
4410d0:	8d 45 f8             	lea    -0x8(%ebp),%eax
4410d3:	50                   	push   %eax
4410d4:	51                   	push   %ecx
4410d5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4410d8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4410db:	50                   	push   %eax
4410dc:	51                   	push   %ecx
4410dd:	ff 75 0c             	push   0xc(%ebp)
4410e0:	8b d9                	mov    %ecx,%ebx
4410e2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4410e5:	ff 75 08             	push   0x8(%ebp)
4410e8:	8b f9                	mov    %ecx,%edi
4410ea:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4410ed:	ff 15 60 b6 46 00    	call   *0x46b660
4410f3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4410f6:	8b c8                	mov    %eax,%ecx
4410f8:	85 d2                	test   %edx,%edx
4410fa:	74 35                	je     0x441131
4410fc:	8b fa                	mov    %edx,%edi
4410fe:	8d 45 fc             	lea    -0x4(%ebp),%eax
441101:	d1 ef                	shr    $1,%edi
441103:	57                   	push   %edi
441104:	50                   	push   %eax
441105:	e8 d4 0d fc ff       	call   0x401ede
44110a:	8b f0                	mov    %eax,%esi
44110c:	85 f6                	test   %esi,%esi
44110e:	0f 88 21 01 00 00    	js     0x441235
441114:	8d 45 f8             	lea    -0x8(%ebp),%eax
441117:	50                   	push   %eax
441118:	ff 75 fc             	push   -0x4(%ebp)
44111b:	8d 45 f4             	lea    -0xc(%ebp),%eax
44111e:	50                   	push   %eax
44111f:	53                   	push   %ebx
441120:	ff 75 0c             	push   0xc(%ebp)
441123:	ff 75 08             	push   0x8(%ebp)
441126:	ff 15 60 b6 46 00    	call   *0x46b660
44112c:	8b 55 f8             	mov    -0x8(%ebp),%edx
44112f:	8b c8                	mov    %eax,%ecx
441131:	0f b7 c1             	movzwl %cx,%eax
441134:	be 02 00 07 80       	mov    $0x80070002,%esi
441139:	0d 00 00 07 80       	or     $0x80070000,%eax
44113e:	85 c9                	test   %ecx,%ecx
441140:	0f 4e c1             	cmovle %ecx,%eax
441143:	3b c6                	cmp    %esi,%eax
441145:	0f 84 ea 00 00 00    	je     0x441235
44114b:	85 c9                	test   %ecx,%ecx
44114d:	74 21                	je     0x441170
44114f:	8b f0                	mov    %eax,%esi
441151:	b8 05 40 00 80       	mov    $0x80004005,%eax
441156:	85 f6                	test   %esi,%esi
441158:	0f 49 f0             	cmovns %eax,%esi
44115b:	56                   	push   %esi
44115c:	68 1a 02 00 00       	push   $0x21a
441161:	68 34 64 46 00       	push   $0x466434
441166:	e8 68 26 fc ff       	call   0x4037d3
44116b:	e9 c5 00 00 00       	jmp    0x441235
441170:	d1 ea                	shr    $1,%edx
441172:	3b d7                	cmp    %edi,%edx
441174:	74 0a                	je     0x441180
441176:	be ff ff 00 80       	mov    $0x8000ffff,%esi
44117b:	e9 b5 00 00 00       	jmp    0x441235
441180:	83 7d f4 07          	cmpl   $0x7,-0xc(%ebp)
441184:	74 0d                	je     0x441193
441186:	be 0c 07 07 80       	mov    $0x8007070c,%esi
44118b:	56                   	push   %esi
44118c:	68 25 02 00 00       	push   $0x225
441191:	eb ce                	jmp    0x441161
441193:	83 ff 02             	cmp    $0x2,%edi
441196:	73 11                	jae    0x4411a9
441198:	8b 45 10             	mov    0x10(%ebp),%eax
44119b:	21 18                	and    %ebx,(%eax)
44119d:	8b 45 14             	mov    0x14(%ebp),%eax
4411a0:	21 18                	and    %ebx,(%eax)
4411a2:	33 f6                	xor    %esi,%esi
4411a4:	e9 8c 00 00 00       	jmp    0x441235
4411a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4411ac:	33 c9                	xor    %ecx,%ecx
4411ae:	66 3b 4c 78 fe       	cmp    -0x2(%eax,%edi,2),%cx
4411b3:	75 7b                	jne    0x441230
4411b5:	66 3b 4c 78 fc       	cmp    -0x4(%eax,%edi,2),%cx
4411ba:	75 74                	jne    0x441230
4411bc:	33 f6                	xor    %esi,%esi
4411be:	85 d2                	test   %edx,%edx
4411c0:	74 19                	je     0x4411db
4411c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4411c5:	33 ff                	xor    %edi,%edi
4411c7:	0f b7 0c 70          	movzwl (%eax,%esi,2),%ecx
4411cb:	46                   	inc    %esi
4411cc:	66 3b f9             	cmp    %cx,%di
4411cf:	8d 43 01             	lea    0x1(%ebx),%eax
4411d2:	0f 45 c3             	cmovne %ebx,%eax
4411d5:	8b d8                	mov    %eax,%ebx
4411d7:	3b f2                	cmp    %edx,%esi
4411d9:	72 e7                	jb     0x4411c2
4411db:	8b 4d 14             	mov    0x14(%ebp),%ecx
4411de:	8d 43 ff             	lea    -0x1(%ebx),%eax
4411e1:	6a 00                	push   $0x0
4411e3:	6a 04                	push   $0x4
4411e5:	50                   	push   %eax
4411e6:	ff 75 10             	push   0x10(%ebp)
4411e9:	89 01                	mov    %eax,(%ecx)
4411eb:	e8 06 27 fc ff       	call   0x4038f6
4411f0:	8b f0                	mov    %eax,%esi
4411f2:	85 f6                	test   %esi,%esi
4411f4:	78 3f                	js     0x441235
4411f6:	8b 45 14             	mov    0x14(%ebp),%eax
4411f9:	33 db                	xor    %ebx,%ebx
4411fb:	8b 7d fc             	mov    -0x4(%ebp),%edi
4411fe:	39 18                	cmp    %ebx,(%eax)
441200:	76 33                	jbe    0x441235
441202:	8b 45 10             	mov    0x10(%ebp),%eax
441205:	6a 00                	push   $0x0
441207:	57                   	push   %edi
441208:	8b 00                	mov    (%eax),%eax
44120a:	8d 04 98             	lea    (%eax,%ebx,4),%eax
44120d:	50                   	push   %eax
44120e:	e8 92 0f fc ff       	call   0x4021a5
441213:	8b f0                	mov    %eax,%esi
441215:	85 f6                	test   %esi,%esi
441217:	78 1c                	js     0x441235
441219:	57                   	push   %edi
44121a:	ff 15 f8 b0 44 00    	call   *0x44b0f8
441220:	8d 3c 47             	lea    (%edi,%eax,2),%edi
441223:	8b 45 14             	mov    0x14(%ebp),%eax
441226:	83 c7 02             	add    $0x2,%edi
441229:	43                   	inc    %ebx
44122a:	3b 18                	cmp    (%eax),%ebx
44122c:	72 d4                	jb     0x441202
44122e:	eb 05                	jmp    0x441235
441230:	be 57 00 07 80       	mov    $0x80070057,%esi
441235:	8b 45 fc             	mov    -0x4(%ebp),%eax
441238:	85 c0                	test   %eax,%eax
44123a:	74 06                	je     0x441242
44123c:	50                   	push   %eax
44123d:	e8 ad 42 00 00       	call   0x4454ef
441242:	5f                   	pop    %edi
441243:	8b c6                	mov    %esi,%eax
441245:	5e                   	pop    %esi
441246:	5b                   	pop    %ebx
441247:	8b e5                	mov    %ebp,%esp
441249:	5d                   	pop    %ebp
44124a:	c2 10 00             	ret    $0x10
44124d:	55                   	push   %ebp
44124e:	8b ec                	mov    %esp,%ebp
441250:	83 ec 0c             	sub    $0xc,%esp
441253:	53                   	push   %ebx
441254:	56                   	push   %esi
441255:	57                   	push   %edi
441256:	8b 7d 10             	mov    0x10(%ebp),%edi
441259:	8d 45 f4             	lea    -0xc(%ebp),%eax
44125c:	50                   	push   %eax
44125d:	33 db                	xor    %ebx,%ebx
44125f:	c7 45 f4 08 00 00 00 	movl   $0x8,-0xc(%ebp)
441266:	8d 45 fc             	lea    -0x4(%ebp),%eax
441269:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44126c:	ff 37                	push   (%edi)
44126e:	8b f3                	mov    %ebx,%esi
441270:	89 5d f8             	mov    %ebx,-0x8(%ebp)
441273:	50                   	push   %eax
441274:	53                   	push   %ebx
441275:	ff 75 0c             	push   0xc(%ebp)
441278:	ff 75 08             	push   0x8(%ebp)
44127b:	ff 15 60 b6 46 00    	call   *0x46b660
441281:	8b c8                	mov    %eax,%ecx
441283:	ba 02 00 07 80       	mov    $0x80070002,%edx
441288:	0f b7 c1             	movzwl %cx,%eax
44128b:	0d 00 00 07 80       	or     $0x80070000,%eax
441290:	85 c9                	test   %ecx,%ecx
441292:	0f 4e c1             	cmovle %ecx,%eax
441295:	3b c2                	cmp    %edx,%eax
441297:	75 04                	jne    0x44129d
441299:	8b f2                	mov    %edx,%esi
44129b:	eb 62                	jmp    0x4412ff
44129d:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
4412a1:	74 3b                	je     0x4412de
4412a3:	83 7d fc 02          	cmpl   $0x2,-0x4(%ebp)
4412a7:	74 35                	je     0x4412de
4412a9:	83 7d fc 0b          	cmpl   $0xb,-0x4(%ebp)
4412ad:	75 22                	jne    0x4412d1
4412af:	85 c9                	test   %ecx,%ecx
4412b1:	74 4c                	je     0x4412ff
4412b3:	8b f0                	mov    %eax,%esi
4412b5:	b8 05 40 00 80       	mov    $0x80004005,%eax
4412ba:	85 f6                	test   %esi,%esi
4412bc:	0f 49 f0             	cmovns %eax,%esi
4412bf:	56                   	push   %esi
4412c0:	68 79 02 00 00       	push   $0x279
4412c5:	68 34 64 46 00       	push   $0x466434
4412ca:	e8 04 25 fc ff       	call   0x4037d3
4412cf:	eb 2e                	jmp    0x4412ff
4412d1:	be 0c 07 07 80       	mov    $0x8007070c,%esi
4412d6:	56                   	push   %esi
4412d7:	68 7e 02 00 00       	push   $0x27e
4412dc:	eb e7                	jmp    0x4412c5
4412de:	8d 45 f8             	lea    -0x8(%ebp),%eax
4412e1:	50                   	push   %eax
4412e2:	ff 75 0c             	push   0xc(%ebp)
4412e5:	ff 75 08             	push   0x8(%ebp)
4412e8:	e8 81 fc ff ff       	call   0x440f6e
4412ed:	8b f0                	mov    %eax,%esi
4412ef:	85 f6                	test   %esi,%esi
4412f1:	78 0c                	js     0x4412ff
4412f3:	57                   	push   %edi
4412f4:	53                   	push   %ebx
4412f5:	ff 75 f8             	push   -0x8(%ebp)
4412f8:	e8 5d 38 00 00       	call   0x444b5a
4412fd:	8b f0                	mov    %eax,%esi
4412ff:	39 5d f8             	cmp    %ebx,-0x8(%ebp)
441302:	74 08                	je     0x44130c
441304:	ff 75 f8             	push   -0x8(%ebp)
441307:	e8 e3 41 00 00       	call   0x4454ef
44130c:	5f                   	pop    %edi
44130d:	8b c6                	mov    %esi,%eax
44130f:	5e                   	pop    %esi
441310:	5b                   	pop    %ebx
441311:	8b e5                	mov    %ebp,%esp
441313:	5d                   	pop    %ebp
441314:	c2 0c 00             	ret    $0xc
441317:	a1 44 b6 46 00       	mov    0x46b644,%eax
44131c:	56                   	push   %esi