46111f:	39 41 0c             	cmp    %eax,0xc(%ecx)
461122:	74 39                	je     0x46115d
461124:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
461128:	74 33                	je     0x46115d
46112a:	c6 07 c2             	movb   $0xc2,(%edi)
46112d:	66 8b 41 08          	mov    0x8(%ecx),%ax
461131:	66 89 47 01          	mov    %ax,0x1(%edi)
461135:	eb 29                	jmp    0x461160
461137:	8b 75 0c             	mov    0xc(%ebp),%esi
46113a:	8b ce                	mov    %esi,%ecx
46113c:	e8 df 1a fb ff       	call   0x412c20
461141:	33 c0                	xor    %eax,%eax
461143:	50                   	push   %eax
461144:	6a 02                	push   $0x2
461146:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46114d:	89 06                	mov    %eax,(%esi)
46114f:	8b 03                	mov    (%ebx),%eax
461151:	8b 48 04             	mov    0x4(%eax),%ecx
461154:	03 cb                	add    %ebx,%ecx
461156:	e8 f1 bd fe ff       	call   0x44cf4c
46115b:	eb 19                	jmp    0x461176
46115d:	c6 07 c3             	movb   $0xc3,(%edi)
461160:	8b 75 0c             	mov    0xc(%ebp),%esi
461163:	8b ce                	mov    %esi,%ecx
461165:	e8 b6 1a fb ff       	call   0x412c20
46116a:	8d 43 01             	lea    0x1(%ebx),%eax
46116d:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
461174:	89 06                	mov    %eax,(%esi)
461176:	8d 4c 24 28          	lea    0x28(%esp),%ecx
46117a:	e8 b8 b9 fa ff       	call   0x40cb37
46117f:	8d 4c 24 38          	lea    0x38(%esp),%ecx
461183:	e8 af b9 fa ff       	call   0x40cb37
461188:	5f                   	pop    %edi
461189:	5e                   	pop    %esi
46118a:	33 c0                	xor    %eax,%eax
46118c:	5b                   	pop    %ebx
46118d:	8b e5                	mov    %ebp,%esp
46118f:	5d                   	pop    %ebp
461190:	c2 08 00             	ret    $0x8
461193:	55                   	push   %ebp
461194:	8b ec                	mov    %esp,%ebp
461196:	8b 45 08             	mov    0x8(%ebp),%eax
461199:	56                   	push   %esi
46119a:	8b 40 04             	mov    0x4(%eax),%eax
46119d:	57                   	push   %edi
46119e:	8b f9                	mov    %ecx,%edi
4611a0:	8b 08                	mov    (%eax),%ecx
4611a2:	e8 df c0 fa ff       	call   0x40d286
4611a7:	8b f0                	mov    %eax,%esi
4611a9:	4e                   	dec    %esi
4611aa:	78 2c                	js     0x4611d8
4611ac:	3b b7 ac 01 00 00    	cmp    0x1ac(%edi),%esi
4611b2:	7d 24                	jge    0x4611d8
4611b4:	8b 87 a8 01 00 00    	mov    0x1a8(%edi),%eax
4611ba:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4611bd:	83 38 00             	cmpl   $0x0,(%eax)
4611c0:	74 16                	je     0x4611d8
4611c2:	ff 30                	push   (%eax)
4611c4:	ff 15 88 d1 48 00    	call   *0x48d188
4611ca:	8b 87 a8 01 00 00    	mov    0x1a8(%edi),%eax
4611d0:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4611d3:	83 20 00             	andl   $0x0,(%eax)
4611d6:	eb 14                	jmp    0x4611ec
4611d8:	8b 75 0c             	mov    0xc(%ebp),%esi
4611db:	8b ce                	mov    %esi,%ecx
4611dd:	e8 3e 1a fb ff       	call   0x412c20
4611e2:	83 26 00             	andl   $0x0,(%esi)
4611e5:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4611ec:	5f                   	pop    %edi
4611ed:	33 c0                	xor    %eax,%eax
4611ef:	5e                   	pop    %esi
4611f0:	5d                   	pop    %ebp
4611f1:	c2 08 00             	ret    $0x8
4611f4:	55                   	push   %ebp
4611f5:	8b ec                	mov    %esp,%ebp
4611f7:	8b 45 08             	mov    0x8(%ebp),%eax
4611fa:	53                   	push   %ebx
4611fb:	8b 40 04             	mov    0x4(%eax),%eax
4611fe:	56                   	push   %esi
4611ff:	8b 30                	mov    (%eax),%esi
461201:	8b d9                	mov    %ecx,%ebx
461203:	8b ce                	mov    %esi,%ecx
461205:	e8 62 81 fa ff       	call   0x40936c
46120a:	8b 46 08             	mov    0x8(%esi),%eax
46120d:	ff 30                	push   (%eax)
46120f:	ff 15 04 d3 48 00    	call   *0x48d304
461215:	8b f0                	mov    %eax,%esi
461217:	89 75 08             	mov    %esi,0x8(%ebp)
46121a:	85 f6                	test   %esi,%esi
46121c:	75 0f                	jne    0x46122d
46121e:	8b 75 0c             	mov    0xc(%ebp),%esi
461221:	8b ce                	mov    %esi,%ecx
461223:	e8 f8 19 fb ff       	call   0x412c20
461228:	83 0e ff             	orl    $0xffffffff,(%esi)
46122b:	eb 52                	jmp    0x46127f
46122d:	8b 8b ac 01 00 00    	mov    0x1ac(%ebx),%ecx
461233:	57                   	push   %edi
461234:	33 ff                	xor    %edi,%edi
461236:	85 c9                	test   %ecx,%ecx
461238:	74 15                	je     0x46124f
46123a:	8b 93 a8 01 00 00    	mov    0x1a8(%ebx),%edx
461240:	8b 02                	mov    (%edx),%eax
461242:	83 38 00             	cmpl   $0x0,(%eax)
461245:	74 08                	je     0x46124f
461247:	47                   	inc    %edi
461248:	83 c2 04             	add    $0x4,%edx
46124b:	3b f9                	cmp    %ecx,%edi
46124d:	72 f1                	jb     0x461240
46124f:	3b f9                	cmp    %ecx,%edi
461251:	75 11                	jne    0x461264
461253:	8d 45 08             	lea    0x8(%ebp),%eax
461256:	50                   	push   %eax
461257:	8d 8b a4 01 00 00    	lea    0x1a4(%ebx),%ecx
46125d:	e8 86 17 00 00       	call   0x4629e8
461262:	eb 0b                	jmp    0x46126f
461264:	8b 83 a8 01 00 00    	mov    0x1a8(%ebx),%eax
46126a:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46126d:	89 30                	mov    %esi,(%eax)
46126f:	8b 75 0c             	mov    0xc(%ebp),%esi
461272:	8b ce                	mov    %esi,%ecx
461274:	e8 a7 19 fb ff       	call   0x412c20
461279:	8d 47 01             	lea    0x1(%edi),%eax
46127c:	89 06                	mov    %eax,(%esi)
46127e:	5f                   	pop    %edi
46127f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
461286:	5e                   	pop    %esi
461287:	33 c0                	xor    %eax,%eax
461289:	5b                   	pop    %ebx
46128a:	5d                   	pop    %ebp
46128b:	c2 08 00             	ret    $0x8
46128e:	55                   	push   %ebp
46128f:	8b ec                	mov    %esp,%ebp
461291:	53                   	push   %ebx
461292:	56                   	push   %esi
461293:	8b 75 08             	mov    0x8(%ebp),%esi
461296:	33 db                	xor    %ebx,%ebx
461298:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
46129c:	57                   	push   %edi
46129d:	8b f9                	mov    %ecx,%edi
46129f:	76 2d                	jbe    0x4612ce
4612a1:	8b 46 04             	mov    0x4(%esi),%eax
4612a4:	8b 48 04             	mov    0x4(%eax),%ecx
4612a7:	e8 cb a2 fe ff       	call   0x44b577
4612ac:	85 c0                	test   %eax,%eax
4612ae:	75 11                	jne    0x4612c1
4612b0:	8b 75 0c             	mov    0xc(%ebp),%esi
4612b3:	8b ce                	mov    %esi,%ecx
4612b5:	e8 66 19 fb ff       	call   0x412c20
4612ba:	21 1e                	and    %ebx,(%esi)
4612bc:	53                   	push   %ebx
4612bd:	6a 03                	push   $0x3
4612bf:	eb 5f                	jmp    0x461320
4612c1:	8b 46 04             	mov    0x4(%esi),%eax
4612c4:	8b 48 04             	mov    0x4(%eax),%ecx
4612c7:	e8 ab a2 fe ff       	call   0x44b577
4612cc:	8b d8                	mov    %eax,%ebx
4612ce:	8b 4e 04             	mov    0x4(%esi),%ecx
4612d1:	83 65 08 00          	andl   $0x0,0x8(%ebp)
4612d5:	8b 31                	mov    (%ecx),%esi
4612d7:	8b ce                	mov    %esi,%ecx
4612d9:	e8 8e 80 fa ff       	call   0x40936c
4612de:	8b 56 08             	mov    0x8(%esi),%edx
4612e1:	8b 75 0c             	mov    0xc(%ebp),%esi
4612e4:	8b 02                	mov    (%edx),%eax
4612e6:	83 ec 10             	sub    $0x10,%esp
4612e9:	8b cc                	mov    %esp,%ecx
4612eb:	53                   	push   %ebx
4612ec:	89 01                	mov    %eax,(%ecx)
4612ee:	8b 42 04             	mov    0x4(%edx),%eax
4612f1:	89 41 04             	mov    %eax,0x4(%ecx)
4612f4:	8b 42 08             	mov    0x8(%edx),%eax
4612f7:	89 41 08             	mov    %eax,0x8(%ecx)
4612fa:	8b 42 0c             	mov    0xc(%edx),%eax
4612fd:	89 41 0c             	mov    %eax,0xc(%ecx)
461300:	ff 00                	incl   (%eax)
461302:	8d 45 08             	lea    0x8(%ebp),%eax
461305:	50                   	push   %eax
461306:	8b ce                	mov    %esi,%ecx
461308:	e8 3b 91 fe ff       	call   0x44a448
46130d:	85 c0                	test   %eax,%eax
46130f:	75 22                	jne    0x461333
461311:	8b ce                	mov    %esi,%ecx
461313:	e8 08 19 fb ff       	call   0x412c20
461318:	83 26 00             	andl   $0x0,(%esi)
46131b:	6a 00                	push   $0x0
46131d:	ff 75 08             	push   0x8(%ebp)
461320:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
461327:	8b 07                	mov    (%edi),%eax
461329:	8b 48 04             	mov    0x4(%eax),%ecx
46132c:	03 cf                	add    %edi,%ecx
46132e:	e8 19 bc fe ff       	call   0x44cf4c
461333:	5f                   	pop    %edi
461334:	5e                   	pop    %esi
461335:	33 c0                	xor    %eax,%eax
461337:	5b                   	pop    %ebx
461338:	5d                   	pop    %ebp
461339:	c2 08 00             	ret    $0x8
46133c:	55                   	push   %ebp
46133d:	8b ec                	mov    %esp,%ebp
46133f:	83 e4 f8             	and    $0xfffffff8,%esp
461342:	83 ec 14             	sub    $0x14,%esp
461345:	53                   	push   %ebx
461346:	8b 5d 08             	mov    0x8(%ebp),%ebx
461349:	56                   	push   %esi
46134a:	8b 73 04             	mov    0x4(%ebx),%esi
46134d:	57                   	push   %edi
46134e:	8b f9                	mov    %ecx,%edi
461350:	8b 0e                	mov    (%esi),%ecx
461352:	6a 0c                	push   $0xc
461354:	e8 8b c2 fa ff       	call   0x40d5e4
461359:	84 c0                	test   %al,%al
46135b:	75 27                	jne    0x461384
46135d:	8b 75 0c             	mov    0xc(%ebp),%esi
461360:	8b ce                	mov    %esi,%ecx
461362:	e8 b9 18 fb ff       	call   0x412c20
461367:	33 c0                	xor    %eax,%eax
461369:	40                   	inc    %eax
46136a:	6a 00                	push   $0x0
46136c:	89 46 0c             	mov    %eax,0xc(%esi)
46136f:	50                   	push   %eax
461370:	83 26 00             	andl   $0x0,(%esi)
461373:	8b 07                	mov    (%edi),%eax
461375:	8b 48 04             	mov    0x4(%eax),%ecx
461378:	03 cf                	add    %edi,%ecx
46137a:	e8 cd bb fe ff       	call   0x44cf4c
46137f:	e9 c1 00 00 00       	jmp    0x461445
461384:	83 4c 24 0c ff       	orl    $0xffffffff,0xc(%esp)
461389:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
46138d:	72 36                	jb     0x4613c5
46138f:	8b 4e 08             	mov    0x8(%esi),%ecx
461392:	6a 29                	push   $0x29
461394:	e8 53 08 fa ff       	call   0x401bec
461399:	84 c0                	test   %al,%al
46139b:	75 28                	jne    0x4613c5
46139d:	8b 4e 08             	mov    0x8(%esi),%ecx
4613a0:	e8 e1 be fa ff       	call   0x40d286
4613a5:	8b f0                	mov    %eax,%esi
4613a7:	4e                   	dec    %esi
4613a8:	89 74 24 0c          	mov    %esi,0xc(%esp)
4613ac:	79 17                	jns    0x4613c5
4613ae:	8b 75 0c             	mov    0xc(%ebp),%esi
4613b1:	8b ce                	mov    %esi,%ecx
4613b3:	e8 68 18 fb ff       	call   0x412c20
4613b8:	6a 00                	push   $0x0
4613ba:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4613c1:	6a 05                	push   $0x5
4613c3:	eb ab                	jmp    0x461370
4613c5:	8b 43 04             	mov    0x4(%ebx),%eax
4613c8:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
4613cd:	ff 70 04             	push   0x4(%eax)
4613d0:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4613d4:	e8 47 03 fb ff       	call   0x411720
4613d9:	6a 04                	push   $0x4
4613db:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4613df:	e8 00 c2 fa ff       	call   0x40d5e4
4613e4:	84 c0                	test   %al,%al
4613e6:	75 21                	jne    0x461409
4613e8:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4613ec:	e8 95 be fa ff       	call   0x40d286
4613f1:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4613f5:	8d 70 ff             	lea    -0x1(%eax),%esi
4613f8:	e8 23 18 fb ff       	call   0x412c20
4613fd:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
461404:	00
461405:	89 74 24 10          	mov    %esi,0x10(%esp)
461409:	8b 43 04             	mov    0x4(%ebx),%eax
46140c:	8b 00                	mov    (%eax),%eax
46140e:	83 78 0c 0c          	cmpl   $0xc,0xc(%eax)
461412:	75 04                	jne    0x461418
461414:	8b 08                	mov    (%eax),%ecx
461416:	eb 02                	jmp    0x46141a
461418:	33 c9                	xor    %ecx,%ecx
46141a:	6a 00                	push   $0x0
46141c:	51                   	push   %ecx
46141d:	ff 74 24 14          	push   0x14(%esp)
461421:	8d 44 24 1c          	lea    0x1c(%esp),%eax
461425:	ff 75 0c             	push   0xc(%ebp)
461428:	50                   	push   %eax
461429:	e8 c9 75 fe ff       	call   0x4489f7
46142e:	59                   	pop    %ecx
46142f:	50                   	push   %eax
461430:	8b 07                	mov    (%edi),%eax
461432:	8b 48 04             	mov    0x4(%eax),%ecx
461435:	03 cf                	add    %edi,%ecx
461437:	e8 10 bb fe ff       	call   0x44cf4c
46143c:	8d 4c 24 10          	lea    0x10(%esp),%ecx
461440:	e8 db 17 fb ff       	call   0x412c20
461445:	5f                   	pop    %edi
461446:	5e                   	pop    %esi
461447:	33 c0                	xor    %eax,%eax
461449:	5b                   	pop    %ebx
46144a:	8b e5                	mov    %ebp,%esp
46144c:	5d                   	pop    %ebp
46144d:	c2 08 00             	ret    $0x8
461450:	55                   	push   %ebp
461451:	8b ec                	mov    %esp,%ebp
461453:	83 ec 1c             	sub    $0x1c,%esp
461456:	53                   	push   %ebx
461457:	8b 5d 08             	mov    0x8(%ebp),%ebx
46145a:	56                   	push   %esi
46145b:	8b 73 04             	mov    0x4(%ebx),%esi
46145e:	57                   	push   %edi
46145f:	8b 3e                	mov    (%esi),%edi
461461:	89 4d f8             	mov    %ecx,-0x8(%ebp)
461464:	6a 0c                	push   $0xc
461466:	8b cf                	mov    %edi,%ecx
461468:	e8 77 c1 fa ff       	call   0x40d5e4
46146d:	84 c0                	test   %al,%al
46146f:	75 2a                	jne    0x46149b
461471:	8b 75 0c             	mov    0xc(%ebp),%esi
461474:	8b ce                	mov    %esi,%ecx
461476:	e8 a5 17 fb ff       	call   0x412c20
46147b:	8b 55 f8             	mov    -0x8(%ebp),%edx
46147e:	33 db                	xor    %ebx,%ebx
461480:	43                   	inc    %ebx
461481:	33 ff                	xor    %edi,%edi
461483:	89 5e 0c             	mov    %ebx,0xc(%esi)
461486:	89 3e                	mov    %edi,(%esi)
461488:	8b 02                	mov    (%edx),%eax
46148a:	57                   	push   %edi
46148b:	8b 48 04             	mov    0x4(%eax),%ecx
46148e:	53                   	push   %ebx
46148f:	03 ca                	add    %edx,%ecx
461491:	e8 b6 ba fe ff       	call   0x44cf4c
461496:	e9 d7 00 00 00       	jmp    0x461572
46149b:	83 7b 08 02          	cmpl   $0x2,0x8(%ebx)
46149f:	0f 82 ab 00 00 00    	jb     0x461550
4614a5:	ff 76 04             	push   0x4(%esi)
4614a8:	33 ff                	xor    %edi,%edi
4614aa:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4614ad:	89 7d f4             	mov    %edi,-0xc(%ebp)
4614b0:	89 7d fc             	mov    %edi,-0x4(%ebp)
4614b3:	89 7d ec             	mov    %edi,-0x14(%ebp)
4614b6:	e8 65 02 fb ff       	call   0x411720
4614bb:	6a 04                	push   $0x4
4614bd:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4614c0:	e8 1f c1 fa ff       	call   0x40d5e4
4614c5:	33 db                	xor    %ebx,%ebx
4614c7:	43                   	inc    %ebx
4614c8:	84 c0                	test   %al,%al
4614ca:	75 19                	jne    0x4614e5
4614cc:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4614cf:	e8 b2 bd fa ff       	call   0x40d286
4614d4:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4614d7:	8d 70 ff             	lea    -0x1(%eax),%esi
4614da:	e8 41 17 fb ff       	call   0x412c20
4614df:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4614e2:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4614e5:	8b 45 08             	mov    0x8(%ebp),%eax
4614e8:	8b 40 04             	mov    0x4(%eax),%eax