465055:	39 70 04             	cmp    %esi,0x4(%eax)
465058:	75 1e                	jne    0x465078
46505a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46505d:	68 00 dc 49 00       	push   $0x49dc00
465062:	e8 52 7d fa ff       	call   0x40cdb9
465067:	56                   	push   %esi
465068:	8b 07                	mov    (%edi),%eax
46506a:	6a 01                	push   $0x1
46506c:	8b 48 04             	mov    0x4(%eax),%ecx
46506f:	03 cf                	add    %edi,%ecx
465071:	e8 d6 7e fe ff       	call   0x44cf4c
465076:	eb 77                	jmp    0x4650ef
465078:	83 7b 08 04          	cmpl   $0x4,0x8(%ebx)
46507c:	89 74 24 18          	mov    %esi,0x18(%esp)
465080:	72 0f                	jb     0x465091
465082:	8b 43 04             	mov    0x4(%ebx),%eax
465085:	8b 48 0c             	mov    0xc(%eax),%ecx
465088:	e8 f9 81 fa ff       	call   0x40d286
46508d:	89 44 24 18          	mov    %eax,0x18(%esp)
465091:	83 7b 08 05          	cmpl   $0x5,0x8(%ebx)
465095:	72 18                	jb     0x4650af
465097:	8b 4b 04             	mov    0x4(%ebx),%ecx
46509a:	8b 49 10             	mov    0x10(%ecx),%ecx
46509d:	e8 e4 81 fa ff       	call   0x40d286
4650a2:	8b f0                	mov    %eax,%esi
4650a4:	85 f6                	test   %esi,%esi
4650a6:	78 05                	js     0x4650ad
4650a8:	83 fe 03             	cmp    $0x3,%esi
4650ab:	7e 02                	jle    0x4650af
4650ad:	33 f6                	xor    %esi,%esi
4650af:	ff 74 24 14          	push   0x14(%esp)
4650b3:	8d 4c 24 24          	lea    0x24(%esp),%ecx
4650b7:	e8 8b 8c fa ff       	call   0x40dd47
4650bc:	8b 44 24 10          	mov    0x10(%esp),%eax
4650c0:	56                   	push   %esi
4650c1:	ff 74 24 1c          	push   0x1c(%esp)
4650c5:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4650c9:	50                   	push   %eax
4650ca:	ff 74 24 28          	push   0x28(%esp)
4650ce:	e8 12 d1 fd ff       	call   0x4421e5
4650d3:	6a 00                	push   $0x0
4650d5:	50                   	push   %eax
4650d6:	8b 07                	mov    (%edi),%eax
4650d8:	8b 48 04             	mov    0x4(%eax),%ecx
4650db:	03 cf                	add    %edi,%ecx
4650dd:	e8 3f e2 f9 ff       	call   0x403321
4650e2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4650e5:	8d 44 24 20          	lea    0x20(%esp),%eax
4650e9:	50                   	push   %eax
4650ea:	e8 79 1a fa ff       	call   0x406b68
4650ef:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4650f3:	e8 3f 7a fa ff       	call   0x40cb37
4650f8:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4650fc:	e8 36 7a fa ff       	call   0x40cb37
465101:	5f                   	pop    %edi
465102:	5e                   	pop    %esi
465103:	33 c0                	xor    %eax,%eax
465105:	5b                   	pop    %ebx
465106:	8b e5                	mov    %ebp,%esp
465108:	5d                   	pop    %ebp
465109:	c2 08 00             	ret    $0x8
46510c:	55                   	push   %ebp
46510d:	8b ec                	mov    %esp,%ebp
46510f:	83 e4 f8             	and    $0xfffffff8,%esp
465112:	81 ec 80 00 00 00    	sub    $0x80,%esp
465118:	56                   	push   %esi
465119:	57                   	push   %edi
46511a:	8b 7d 08             	mov    0x8(%ebp),%edi
46511d:	8b 47 04             	mov    0x4(%edi),%eax
465120:	8b 30                	mov    (%eax),%esi
465122:	8b ce                	mov    %esi,%ecx
465124:	e8 43 42 fa ff       	call   0x40936c
465129:	8b 76 08             	mov    0x8(%esi),%esi
46512c:	8d 4c 24 20          	lea    0x20(%esp),%ecx
465130:	ff 76 04             	push   0x4(%esi)
465133:	e8 d7 19 fa ff       	call   0x406b0f
465138:	83 7f 08 01          	cmpl   $0x1,0x8(%edi)
46513c:	76 28                	jbe    0x465166
46513e:	8b 47 04             	mov    0x4(%edi),%eax
465141:	8b 48 04             	mov    0x4(%eax),%ecx
465144:	e8 3d 81 fa ff       	call   0x40d286
465149:	83 f8 01             	cmp    $0x1,%eax
46514c:	75 18                	jne    0x465166
46514e:	56                   	push   %esi
46514f:	8d 4c 24 24          	lea    0x24(%esp),%ecx
465153:	e8 95 1d fa ff       	call   0x406eed
465158:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46515c:	e8 af 08 00 00       	call   0x465a10
465161:	e9 c3 00 00 00       	jmp    0x465229
465166:	8d 4c 24 40          	lea    0x40(%esp),%ecx
46516a:	e8 38 d5 f9 ff       	call   0x4026a7
46516f:	68 d0 46 4b 00       	push   $0x4b46d0
465174:	8d 4c 24 34          	lea    0x34(%esp),%ecx
465178:	e8 9c 7c fa ff       	call   0x40ce19
46517d:	8d 44 24 30          	lea    0x30(%esp),%eax
465181:	50                   	push   %eax
465182:	8d 4c 24 44          	lea    0x44(%esp),%ecx
465186:	e8 f0 1c fa ff       	call   0x406e7b
46518b:	8d 4c 24 30          	lea    0x30(%esp),%ecx
46518f:	e8 a3 79 fa ff       	call   0x40cb37
465194:	56                   	push   %esi
465195:	8d 4c 24 44          	lea    0x44(%esp),%ecx
465199:	e8 c0 1c fa ff       	call   0x406e5e
46519e:	33 f6                	xor    %esi,%esi
4651a0:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4651a4:	c7 44 24 10 04 dc 49 	movl   $0x49dc04,0x10(%esp)
4651ab:	00
4651ac:	89 74 24 14          	mov    %esi,0x14(%esp)
4651b0:	89 74 24 18          	mov    %esi,0x18(%esp)
4651b4:	89 74 24 1c          	mov    %esi,0x1c(%esp)
4651b8:	e8 3a 86 fa ff       	call   0x40d7f7
4651bd:	89 74 24 0c          	mov    %esi,0xc(%esp)
4651c1:	6a 01                	push   $0x1
4651c3:	8d 44 24 10          	lea    0x10(%esp),%eax
4651c7:	50                   	push   %eax
4651c8:	8d 4c 24 48          	lea    0x48(%esp),%ecx
4651cc:	e8 85 d7 f9 ff       	call   0x402956
4651d1:	85 c0                	test   %eax,%eax
4651d3:	74 1f                	je     0x4651f4
4651d5:	8d 44 24 30          	lea    0x30(%esp),%eax
4651d9:	50                   	push   %eax
4651da:	56                   	push   %esi
4651db:	8d 4c 24 48          	lea    0x48(%esp),%ecx
4651df:	e8 cd ce fd ff       	call   0x4420b1
4651e4:	8d 44 24 30          	lea    0x30(%esp),%eax
4651e8:	50                   	push   %eax
4651e9:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4651ed:	e8 dd 12 fa ff       	call   0x4064cf
4651f2:	eb cd                	jmp    0x4651c1
4651f4:	8b 74 24 18          	mov    0x18(%esp),%esi
4651f8:	4e                   	dec    %esi
4651f9:	78 13                	js     0x46520e
4651fb:	8b 7c 24 14          	mov    0x14(%esp),%edi
4651ff:	ff 34 b7             	push   (%edi,%esi,4)
465202:	8d 4c 24 24          	lea    0x24(%esp),%ecx
465206:	e8 02 ff f9 ff       	call   0x40510d
46520b:	4e                   	dec    %esi
46520c:	79 f1                	jns    0x4651ff
46520e:	8d 4c 24 30          	lea    0x30(%esp),%ecx
465212:	e8 20 79 fa ff       	call   0x40cb37
465217:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46521b:	e8 d2 01 fa ff       	call   0x4053f2
465220:	8d 4c 24 40          	lea    0x40(%esp),%ecx
465224:	e8 f1 3b fa ff       	call   0x408e1a
465229:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46522c:	8d 44 24 20          	lea    0x20(%esp),%eax
465230:	50                   	push   %eax
465231:	e8 32 19 fa ff       	call   0x406b68
465236:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46523a:	e8 f8 78 fa ff       	call   0x40cb37
46523f:	5f                   	pop    %edi
465240:	33 c0                	xor    %eax,%eax
465242:	5e                   	pop    %esi
465243:	8b e5                	mov    %ebp,%esp
465245:	5d                   	pop    %ebp
465246:	c2 08 00             	ret    $0x8
465249:	55                   	push   %ebp
46524a:	8b ec                	mov    %esp,%ebp
46524c:	83 ec 10             	sub    $0x10,%esp
46524f:	53                   	push   %ebx
465250:	8b 5d 08             	mov    0x8(%ebp),%ebx
465253:	56                   	push   %esi
465254:	8b 43 04             	mov    0x4(%ebx),%eax
465257:	57                   	push   %edi
465258:	8b 30                	mov    (%eax),%esi
46525a:	8b ce                	mov    %esi,%ecx
46525c:	e8 0b 41 fa ff       	call   0x40936c
465261:	8b 46 08             	mov    0x8(%esi),%eax
465264:	8d 4d f0             	lea    -0x10(%ebp),%ecx
465267:	8b 78 04             	mov    0x4(%eax),%edi
46526a:	e8 88 85 fa ff       	call   0x40d7f7
46526f:	8b 43 04             	mov    0x4(%ebx),%eax
465272:	8b 48 04             	mov    0x4(%eax),%ecx
465275:	e8 0c 80 fa ff       	call   0x40d286
46527a:	8b d8                	mov    %eax,%ebx
46527c:	85 db                	test   %ebx,%ebx
46527e:	78 24                	js     0x4652a4
465280:	3b df                	cmp    %edi,%ebx
465282:	7e 02                	jle    0x465286
465284:	8b df                	mov    %edi,%ebx
465286:	8b 45 08             	mov    0x8(%ebp),%eax
465289:	8b 40 04             	mov    0x4(%eax),%eax
46528c:	8b 30                	mov    (%eax),%esi
46528e:	8b ce                	mov    %esi,%ecx
465290:	e8 d7 40 fa ff       	call   0x40936c
465295:	53                   	push   %ebx
465296:	2b fb                	sub    %ebx,%edi
465298:	57                   	push   %edi
465299:	ff 76 08             	push   0x8(%esi)
46529c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46529f:	e8 45 17 fa ff       	call   0x4069e9
4652a4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4652a7:	8d 45 f0             	lea    -0x10(%ebp),%eax
4652aa:	50                   	push   %eax
4652ab:	e8 b8 18 fa ff       	call   0x406b68
4652b0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4652b3:	e8 7f 78 fa ff       	call   0x40cb37
4652b8:	5f                   	pop    %edi
4652b9:	5e                   	pop    %esi
4652ba:	33 c0                	xor    %eax,%eax
4652bc:	5b                   	pop    %ebx
4652bd:	c9                   	leave
4652be:	c2 08 00             	ret    $0x8
4652c1:	55                   	push   %ebp
4652c2:	8b ec                	mov    %esp,%ebp
4652c4:	83 e4 f8             	and    $0xfffffff8,%esp
4652c7:	83 ec 14             	sub    $0x14,%esp
4652ca:	8b 45 08             	mov    0x8(%ebp),%eax
4652cd:	56                   	push   %esi
4652ce:	8b 40 04             	mov    0x4(%eax),%eax
4652d1:	8b 30                	mov    (%eax),%esi
4652d3:	8b ce                	mov    %esi,%ecx
4652d5:	e8 92 40 fa ff       	call   0x40936c
4652da:	8b 4e 08             	mov    0x8(%esi),%ecx
4652dd:	8b 01                	mov    (%ecx),%eax
4652df:	89 44 24 08          	mov    %eax,0x8(%esp)
4652e3:	8b 41 04             	mov    0x4(%ecx),%eax
4652e6:	89 44 24 0c          	mov    %eax,0xc(%esp)
4652ea:	8b 41 08             	mov    0x8(%ecx),%eax
4652ed:	89 44 24 10          	mov    %eax,0x10(%esp)
4652f1:	8b 41 0c             	mov    0xc(%ecx),%eax
4652f4:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4652f8:	ff 00                	incl   (%eax)
4652fa:	89 44 24 14          	mov    %eax,0x14(%esp)
4652fe:	e8 98 28 fe ff       	call   0x447b9b
465303:	8b 4d 0c             	mov    0xc(%ebp),%ecx
465306:	8d 44 24 08          	lea    0x8(%esp),%eax
46530a:	50                   	push   %eax
46530b:	e8 58 18 fa ff       	call   0x406b68
465310:	8d 4c 24 08          	lea    0x8(%esp),%ecx
465314:	e8 1e 78 fa ff       	call   0x40cb37
465319:	33 c0                	xor    %eax,%eax
46531b:	5e                   	pop    %esi
46531c:	8b e5                	mov    %ebp,%esp
46531e:	5d                   	pop    %ebp
46531f:	c2 08 00             	ret    $0x8
465322:	55                   	push   %ebp
465323:	8b ec                	mov    %esp,%ebp
465325:	83 e4 f8             	and    $0xfffffff8,%esp
465328:	83 ec 24             	sub    $0x24,%esp
46532b:	53                   	push   %ebx
46532c:	56                   	push   %esi
46532d:	8b 75 08             	mov    0x8(%ebp),%esi
465330:	57                   	push   %edi
465331:	8b 46 04             	mov    0x4(%esi),%eax
465334:	8b 48 04             	mov    0x4(%eax),%ecx
465337:	e8 4a 7f fa ff       	call   0x40d286
46533c:	8b 4e 04             	mov    0x4(%esi),%ecx
46533f:	8b d8                	mov    %eax,%ebx
465341:	8b 31                	mov    (%ecx),%esi
465343:	8b ce                	mov    %esi,%ecx
465345:	e8 22 40 fa ff       	call   0x40936c
46534a:	8b 56 08             	mov    0x8(%esi),%edx
46534d:	8b 42 08             	mov    0x8(%edx),%eax
465350:	8b 0a                	mov    (%edx),%ecx
465352:	8b 72 04             	mov    0x4(%edx),%esi
465355:	89 44 24 18          	mov    %eax,0x18(%esp)
465359:	8b 42 0c             	mov    0xc(%edx),%eax
46535c:	89 4c 24 10          	mov    %ecx,0x10(%esp)
465360:	ff 00                	incl   (%eax)
465362:	56                   	push   %esi
465363:	8d 4c 24 24          	lea    0x24(%esp),%ecx
465367:	89 74 24 18          	mov    %esi,0x18(%esp)
46536b:	89 44 24 20          	mov    %eax,0x20(%esp)
46536f:	e8 9b 17 fa ff       	call   0x406b0f
465374:	83 fb 08             	cmp    $0x8,%ebx
465377:	75 41                	jne    0x4653ba
465379:	33 ff                	xor    %edi,%edi
46537b:	85 f6                	test   %esi,%esi
46537d:	74 32                	je     0x4653b1
46537f:	57                   	push   %edi
465380:	8d 4c 24 14          	lea    0x14(%esp),%ecx
465384:	e8 1d 0e fa ff       	call   0x4061a6
465389:	66 8b 08             	mov    (%eax),%cx
46538c:	e8 50 1f fe ff       	call   0x4472e1
465391:	85 c0                	test   %eax,%eax
465393:	75 17                	jne    0x4653ac
465395:	57                   	push   %edi
465396:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46539a:	e8 07 0e fa ff       	call   0x4061a6
46539f:	0f b7 00             	movzwl (%eax),%eax
4653a2:	50                   	push   %eax
4653a3:	8d 4c 24 24          	lea    0x24(%esp),%ecx
4653a7:	e8 ed 73 fa ff       	call   0x40c799
4653ac:	47                   	inc    %edi
4653ad:	3b fe                	cmp    %esi,%edi
4653af:	72 ce                	jb     0x46537f
4653b1:	8d 44 24 20          	lea    0x20(%esp),%eax
4653b5:	e9 07 01 00 00       	jmp    0x4654c1
4653ba:	f6 c3 01             	test   $0x1,%bl
4653bd:	74 49                	je     0x465408
4653bf:	85 f6                	test   %esi,%esi
4653c1:	74 45                	je     0x465408
4653c3:	33 ff                	xor    %edi,%edi
4653c5:	85 f6                	test   %esi,%esi
4653c7:	74 1b                	je     0x4653e4
4653c9:	57                   	push   %edi
4653ca:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4653ce:	e8 d3 0d fa ff       	call   0x4061a6
4653d3:	66 8b 08             	mov    (%eax),%cx
4653d6:	e8 06 1f fe ff       	call   0x4472e1
4653db:	85 c0                	test   %eax,%eax
4653dd:	74 05                	je     0x4653e4
4653df:	47                   	inc    %edi
4653e0:	3b fe                	cmp    %esi,%edi
4653e2:	72 e5                	jb     0x4653c9
4653e4:	2b f7                	sub    %edi,%esi
4653e6:	56                   	push   %esi
4653e7:	57                   	push   %edi
4653e8:	8d 44 24 18          	lea    0x18(%esp),%eax
4653ec:	50                   	push   %eax
4653ed:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
4653f1:	e8 f3 15 fa ff       	call   0x4069e9
4653f6:	8d 44 24 20          	lea    0x20(%esp),%eax
4653fa:	50                   	push   %eax
4653fb:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4653ff:	e8 e9 1a fa ff       	call   0x406eed
465404:	8b 74 24 14          	mov    0x14(%esp),%esi
465408:	f6 c3 02             	test   $0x2,%bl
46540b:	74 48                	je     0x465455
46540d:	85 f6                	test   %esi,%esi
46540f:	74 44                	je     0x465455
465411:	eb 16                	jmp    0x465429
465413:	56                   	push   %esi
465414:	8d 4c 24 14          	lea    0x14(%esp),%ecx
465418:	e8 89 0d fa ff       	call   0x4061a6
46541d:	66 8b 08             	mov    (%eax),%cx
465420:	e8 bc 1e fe ff       	call   0x4472e1
465425:	85 c0                	test   %eax,%eax
465427:	74 06                	je     0x46542f
465429:	4e                   	dec    %esi
46542a:	83 fe ff             	cmp    $0xffffffff,%esi
46542d:	75 e4                	jne    0x465413
46542f:	8d 46 01             	lea    0x1(%esi),%eax
465432:	50                   	push   %eax
465433:	6a 00                	push   $0x0
465435:	8d 44 24 18          	lea    0x18(%esp),%eax
465439:	50                   	push   %eax
46543a:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
46543e:	e8 a6 15 fa ff       	call   0x4069e9
465443:	8d 44 24 20          	lea    0x20(%esp),%eax
465447:	50                   	push   %eax
465448:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46544c:	e8 9c 1a fa ff       	call   0x406eed
465451:	8b 74 24 14          	mov    0x14(%esp),%esi
465455:	f6 c3 04             	test   $0x4,%bl
465458:	74 63                	je     0x4654bd
46545a:	85 f6                	test   %esi,%esi
46545c:	74 5f                	je     0x4654bd
46545e:	6a ff                	push   $0xffffffff