476043:	eb 25                	jmp    0x47606a
476045:	8b 45 fc             	mov    -0x4(%ebp),%eax
476048:	e8 6b 00 00 00       	call   0x4760b8
47604d:	84 c0                	test   %al,%al
47604f:	74 19                	je     0x47606a
476051:	c6 45 f7 0e          	movb   $0xe,-0x9(%ebp)
476055:	8b 45 fc             	mov    -0x4(%ebp),%eax
476058:	80 b8 9d 00 00 00 00 	cmpb   $0x0,0x9d(%eax)
47605f:	0f 95 c0             	setne  %al
476062:	83 e0 7f             	and    $0x7f,%eax
476065:	89 45 f8             	mov    %eax,-0x8(%ebp)
476068:	b3 01                	mov    $0x1,%bl
47606a:	84 db                	test   %bl,%bl
47606c:	74 41                	je     0x4760af
47606e:	8b 45 fc             	mov    -0x4(%ebp),%eax
476071:	8b 40 44             	mov    0x44(%eax),%eax
476074:	8b 58 08             	mov    0x8(%eax),%ebx
476077:	4b                   	dec    %ebx
476078:	85 db                	test   %ebx,%ebx
47607a:	7c 1f                	jl     0x47609b
47607c:	43                   	inc    %ebx
47607d:	33 f6                	xor    %esi,%esi
47607f:	8b 45 fc             	mov    -0x4(%ebp),%eax
476082:	8b 40 44             	mov    0x44(%eax),%eax
476085:	8b d6                	mov    %esi,%edx
476087:	e8 64 5d fa ff       	call   0x41bdf0
47608c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47608f:	8a 55 f7             	mov    -0x9(%ebp),%dl
476092:	e8 75 c2 ff ff       	call   0x47230c
476097:	46                   	inc    %esi
476098:	4b                   	dec    %ebx
476099:	75 e4                	jne    0x47607f
47609b:	8b 45 fc             	mov    -0x4(%ebp),%eax
47609e:	8b 40 6c             	mov    0x6c(%eax),%eax
4760a1:	85 c0                	test   %eax,%eax
4760a3:	74 0a                	je     0x4760af
4760a5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4760a8:	8a 55 f7             	mov    -0x9(%ebp),%dl
4760ab:	8b 18                	mov    (%eax),%ebx
4760ad:	ff 13                	call   *(%ebx)
4760af:	5e                   	pop    %esi
4760b0:	5b                   	pop    %ebx
4760b1:	8b e5                	mov    %ebp,%esp
4760b3:	5d                   	pop    %ebp
4760b4:	c3                   	ret
4760b5:	8d 40 00             	lea    0x0(%eax),%eax
4760b8:	83 78 70 00          	cmpl   $0x0,0x70(%eax)
4760bc:	0f 95 c0             	setne  %al
4760bf:	c3                   	ret
4760c0:	83 78 70 00          	cmpl   $0x0,0x70(%eax)
4760c4:	75 13                	jne    0x4760d9
4760c6:	8a 90 9d 00 00 00    	mov    0x9d(%eax),%dl
4760cc:	88 90 9f 00 00 00    	mov    %dl,0x9f(%eax)
4760d2:	c6 80 9e 00 00 00 02 	movb   $0x2,0x9e(%eax)
4760d9:	ff 40 70             	incl   0x70(%eax)
4760dc:	c3                   	ret
4760dd:	8d 40 00             	lea    0x0(%eax),%eax
4760e0:	53                   	push   %ebx
4760e1:	56                   	push   %esi
4760e2:	8b f0                	mov    %eax,%esi
4760e4:	83 7e 70 00          	cmpl   $0x0,0x70(%esi)
4760e8:	74 49                	je     0x476133
4760ea:	ff 4e 70             	decl   0x70(%esi)
4760ed:	83 7e 70 00          	cmpl   $0x0,0x70(%esi)
4760f1:	75 40                	jne    0x476133
4760f3:	8a 86 9f 00 00 00    	mov    0x9f(%esi),%al
4760f9:	3a 86 9d 00 00 00    	cmp    0x9d(%esi),%al
4760ff:	74 0e                	je     0x47610f
476101:	33 c9                	xor    %ecx,%ecx
476103:	b2 06                	mov    $0x6,%dl
476105:	8b c6                	mov    %esi,%eax
476107:	8b 18                	mov    (%eax),%ebx
476109:	ff 93 ac 00 00 00    	call   *0xac(%ebx)
47610f:	80 be 9f 00 00 00 00 	cmpb   $0x0,0x9f(%esi)
476116:	74 1b                	je     0x476133
476118:	80 be 9d 00 00 00 00 	cmpb   $0x0,0x9d(%esi)
47611f:	74 12                	je     0x476133
476121:	33 c9                	xor    %ecx,%ecx
476123:	8a 96 9e 00 00 00    	mov    0x9e(%esi),%dl
476129:	8b c6                	mov    %esi,%eax
47612b:	8b 18                	mov    (%eax),%ebx
47612d:	ff 93 ac 00 00 00    	call   *0xac(%ebx)
476133:	5e                   	pop    %esi
476134:	5b                   	pop    %ebx
476135:	c3                   	ret
476136:	8b c0                	mov    %eax,%eax
476138:	55                   	push   %ebp
476139:	8b ec                	mov    %esp,%ebp
47613b:	6a 00                	push   $0x0
47613d:	53                   	push   %ebx
47613e:	56                   	push   %esi
47613f:	8b f0                	mov    %eax,%esi
476141:	33 c0                	xor    %eax,%eax
476143:	55                   	push   %ebp
476144:	68 96 61 47 00       	push   $0x476196
476149:	64 ff 30             	push   %fs:(%eax)
47614c:	64 89 20             	mov    %esp,%fs:(%eax)
47614f:	8a 86 9d 00 00 00    	mov    0x9d(%esi),%al
476155:	04 fe                	add    $0xfe,%al
476157:	2c 03                	sub    $0x3,%al
476159:	72 17                	jb     0x476172
47615b:	8d 55 fc             	lea    -0x4(%ebp),%edx
47615e:	a1 c8 b1 49 00       	mov    0x49b1c8,%eax
476163:	e8 d0 00 f9 ff       	call   0x406238
476168:	8b 45 fc             	mov    -0x4(%ebp),%eax
47616b:	8b d6                	mov    %esi,%edx
47616d:	e8 0e 39 ff ff       	call   0x469a80
476172:	33 c9                	xor    %ecx,%ecx
476174:	b2 05                	mov    $0x5,%dl
476176:	8b c6                	mov    %esi,%eax
476178:	8b 18                	mov    (%eax),%ebx
47617a:	ff 93 ac 00 00 00    	call   *0xac(%ebx)
476180:	33 c0                	xor    %eax,%eax
476182:	5a                   	pop    %edx
476183:	59                   	pop    %ecx
476184:	59                   	pop    %ecx
476185:	64 89 10             	mov    %edx,%fs:(%eax)
476188:	68 9d 61 47 00       	push   $0x47619d
47618d:	8d 45 fc             	lea    -0x4(%ebp),%eax
476190:	e8 cf df f8 ff       	call   0x404164
476195:	c3                   	ret
476196:	e9 cd d9 f8 ff       	jmp    0x403b68
47619b:	eb f0                	jmp    0x47618d
47619d:	5e                   	pop    %esi
47619e:	5b                   	pop    %ebx
47619f:	59                   	pop    %ecx
4761a0:	5d                   	pop    %ebp
4761a1:	c3                   	ret
4761a2:	8b c0                	mov    %eax,%eax
4761a4:	33 c0                	xor    %eax,%eax
4761a6:	c3                   	ret
4761a7:	90                   	nop
4761a8:	c3                   	ret
4761a9:	8d 40 00             	lea    0x0(%eax),%eax
4761ac:	55                   	push   %ebp
4761ad:	8b ec                	mov    %esp,%ebp
4761af:	83 c4 f0             	add    $0xfffffff0,%esp
4761b2:	53                   	push   %ebx
4761b3:	56                   	push   %esi
4761b4:	57                   	push   %edi
4761b5:	33 c9                	xor    %ecx,%ecx
4761b7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4761ba:	8b da                	mov    %edx,%ebx
4761bc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4761bf:	33 c0                	xor    %eax,%eax
4761c1:	55                   	push   %ebp
4761c2:	68 1e 63 47 00       	push   $0x47631e
4761c7:	64 ff 30             	push   %fs:(%eax)
4761ca:	64 89 20             	mov    %esp,%fs:(%eax)
4761cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4761d0:	8b 40 5c             	mov    0x5c(%eax),%eax
4761d3:	e8 10 f2 f8 ff       	call   0x4053e8
4761d8:	40                   	inc    %eax
4761d9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4761dc:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
4761df:	0f 84 1d 01 00 00    	je     0x476302
4761e5:	85 db                	test   %ebx,%ebx
4761e7:	7e 19                	jle    0x476202
4761e9:	53                   	push   %ebx
4761ea:	8d 45 f0             	lea    -0x10(%ebp),%eax
4761ed:	b9 01 00 00 00       	mov    $0x1,%ecx
4761f2:	8b 15 58 90 46 00    	mov    0x469058,%edx
4761f8:	e8 9f f3 f8 ff       	call   0x40559c
4761fd:	83 c4 04             	add    $0x4,%esp
476200:	eb 0e                	jmp    0x476210
476202:	8d 45 f0             	lea    -0x10(%ebp),%eax
476205:	8b 15 58 90 46 00    	mov    0x469058,%edx
47620b:	e8 ac f4 f8 ff       	call   0x4056bc
476210:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
476213:	7d 4a                	jge    0x47625f
476215:	85 db                	test   %ebx,%ebx
476217:	74 13                	je     0x47622c
476219:	8b cb                	mov    %ebx,%ecx
47621b:	c1 e1 02             	shl    $0x2,%ecx
47621e:	8b 55 f0             	mov    -0x10(%ebp),%edx
476221:	8b 45 fc             	mov    -0x4(%ebp),%eax
476224:	8b 40 5c             	mov    0x5c(%eax),%eax
476227:	e8 48 c7 f8 ff       	call   0x402974
47622c:	8b 45 f8             	mov    -0x8(%ebp),%eax
47622f:	48                   	dec    %eax
476230:	2b c3                	sub    %ebx,%eax
476232:	0f 8c b6 00 00 00    	jl     0x4762ee
476238:	40                   	inc    %eax
476239:	93                   	xchg   %eax,%ebx
47623a:	89 45 f4             	mov    %eax,-0xc(%ebp)
47623d:	8b 45 fc             	mov    -0x4(%ebp),%eax
476240:	8b 40 5c             	mov    0x5c(%eax),%eax
476243:	8b 55 f4             	mov    -0xc(%ebp),%edx
476246:	8d 14 90             	lea    (%eax,%edx,4),%edx
476249:	8b 45 fc             	mov    -0x4(%ebp),%eax
47624c:	8b 08                	mov    (%eax),%ecx
47624e:	ff 91 b0 01 00 00    	call   *0x1b0(%ecx)
476254:	ff 45 f4             	incl   -0xc(%ebp)
476257:	4b                   	dec    %ebx
476258:	75 e3                	jne    0x47623d
47625a:	e9 8f 00 00 00       	jmp    0x4762ee
47625f:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
476263:	74 14                	je     0x476279
476265:	8b 4d f8             	mov    -0x8(%ebp),%ecx
476268:	c1 e1 02             	shl    $0x2,%ecx
47626b:	8b 55 f0             	mov    -0x10(%ebp),%edx
47626e:	8b 45 fc             	mov    -0x4(%ebp),%eax
476271:	8b 40 5c             	mov    0x5c(%eax),%eax
476274:	e8 fb c6 f8 ff       	call   0x402974
476279:	8b 45 f8             	mov    -0x8(%ebp),%eax
47627c:	89 45 f4             	mov    %eax,-0xc(%ebp)
47627f:	33 c0                	xor    %eax,%eax
476281:	55                   	push   %ebp
476282:	68 b8 62 47 00       	push   $0x4762b8
476287:	64 ff 30             	push   %fs:(%eax)
47628a:	64 89 20             	mov    %esp,%fs:(%eax)
47628d:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
476290:	7e 1c                	jle    0x4762ae
476292:	8b 45 fc             	mov    -0x4(%ebp),%eax
476295:	8b 10                	mov    (%eax),%edx
476297:	ff 92 ac 01 00 00    	call   *0x1ac(%edx)
47629d:	8b 55 f0             	mov    -0x10(%ebp),%edx
4762a0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4762a3:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
4762a6:	ff 45 f4             	incl   -0xc(%ebp)
4762a9:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
4762ac:	7f e4                	jg     0x476292
4762ae:	33 c0                	xor    %eax,%eax
4762b0:	5a                   	pop    %edx
4762b1:	59                   	pop    %ecx
4762b2:	59                   	pop    %ecx
4762b3:	64 89 10             	mov    %edx,%fs:(%eax)
4762b6:	eb 36                	jmp    0x4762ee
4762b8:	e9 f7 d5 f8 ff       	jmp    0x4038b4
4762bd:	8b 45 f4             	mov    -0xc(%ebp),%eax
4762c0:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4762c3:	7e 1f                	jle    0x4762e4
4762c5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4762c8:	8b 55 f4             	mov    -0xc(%ebp),%edx
4762cb:	8d 14 90             	lea    (%eax,%edx,4),%edx
4762ce:	8b 45 fc             	mov    -0x4(%ebp),%eax
4762d1:	8b 08                	mov    (%eax),%ecx
4762d3:	ff 91 b0 01 00 00    	call   *0x1b0(%ecx)
4762d9:	ff 4d f4             	decl   -0xc(%ebp)
4762dc:	8b 45 f4             	mov    -0xc(%ebp),%eax
4762df:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4762e2:	7f e1                	jg     0x4762c5
4762e4:	e8 df d8 f8 ff       	call   0x403bc8
4762e9:	e8 2e d9 f8 ff       	call   0x403c1c
4762ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
4762f1:	83 c0 5c             	add    $0x5c,%eax
4762f4:	8b 55 f0             	mov    -0x10(%ebp),%edx
4762f7:	8b 0d 58 90 46 00    	mov    0x469058,%ecx
4762fd:	e8 f6 f3 f8 ff       	call   0x4056f8
476302:	33 c0                	xor    %eax,%eax
476304:	5a                   	pop    %edx
476305:	59                   	pop    %ecx
476306:	59                   	pop    %ecx
476307:	64 89 10             	mov    %edx,%fs:(%eax)
47630a:	68 25 63 47 00       	push   $0x476325
47630f:	8d 45 f0             	lea    -0x10(%ebp),%eax
476312:	8b 15 58 90 46 00    	mov    0x469058,%edx
476318:	e8 9f f3 f8 ff       	call   0x4056bc
47631d:	c3                   	ret
47631e:	e9 45 d8 f8 ff       	jmp    0x403b68
476323:	eb ea                	jmp    0x47630f
476325:	5f                   	pop    %edi
476326:	5e                   	pop    %esi
476327:	5b                   	pop    %ebx
476328:	8b e5                	mov    %ebp,%esp
47632a:	5d                   	pop    %ebp
47632b:	c3                   	ret
47632c:	55                   	push   %ebp
47632d:	8b ec                	mov    %esp,%ebp
47632f:	85 c0                	test   %eax,%eax
476331:	74 1d                	je     0x476350
476333:	8b 55 08             	mov    0x8(%ebp),%edx
476336:	8b 52 fc             	mov    -0x4(%edx),%edx
476339:	8b 52 48             	mov    0x48(%edx),%edx
47633c:	85 d2                	test   %edx,%edx
47633e:	74 10                	je     0x476350
476340:	80 7a 15 00          	cmpb   $0x0,0x15(%edx)
476344:	74 03                	je     0x476349
476346:	01 42 10             	add    %eax,0x10(%edx)
476349:	8b 52 08             	mov    0x8(%edx),%edx
47634c:	85 d2                	test   %edx,%edx
47634e:	75 f0                	jne    0x476340
476350:	5d                   	pop    %ebp
476351:	c3                   	ret
476352:	8b c0                	mov    %eax,%eax
476354:	55                   	push   %ebp
476355:	8b ec                	mov    %esp,%ebp
476357:	83 c4 f8             	add    $0xfffffff8,%esp
47635a:	53                   	push   %ebx
47635b:	56                   	push   %esi
47635c:	57                   	push   %edi
47635d:	8b f2                	mov    %edx,%esi
47635f:	89 45 fc             	mov    %eax,-0x4(%ebp)
476362:	8b 45 fc             	mov    -0x4(%ebp),%eax
476365:	3b 70 4c             	cmp    0x4c(%eax),%esi
476368:	0f 84 e8 00 00 00    	je     0x476456
47636e:	8b 45 fc             	mov    -0x4(%ebp),%eax
476371:	3b 70 4c             	cmp    0x4c(%eax),%esi
476374:	0f 8d a2 00 00 00    	jge    0x47641c
47637a:	8b 45 fc             	mov    -0x4(%ebp),%eax
47637d:	83 78 50 00          	cmpl   $0x0,0x50(%eax)
476381:	0f 8e 95 00 00 00    	jle    0x47641c
476387:	8b 45 fc             	mov    -0x4(%ebp),%eax
47638a:	8b 58 54             	mov    0x54(%eax),%ebx
47638d:	8b 45 fc             	mov    -0x4(%ebp),%eax
476390:	8b 40 48             	mov    0x48(%eax),%eax
476393:	85 c0                	test   %eax,%eax
476395:	74 15                	je     0x4763ac
476397:	80 78 15 00          	cmpb   $0x0,0x15(%eax)
47639b:	74 08                	je     0x4763a5
47639d:	3b 58 10             	cmp    0x10(%eax),%ebx
4763a0:	7e 03                	jle    0x4763a5
4763a2:	8b 58 10             	mov    0x10(%eax),%ebx
4763a5:	8b 40 08             	mov    0x8(%eax),%eax
4763a8:	85 c0                	test   %eax,%eax
4763aa:	75 eb                	jne    0x476397
4763ac:	8b 45 fc             	mov    -0x4(%ebp),%eax
4763af:	8b 40 5c             	mov    0x5c(%eax),%eax
4763b2:	e8 29 f0 f8 ff       	call   0x4053e0
4763b7:	8d 14 1e             	lea    (%esi,%ebx,1),%edx
4763ba:	3b c2                	cmp    %edx,%eax
4763bc:	7f 10                	jg     0x4763ce
4763be:	8b 45 fc             	mov    -0x4(%ebp),%eax
4763c1:	8b 40 5c             	mov    0x5c(%eax),%eax
4763c4:	e8 17 f0 f8 ff       	call   0x4053e0
4763c9:	8b d8                	mov    %eax,%ebx
4763cb:	2b de                	sub    %esi,%ebx
4763cd:	4b                   	dec    %ebx
4763ce:	8b c6                	mov    %esi,%eax
4763d0:	48                   	dec    %eax
4763d1:	85 c0                	test   %eax,%eax
4763d3:	7c 19                	jl     0x4763ee
4763d5:	40                   	inc    %eax
4763d6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4763d9:	33 ff                	xor    %edi,%edi
4763db:	8d 14 3b             	lea    (%ebx,%edi,1),%edx
4763de:	8b cf                	mov    %edi,%ecx
4763e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4763e3:	e8 b4 04 00 00       	call   0x47689c
4763e8:	47                   	inc    %edi
4763e9:	ff 4d f8             	decl   -0x8(%ebp)
4763ec:	75 ed                	jne    0x4763db
4763ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
4763f1:	29 58 54             	sub    %ebx,0x54(%eax)
4763f4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4763f7:	83 78 58 ff          	cmpl   $0xffffffff,0x58(%eax)
4763fb:	74 06                	je     0x476403
4763fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
476400:	29 58 58             	sub    %ebx,0x58(%eax)
476403:	8b 45 fc             	mov    -0x4(%ebp),%eax