42929b:	74 2a                	je     0x4292c7
42929d:	83 fb 03             	cmp    $0x3,%ebx
4292a0:	7e 25                	jle    0x4292c7
4292a2:	8b 41 38             	mov    0x38(%ecx),%eax
4292a5:	8b 49 3c             	mov    0x3c(%ecx),%ecx
4292a8:	3b 4f 0c             	cmp    0xc(%edi),%ecx
4292ab:	72 17                	jb     0x4292c4
4292ad:	77 05                	ja     0x4292b4
4292af:	3b 47 08             	cmp    0x8(%edi),%eax
4292b2:	76 04                	jbe    0x4292b8
4292b4:	6a 03                	push   $0x3
4292b6:	eb dc                	jmp    0x429294
4292b8:	3b 4f 0c             	cmp    0xc(%edi),%ecx
4292bb:	77 0a                	ja     0x4292c7
4292bd:	72 05                	jb     0x4292c4
4292bf:	3b 47 08             	cmp    0x8(%edi),%eax
4292c2:	73 03                	jae    0x4292c7
4292c4:	33 f6                	xor    %esi,%esi
4292c6:	46                   	inc    %esi
4292c7:	56                   	push   %esi
4292c8:	e8 3a ae fe ff       	call   0x414107
4292cd:	50                   	push   %eax
4292ce:	ff 77 0c             	push   0xc(%edi)
4292d1:	ff 77 08             	push   0x8(%edi)
4292d4:	e8 21 b1 fe ff       	call   0x4143fa
4292d9:	50                   	push   %eax
4292da:	ff 77 2c             	push   0x2c(%edi)
4292dd:	e8 0d ae fe ff       	call   0x4140ef
4292e2:	50                   	push   %eax
4292e3:	ff 37                	push   (%edi)
4292e5:	e8 80 ae fe ff       	call   0x41416a
4292ea:	50                   	push   %eax
4292eb:	ff 77 18             	push   0x18(%edi)
4292ee:	68 66 00 00 20       	push   $0x20000066
4292f3:	6a 02                	push   $0x2
4292f5:	e8 15 c2 fd ff       	call   0x40550f
4292fa:	8b 45 08             	mov    0x8(%ebp),%eax
4292fd:	83 c4 1c             	add    $0x1c,%esp
429300:	8b 40 10             	mov    0x10(%eax),%eax
429303:	56                   	push   %esi
429304:	ff 77 0c             	push   0xc(%edi)
429307:	ff 77 08             	push   0x8(%edi)
42930a:	8b 08                	mov    (%eax),%ecx
42930c:	ff 77 2c             	push   0x2c(%edi)
42930f:	ff 77 10             	push   0x10(%edi)
429312:	ff 37                	push   (%edi)
429314:	ff 77 18             	push   0x18(%edi)
429317:	50                   	push   %eax
429318:	ff 51 2c             	call   *0x2c(%ecx)
42931b:	50                   	push   %eax
42931c:	6a 01                	push   $0x1
42931e:	ff 75 08             	push   0x8(%ebp)
429321:	e8 65 42 fe ff       	call   0x40d58b
429326:	8b f0                	mov    %eax,%esi
429328:	85 f6                	test   %esi,%esi
42932a:	78 23                	js     0x42934f
42932c:	8b 55 fc             	mov    -0x4(%ebp),%edx
42932f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
429332:	42                   	inc    %edx
429333:	8b 45 f8             	mov    -0x8(%ebp),%eax
429336:	05 f8 00 00 00       	add    $0xf8,%eax
42933b:	89 55 fc             	mov    %edx,-0x4(%ebp)
42933e:	89 45 f8             	mov    %eax,-0x8(%ebp)
429341:	3b 91 b8 00 00 00    	cmp    0xb8(%ecx),%edx
429347:	0f 82 d6 fe ff ff    	jb     0x429223
42934d:	eb 1d                	jmp    0x42936c
42934f:	56                   	push   %esi
429350:	68 ce 00 00 00       	push   $0xce
429355:	68 c8 e6 45 00       	push   $0x45e6c8
42935a:	e8 74 a4 fd ff       	call   0x4037d3
42935f:	68 54 e7 45 00       	push   $0x45e754
429364:	56                   	push   %esi
429365:	e8 c5 6d 01 00       	call   0x44012f
42936a:	59                   	pop    %ecx
42936b:	59                   	pop    %ecx
42936c:	5f                   	pop    %edi
42936d:	5b                   	pop    %ebx
42936e:	8b c6                	mov    %esi,%eax
429370:	5e                   	pop    %esi
429371:	8b e5                	mov    %ebp,%esp
429373:	5d                   	pop    %ebp
429374:	c2 10 00             	ret    $0x10
429377:	55                   	push   %ebp
429378:	8b ec                	mov    %esp,%ebp
42937a:	53                   	push   %ebx
42937b:	56                   	push   %esi
42937c:	8b 75 08             	mov    0x8(%ebp),%esi
42937f:	57                   	push   %edi
429380:	8d 86 b4 00 00 00    	lea    0xb4(%esi),%eax
429386:	50                   	push   %eax
429387:	e8 d4 f8 ff ff       	call   0x428c60
42938c:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
429392:	85 c0                	test   %eax,%eax
429394:	74 0d                	je     0x4293a3
429396:	50                   	push   %eax
429397:	e8 53 c1 01 00       	call   0x4454ef
42939c:	83 a6 bc 00 00 00 00 	andl   $0x0,0xbc(%esi)
4293a3:	83 a6 c4 00 00 00 00 	andl   $0x0,0xc4(%esi)
4293aa:	8d 86 c8 00 00 00    	lea    0xc8(%esi),%eax
4293b0:	50                   	push   %eax
4293b1:	e8 8e 49 fe ff       	call   0x40dd44
4293b6:	8b 7d 0c             	mov    0xc(%ebp),%edi
4293b9:	33 db                	xor    %ebx,%ebx
4293bb:	39 5f 0c             	cmp    %ebx,0xc(%edi)
4293be:	0f 86 99 00 00 00    	jbe    0x42945d
4293c4:	33 d2                	xor    %edx,%edx
4293c6:	89 55 08             	mov    %edx,0x8(%ebp)
4293c9:	8b 77 08             	mov    0x8(%edi),%esi
4293cc:	33 c9                	xor    %ecx,%ecx
4293ce:	03 f2                	add    %edx,%esi
4293d0:	83 66 40 00          	andl   $0x0,0x40(%esi)
4293d4:	83 66 44 00          	andl   $0x0,0x44(%esi)
4293d8:	39 8e 80 00 00 00    	cmp    %ecx,0x80(%esi)
4293de:	76 11                	jbe    0x4293f1
4293e0:	8b 46 7c             	mov    0x7c(%esi),%eax
4293e3:	83 64 c8 04 00       	andl   $0x0,0x4(%eax,%ecx,8)
4293e8:	41                   	inc    %ecx
4293e9:	3b 8e 80 00 00 00    	cmp    0x80(%esi),%ecx
4293ef:	72 ef                	jb     0x4293e0
4293f1:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
4293f7:	83 f8 02             	cmp    $0x2,%eax
4293fa:	75 28                	jne    0x429424
4293fc:	33 c9                	xor    %ecx,%ecx
4293fe:	39 8e c0 00 00 00    	cmp    %ecx,0xc0(%esi)
429404:	76 44                	jbe    0x42944a
429406:	33 ff                	xor    %edi,%edi
429408:	8b 86 bc 00 00 00    	mov    0xbc(%esi),%eax
42940e:	8d 7f 28             	lea    0x28(%edi),%edi
429411:	83 64 07 f4 00       	andl   $0x0,-0xc(%edi,%eax,1)
429416:	41                   	inc    %ecx
429417:	3b 8e c0 00 00 00    	cmp    0xc0(%esi),%ecx
42941d:	72 e9                	jb     0x429408
42941f:	8b 7d 0c             	mov    0xc(%ebp),%edi
429422:	eb 26                	jmp    0x42944a
429424:	83 f8 03             	cmp    $0x3,%eax
429427:	75 21                	jne    0x42944a
429429:	8b 86 a4 00 00 00    	mov    0xa4(%esi),%eax
42942f:	85 c0                	test   %eax,%eax
429431:	74 10                	je     0x429443
429433:	50                   	push   %eax
429434:	e8 60 a5 fd ff       	call   0x403999
429439:	83 a6 a4 00 00 00 00 	andl   $0x0,0xa4(%esi)
429440:	8b 55 08             	mov    0x8(%ebp),%edx
429443:	83 a6 a8 00 00 00 00 	andl   $0x0,0xa8(%esi)
42944a:	43                   	inc    %ebx
42944b:	81 c2 e0 00 00 00    	add    $0xe0,%edx
429451:	89 55 08             	mov    %edx,0x8(%ebp)
429454:	3b 5f 0c             	cmp    0xc(%edi),%ebx
429457:	0f 82 6c ff ff ff    	jb     0x4293c9
42945d:	33 c9                	xor    %ecx,%ecx
42945f:	39 4f 28             	cmp    %ecx,0x28(%edi)
429462:	76 18                	jbe    0x42947c
429464:	33 d2                	xor    %edx,%edx
429466:	8b 47 20             	mov    0x20(%edi),%eax
429469:	03 c2                	add    %edx,%eax
42946b:	83 c2 10             	add    $0x10,%edx
42946e:	83 60 08 00          	andl   $0x0,0x8(%eax)
429472:	83 60 0c 00          	andl   $0x0,0xc(%eax)
429476:	41                   	inc    %ecx
429477:	3b 4f 28             	cmp    0x28(%edi),%ecx
42947a:	72 ea                	jb     0x429466
42947c:	5f                   	pop    %edi
42947d:	5e                   	pop    %esi
42947e:	5b                   	pop    %ebx
42947f:	5d                   	pop    %ebp
429480:	c2 08 00             	ret    $0x8
429483:	55                   	push   %ebp
429484:	8b ec                	mov    %esp,%ebp
429486:	53                   	push   %ebx
429487:	8b 5d 10             	mov    0x10(%ebp),%ebx
42948a:	56                   	push   %esi
42948b:	57                   	push   %edi
42948c:	33 ff                	xor    %edi,%edi
42948e:	8b 53 04             	mov    0x4(%ebx),%edx
429491:	8b f7                	mov    %edi,%esi
429493:	85 d2                	test   %edx,%edx
429495:	74 7c                	je     0x429513
429497:	66 39 3a             	cmp    %di,(%edx)
42949a:	74 77                	je     0x429513
42949c:	8b 75 0c             	mov    0xc(%ebp),%esi
42949f:	57                   	push   %edi
4294a0:	52                   	push   %edx
4294a1:	8b 46 10             	mov    0x10(%esi),%eax
4294a4:	50                   	push   %eax
4294a5:	8b 08                	mov    (%eax),%ecx
4294a7:	ff 51 20             	call   *0x20(%ecx)
4294aa:	50                   	push   %eax
4294ab:	6a 01                	push   $0x1
4294ad:	56                   	push   %esi
4294ae:	89 45 10             	mov    %eax,0x10(%ebp)
4294b1:	e8 d5 40 fe ff       	call   0x40d58b
4294b6:	8b f0                	mov    %eax,%esi
4294b8:	85 f6                	test   %esi,%esi
4294ba:	79 17                	jns    0x4294d3
4294bc:	56                   	push   %esi
4294bd:	68 e9 00 00 00       	push   $0xe9
4294c2:	68 c8 e6 45 00       	push   $0x45e6c8
4294c7:	e8 07 a3 fd ff       	call   0x4037d3
4294cc:	68 78 e7 45 00       	push   $0x45e778
4294d1:	eb 23                	jmp    0x4294f6
4294d3:	8b 45 10             	mov    0x10(%ebp),%eax
4294d6:	85 c0                	test   %eax,%eax
4294d8:	74 24                	je     0x4294fe
4294da:	83 f8 01             	cmp    $0x1,%eax
4294dd:	75 1f                	jne    0x4294fe
4294df:	53                   	push   %ebx
4294e0:	ff 75 0c             	push   0xc(%ebp)
4294e3:	ff 75 08             	push   0x8(%ebp)
4294e6:	e8 b1 f8 ff ff       	call   0x428d9c
4294eb:	8b f0                	mov    %eax,%esi
4294ed:	85 f6                	test   %esi,%esi
4294ef:	79 0d                	jns    0x4294fe
4294f1:	68 98 e7 45 00       	push   $0x45e798
4294f6:	56                   	push   %esi
4294f7:	e8 33 6c 01 00       	call   0x44012f
4294fc:	59                   	pop    %ecx
4294fd:	59                   	pop    %ecx
4294fe:	39 3b                	cmp    %edi,(%ebx)
429500:	74 03                	je     0x429505
429502:	8b 7b 04             	mov    0x4(%ebx),%edi
429505:	8b 45 0c             	mov    0xc(%ebp),%eax
429508:	57                   	push   %edi
429509:	56                   	push   %esi
42950a:	8b 40 10             	mov    0x10(%eax),%eax
42950d:	50                   	push   %eax
42950e:	8b 08                	mov    (%eax),%ecx
429510:	ff 51 28             	call   *0x28(%ecx)
429513:	5f                   	pop    %edi
429514:	8b c6                	mov    %esi,%eax
429516:	5e                   	pop    %esi
429517:	5b                   	pop    %ebx
429518:	5d                   	pop    %ebp
429519:	c2 0c 00             	ret    $0xc
42951c:	55                   	push   %ebp
42951d:	8b ec                	mov    %esp,%ebp
42951f:	83 ec 44             	sub    $0x44,%esp
429522:	53                   	push   %ebx
429523:	8b 5d 10             	mov    0x10(%ebp),%ebx
429526:	33 c9                	xor    %ecx,%ecx
429528:	89 4d ec             	mov    %ecx,-0x14(%ebp)
42952b:	56                   	push   %esi
42952c:	8b 75 14             	mov    0x14(%ebp),%esi
42952f:	57                   	push   %edi
429530:	85 db                	test   %ebx,%ebx
429532:	74 04                	je     0x429538
429534:	8b 03                	mov    (%ebx),%eax
429536:	eb 06                	jmp    0x42953e
429538:	85 f6                	test   %esi,%esi
42953a:	74 07                	je     0x429543
42953c:	8b 06                	mov    (%esi),%eax
42953e:	89 45 f8             	mov    %eax,-0x8(%ebp)
429541:	eb 03                	jmp    0x429546
429543:	89 4d f8             	mov    %ecx,-0x8(%ebp)
429546:	8b 55 18             	mov    0x18(%ebp),%edx
429549:	85 d2                	test   %edx,%edx
42954b:	74 07                	je     0x429554
42954d:	8b 02                	mov    (%edx),%eax
42954f:	89 45 fc             	mov    %eax,-0x4(%ebp)
429552:	eb 03                	jmp    0x429557
429554:	89 4d fc             	mov    %ecx,-0x4(%ebp)
429557:	85 db                	test   %ebx,%ebx
429559:	74 05                	je     0x429560
42955b:	8b 43 24             	mov    0x24(%ebx),%eax
42955e:	eb 03                	jmp    0x429563
429560:	8b 42 18             	mov    0x18(%edx),%eax
429563:	89 45 e4             	mov    %eax,-0x1c(%ebp)
429566:	8d 7d bc             	lea    -0x44(%ebp),%edi
429569:	33 c0                	xor    %eax,%eax
42956b:	89 4d 10             	mov    %ecx,0x10(%ebp)
42956e:	6a 0a                	push   $0xa
429570:	59                   	pop    %ecx
429571:	f3 ab                	rep stos %eax,%es:(%edi)
429573:	8b 45 08             	mov    0x8(%ebp),%eax
429576:	89 45 bc             	mov    %eax,-0x44(%ebp)
429579:	8b 45 20             	mov    0x20(%ebp),%eax
42957c:	89 45 cc             	mov    %eax,-0x34(%ebp)
42957f:	8b 45 24             	mov    0x24(%ebp),%eax
429582:	89 45 d0             	mov    %eax,-0x30(%ebp)
429585:	8b 45 28             	mov    0x28(%ebp),%eax
429588:	89 45 d4             	mov    %eax,-0x2c(%ebp)
42958b:	8b 45 2c             	mov    0x2c(%ebp),%eax
42958e:	89 5d c0             	mov    %ebx,-0x40(%ebp)
429591:	89 75 c4             	mov    %esi,-0x3c(%ebp)
429594:	89 55 c8             	mov    %edx,-0x38(%ebp)
429597:	89 45 d8             	mov    %eax,-0x28(%ebp)
42959a:	85 db                	test   %ebx,%ebx
42959c:	74 05                	je     0x4295a3
42959e:	8b 7b 2c             	mov    0x2c(%ebx),%edi
4295a1:	eb 03                	jmp    0x4295a6
4295a3:	8b 7a 40             	mov    0x40(%edx),%edi
4295a6:	85 db                	test   %ebx,%ebx
4295a8:	74 05                	je     0x4295af
4295aa:	8b 43 28             	mov    0x28(%ebx),%eax
4295ad:	eb 03                	jmp    0x4295b2
4295af:	8b 42 38             	mov    0x38(%edx),%eax
4295b2:	33 d2                	xor    %edx,%edx
4295b4:	8b ca                	mov    %edx,%ecx
4295b6:	89 55 f0             	mov    %edx,-0x10(%ebp)
4295b9:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4295bc:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4295bf:	8d 4d 10             	lea    0x10(%ebp),%ecx
4295c2:	51                   	push   %ecx
4295c3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4295c6:	89 55 24             	mov    %edx,0x24(%ebp)
4295c9:	51                   	push   %ecx
4295ca:	ff 75 0c             	push   0xc(%ebp)
4295cd:	89 55 2c             	mov    %edx,0x2c(%ebp)
4295d0:	50                   	push   %eax
4295d1:	89 55 dc             	mov    %edx,-0x24(%ebp)
4295d4:	e8 5d 09 ff ff       	call   0x419f36
4295d9:	8b f0                	mov    %eax,%esi
4295db:	85 f6                	test   %esi,%esi
4295dd:	0f 88 4c 02 00 00    	js     0x42982f
4295e3:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4295e7:	74 2f                	je     0x429618
4295e9:	8d 45 ec             	lea    -0x14(%ebp),%eax
4295ec:	50                   	push   %eax
4295ed:	ff 75 1c             	push   0x1c(%ebp)
4295f0:	ff 75 10             	push   0x10(%ebp)
4295f3:	e8 0d 97 fd ff       	call   0x402d05
4295f8:	8b f0                	mov    %eax,%esi
4295fa:	85 f6                	test   %esi,%esi
4295fc:	0f 88 ad 01 00 00    	js     0x4297af
429602:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
429605:	33 c0                	xor    %eax,%eax
429607:	83 7d ec 02          	cmpl   $0x2,-0x14(%ebp)
42960b:	0f 95 c0             	setne  %al
42960e:	33 d2                	xor    %edx,%edx
429610:	89 45 24             	mov    %eax,0x24(%ebp)
429613:	e9 9f 00 00 00       	jmp    0x4296b7
429618:	8b 55 fc             	mov    -0x4(%ebp),%edx
42961b:	b9 24 b5 44 00       	mov    $0x44b524,%ecx
429620:	ff 75 10             	push   0x10(%ebp)
429623:	8b 75 f8             	mov    -0x8(%ebp),%esi
429626:	85 d2                	test   %edx,%edx
429628:	8b c1                	mov    %ecx,%eax
42962a:	0f 45 c2             	cmovne %edx,%eax
42962d:	85 f6                	test   %esi,%esi
42962f:	50                   	push   %eax
429630:	8b c1                	mov    %ecx,%eax
429632:	0f 45 c6             	cmovne %esi,%eax
429635:	33 c9                	xor    %ecx,%ecx
429637:	50                   	push   %eax
429638:	85 d2                	test   %edx,%edx
42963a:	b8 54 01 00 a0       	mov    $0xa0000154,%eax
42963f:	0f 95 c1             	setne  %cl
429642:	81 c1 55 01 00 a0    	add    $0xa0000155,%ecx
429648:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
42964c:	8d 50 03             	lea    0x3(%eax),%edx
42964f:	0f 45 c2             	cmovne %edx,%eax