41532c:	53                   	push   %ebx
41532d:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
415333:	e8 e8 fe ff ff       	call   0x415220
415338:	83 c4 0c             	add    $0xc,%esp
41533b:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
415341:	8b ce                	mov    %esi,%ecx
415343:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
415349:	ff 15 a8 b1 41 00    	call   *0x41b1a8
41534f:	ff d6                	call   *%esi
415351:	83 c4 08             	add    $0x8,%esp
415354:	85 c0                	test   %eax,%eax
415356:	7e 15                	jle    0x41536d
415358:	57                   	push   %edi
415359:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
41535f:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
415365:	e8 b6 fe ff ff       	call   0x415220
41536a:	83 c4 0c             	add    $0xc,%esp
41536d:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
415373:	8b ce                	mov    %esi,%ecx
415375:	53                   	push   %ebx
415376:	ff 15 a8 b1 41 00    	call   *0x41b1a8
41537c:	ff d6                	call   *%esi
41537e:	83 c4 08             	add    $0x8,%esp
415381:	85 c0                	test   %eax,%eax
415383:	7e 10                	jle    0x415395
415385:	57                   	push   %edi
415386:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
41538c:	53                   	push   %ebx
41538d:	e8 8e fe ff ff       	call   0x415220
415392:	83 c4 0c             	add    $0xc,%esp
415395:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
41539b:	8b f8                	mov    %eax,%edi
41539d:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
4153a3:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
4153a9:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
4153af:	90                   	nop
4153b0:	3b de                	cmp    %esi,%ebx
4153b2:	76 37                	jbe    0x4153eb
4153b4:	03 f2                	add    %edx,%esi
4153b6:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
4153bc:	3b f3                	cmp    %ebx,%esi
4153be:	73 25                	jae    0x4153e5
4153c0:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
4153c6:	53                   	push   %ebx
4153c7:	56                   	push   %esi
4153c8:	ff 15 a8 b1 41 00    	call   *0x41b1a8
4153ce:	ff 95 00 ff ff ff    	call   *-0x100(%ebp)
4153d4:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
4153da:	83 c4 08             	add    $0x8,%esp
4153dd:	85 c0                	test   %eax,%eax
4153df:	7e d3                	jle    0x4153b4
4153e1:	3b de                	cmp    %esi,%ebx
4153e3:	77 3d                	ja     0x415422
4153e5:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
4153eb:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
4153f1:	03 f2                	add    %edx,%esi
4153f3:	3b f0                	cmp    %eax,%esi
4153f5:	77 1f                	ja     0x415416
4153f7:	53                   	push   %ebx
4153f8:	56                   	push   %esi
4153f9:	8b cf                	mov    %edi,%ecx
4153fb:	ff 15 a8 b1 41 00    	call   *0x41b1a8
415401:	ff d7                	call   *%edi
415403:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
415409:	83 c4 08             	add    $0x8,%esp
41540c:	85 c0                	test   %eax,%eax
41540e:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
415414:	7e db                	jle    0x4153f1
415416:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
41541c:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
415422:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
415428:	eb 06                	jmp    0x415430
41542a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
415430:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
415436:	2b fa                	sub    %edx,%edi
415438:	3b fb                	cmp    %ebx,%edi
41543a:	76 19                	jbe    0x415455
41543c:	53                   	push   %ebx
41543d:	57                   	push   %edi
41543e:	8b ce                	mov    %esi,%ecx
415440:	ff 15 a8 b1 41 00    	call   *0x41b1a8
415446:	ff d6                	call   *%esi
415448:	83 c4 08             	add    $0x8,%esp
41544b:	85 c0                	test   %eax,%eax
41544d:	7f e1                	jg     0x415430
41544f:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
415455:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
41545b:	89 bd ec fe ff ff    	mov    %edi,-0x114(%ebp)
415461:	3b fe                	cmp    %esi,%edi
415463:	72 5e                	jb     0x4154c3
415465:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
41546b:	89 bd e4 fe ff ff    	mov    %edi,-0x11c(%ebp)
415471:	3b f7                	cmp    %edi,%esi
415473:	74 33                	je     0x4154a8
415475:	8b de                	mov    %esi,%ebx
415477:	8b d7                	mov    %edi,%edx
415479:	8b b5 e8 fe ff ff    	mov    -0x118(%ebp),%esi
41547f:	2b df                	sub    %edi,%ebx
415481:	8a 02                	mov    (%edx),%al
415483:	8d 52 01             	lea    0x1(%edx),%edx
415486:	8a 4c 13 ff          	mov    -0x1(%ebx,%edx,1),%cl
41548a:	88 44 13 ff          	mov    %al,-0x1(%ebx,%edx,1)
41548e:	88 4a ff             	mov    %cl,-0x1(%edx)
415491:	83 ee 01             	sub    $0x1,%esi
415494:	75 eb                	jne    0x415481
415496:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
41549c:	8b 9d f0 fe ff ff    	mov    -0x110(%ebp),%ebx
4154a2:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
4154a8:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
4154ae:	3b df                	cmp    %edi,%ebx
4154b0:	0f 85 fa fe ff ff    	jne    0x4153b0
4154b6:	8b de                	mov    %esi,%ebx
4154b8:	89 9d f0 fe ff ff    	mov    %ebx,-0x110(%ebp)
4154be:	e9 ed fe ff ff       	jmp    0x4153b0
4154c3:	03 fa                	add    %edx,%edi
4154c5:	3b df                	cmp    %edi,%ebx
4154c7:	73 32                	jae    0x4154fb
4154c9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4154d0:	2b fa                	sub    %edx,%edi
4154d2:	3b fb                	cmp    %ebx,%edi
4154d4:	76 25                	jbe    0x4154fb
4154d6:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
4154dc:	53                   	push   %ebx
4154dd:	57                   	push   %edi
4154de:	ff 15 a8 b1 41 00    	call   *0x41b1a8
4154e4:	ff 95 00 ff ff ff    	call   *-0x100(%ebp)
4154ea:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
4154f0:	83 c4 08             	add    $0x8,%esp
4154f3:	85 c0                	test   %eax,%eax
4154f5:	74 d9                	je     0x4154d0
4154f7:	3b df                	cmp    %edi,%ebx
4154f9:	72 2f                	jb     0x41552a
4154fb:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
415501:	2b fa                	sub    %edx,%edi
415503:	3b bd fc fe ff ff    	cmp    -0x104(%ebp),%edi
415509:	76 19                	jbe    0x415524
41550b:	53                   	push   %ebx
41550c:	57                   	push   %edi
41550d:	8b ce                	mov    %esi,%ecx
41550f:	ff 15 a8 b1 41 00    	call   *0x41b1a8
415515:	ff d6                	call   *%esi
415517:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
41551d:	83 c4 08             	add    $0x8,%esp
415520:	85 c0                	test   %eax,%eax
415522:	74 dd                	je     0x415501
415524:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
41552a:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
415530:	8b c7                	mov    %edi,%eax
415532:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
415538:	8b ca                	mov    %edx,%ecx
41553a:	2b ce                	sub    %esi,%ecx
41553c:	2b c3                	sub    %ebx,%eax
41553e:	3b c1                	cmp    %ecx,%eax
415540:	7c 39                	jl     0x41557b
415542:	3b df                	cmp    %edi,%ebx
415544:	73 18                	jae    0x41555e
415546:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
41554c:	89 9c 85 0c ff ff ff 	mov    %ebx,-0xf4(%ebp,%eax,4)
415553:	89 7c 85 84          	mov    %edi,-0x7c(%ebp,%eax,4)
415557:	40                   	inc    %eax
415558:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
41555e:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
415564:	3b f2                	cmp    %edx,%esi
415566:	73 4c                	jae    0x4155b4
415568:	8b ce                	mov    %esi,%ecx
41556a:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
415570:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
415576:	e9 6a fd ff ff       	jmp    0x4152e5
41557b:	3b f2                	cmp    %edx,%esi
41557d:	73 18                	jae    0x415597
41557f:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
415585:	89 b4 85 0c ff ff ff 	mov    %esi,-0xf4(%ebp,%eax,4)
41558c:	89 54 85 84          	mov    %edx,-0x7c(%ebp,%eax,4)
415590:	40                   	inc    %eax
415591:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
415597:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
41559d:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
4155a3:	3b cf                	cmp    %edi,%ecx
4155a5:	73 15                	jae    0x4155bc
4155a7:	8b d7                	mov    %edi,%edx
4155a9:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
4155af:	e9 2b fd ff ff       	jmp    0x4152df
4155b4:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
4155ba:	eb 06                	jmp    0x4155c2
4155bc:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
4155c2:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
4155c8:	83 e8 01             	sub    $0x1,%eax
4155cb:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
4155d1:	78 16                	js     0x4155e9
4155d3:	8b 8c 85 0c ff ff ff 	mov    -0xf4(%ebp,%eax,4),%ecx
4155da:	8b 54 85 84          	mov    -0x7c(%ebp,%eax,4),%edx
4155de:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
4155e4:	e9 f6 fc ff ff       	jmp    0x4152df
4155e9:	5b                   	pop    %ebx
4155ea:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4155ed:	5f                   	pop    %edi
4155ee:	33 cd                	xor    %ebp,%ecx
4155f0:	5e                   	pop    %esi
4155f1:	e8 60 d9 fe ff       	call   0x402f56
4155f6:	8b e5                	mov    %ebp,%esp
4155f8:	5d                   	pop    %ebp
4155f9:	c3                   	ret
4155fa:	cc                   	int3
4155fb:	cc                   	int3
4155fc:	cc                   	int3
4155fd:	cc                   	int3
4155fe:	cc                   	int3
4155ff:	cc                   	int3
415600:	55                   	push   %ebp
415601:	8b ec                	mov    %esp,%ebp
415603:	56                   	push   %esi
415604:	33 c0                	xor    %eax,%eax
415606:	50                   	push   %eax
415607:	50                   	push   %eax
415608:	50                   	push   %eax
415609:	50                   	push   %eax
41560a:	50                   	push   %eax
41560b:	50                   	push   %eax
41560c:	50                   	push   %eax
41560d:	50                   	push   %eax
41560e:	8b 55 0c             	mov    0xc(%ebp),%edx
415611:	8d 49 00             	lea    0x0(%ecx),%ecx
415614:	8a 02                	mov    (%edx),%al
415616:	0a c0                	or     %al,%al
415618:	74 09                	je     0x415623
41561a:	83 c2 01             	add    $0x1,%edx
41561d:	0f ab 04 24          	bts    %eax,(%esp)
415621:	eb f1                	jmp    0x415614
415623:	8b 75 08             	mov    0x8(%ebp),%esi
415626:	8b ff                	mov    %edi,%edi
415628:	8a 06                	mov    (%esi),%al
41562a:	0a c0                	or     %al,%al
41562c:	74 0c                	je     0x41563a
41562e:	83 c6 01             	add    $0x1,%esi
415631:	0f a3 04 24          	bt     %eax,(%esp)
415635:	73 f1                	jae    0x415628
415637:	8d 46 ff             	lea    -0x1(%esi),%eax
41563a:	83 c4 20             	add    $0x20,%esp
41563d:	5e                   	pop    %esi
41563e:	c9                   	leave
41563f:	c3                   	ret
415640:	e8 be a2 ff ff       	call   0x40f903
415645:	33 c9                	xor    %ecx,%ecx
415647:	84 c0                	test   %al,%al
415649:	0f 94 c1             	sete   %cl
41564c:	8b c1                	mov    %ecx,%eax
41564e:	c3                   	ret
41564f:	8b ff                	mov    %edi,%edi
415651:	55                   	push   %ebp
415652:	8b ec                	mov    %esp,%ebp
415654:	51                   	push   %ecx
415655:	a1 98 41 42 00       	mov    0x424198,%eax
41565a:	56                   	push   %esi
41565b:	57                   	push   %edi
41565c:	85 c0                	test   %eax,%eax
41565e:	0f 85 a2 00 00 00    	jne    0x415706
415664:	8b 55 08             	mov    0x8(%ebp),%edx
415667:	85 d2                	test   %edx,%edx
415669:	75 1a                	jne    0x415685
41566b:	e8 97 26 ff ff       	call   0x407d07
415670:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415676:	e8 b3 25 ff ff       	call   0x407c2e
41567b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
415680:	e9 94 00 00 00       	jmp    0x415719
415685:	8b 4d 0c             	mov    0xc(%ebp),%ecx
415688:	85 c9                	test   %ecx,%ecx
41568a:	74 df                	je     0x41566b
41568c:	8b 7d 10             	mov    0x10(%ebp),%edi
41568f:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
415694:	3b fe                	cmp    %esi,%edi
415696:	76 14                	jbe    0x4156ac
415698:	e8 6a 26 ff ff       	call   0x407d07
41569d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4156a3:	e8 86 25 ff ff       	call   0x407c2e
4156a8:	8b c6                	mov    %esi,%eax
4156aa:	eb 6d                	jmp    0x415719
4156ac:	53                   	push   %ebx
4156ad:	6a 41                	push   $0x41
4156af:	5b                   	pop    %ebx
4156b0:	6a 5a                	push   $0x5a
4156b2:	5e                   	pop    %esi
4156b3:	2b d1                	sub    %ecx,%edx
4156b5:	89 75 fc             	mov    %esi,-0x4(%ebp)
4156b8:	eb 03                	jmp    0x4156bd
4156ba:	6a 5a                	push   $0x5a
4156bc:	5e                   	pop    %esi
4156bd:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
4156c1:	66 3b c3             	cmp    %bx,%ax
4156c4:	72 0d                	jb     0x4156d3
4156c6:	66 3b c6             	cmp    %si,%ax
4156c9:	77 08                	ja     0x4156d3
4156cb:	83 c0 20             	add    $0x20,%eax
4156ce:	0f b7 f0             	movzwl %ax,%esi
4156d1:	eb 02                	jmp    0x4156d5
4156d3:	8b f0                	mov    %eax,%esi
4156d5:	0f b7 01             	movzwl (%ecx),%eax
4156d8:	66 3b c3             	cmp    %bx,%ax
4156db:	72 0c                	jb     0x4156e9
4156dd:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4156e1:	77 06                	ja     0x4156e9
4156e3:	83 c0 20             	add    $0x20,%eax
4156e6:	0f b7 c0             	movzwl %ax,%eax
4156e9:	83 c1 02             	add    $0x2,%ecx
4156ec:	83 ef 01             	sub    $0x1,%edi
4156ef:	74 0a                	je     0x4156fb
4156f1:	66 85 f6             	test   %si,%si
4156f4:	74 05                	je     0x4156fb
4156f6:	66 3b f0             	cmp    %ax,%si
4156f9:	74 bf                	je     0x4156ba
4156fb:	0f b7 c8             	movzwl %ax,%ecx
4156fe:	0f b7 c6             	movzwl %si,%eax
415701:	2b c1                	sub    %ecx,%eax
415703:	5b                   	pop    %ebx
415704:	eb 13                	jmp    0x415719
415706:	6a 00                	push   $0x0
415708:	ff 75 10             	push   0x10(%ebp)
41570b:	ff 75 0c             	push   0xc(%ebp)
41570e:	ff 75 08             	push   0x8(%ebp)
415711:	e8 09 00 00 00       	call   0x41571f
415716:	83 c4 10             	add    $0x10,%esp
415719:	5f                   	pop    %edi
41571a:	5e                   	pop    %esi
41571b:	8b e5                	mov    %ebp,%esp
41571d:	5d                   	pop    %ebp
41571e:	c3                   	ret
41571f:	8b ff                	mov    %edi,%edi
415721:	55                   	push   %ebp
415722:	8b ec                	mov    %esp,%ebp
415724:	83 ec 10             	sub    $0x10,%esp
415727:	53                   	push   %ebx
415728:	8b 5d 10             	mov    0x10(%ebp),%ebx
41572b:	85 db                	test   %ebx,%ebx
41572d:	75 07                	jne    0x415736
41572f:	33 c0                	xor    %eax,%eax
415731:	e9 11 01 00 00       	jmp    0x415847
415736:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41573a:	75 1a                	jne    0x415756
41573c:	e8 c6 25 ff ff       	call   0x407d07
415741:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415747:	e8 e2 24 ff ff       	call   0x407c2e
41574c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
415751:	e9 f1 00 00 00       	jmp    0x415847
415756:	57                   	push   %edi
415757:	8b 7d 0c             	mov    0xc(%ebp),%edi
41575a:	85 ff                	test   %edi,%edi
41575c:	75 1a                	jne    0x415778
41575e:	e8 a4 25 ff ff       	call   0x407d07
415763:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
415769:	e8 c0 24 ff ff       	call   0x407c2e
41576e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax