4144f7:	33 c9                	xor    %ecx,%ecx
4144f9:	51                   	push   %ecx
4144fa:	51                   	push   %ecx
4144fb:	51                   	push   %ecx
4144fc:	51                   	push   %ecx
4144fd:	53                   	push   %ebx
4144fe:	56                   	push   %esi
4144ff:	8b f2                	mov    %edx,%esi
414501:	8b d8                	mov    %eax,%ebx
414503:	33 c0                	xor    %eax,%eax
414505:	55                   	push   %ebp
414506:	68 98 45 41 00       	push   $0x414598
41450b:	64 ff 30             	push   %fs:(%eax)
41450e:	64 89 20             	mov    %esp,%fs:(%eax)
414511:	66 81 3b 00 01       	cmpw   $0x100,(%ebx)
414516:	75 2d                	jne    0x414545
414518:	8d 45 fc             	lea    -0x4(%ebp),%eax
41451b:	8b d3                	mov    %ebx,%edx
41451d:	e8 96 14 ff ff       	call   0x4059b8
414522:	8d 45 fc             	lea    -0x4(%ebp),%eax
414525:	50                   	push   %eax
414526:	8d 45 f8             	lea    -0x8(%ebp),%eax
414529:	8b d6                	mov    %esi,%edx
41452b:	e8 88 14 ff ff       	call   0x4059b8
414530:	8b 55 f8             	mov    -0x8(%ebp),%edx
414533:	58                   	pop    %eax
414534:	e8 ef 05 ff ff       	call   0x404b28
414539:	8b 55 fc             	mov    -0x4(%ebp),%edx
41453c:	8b c3                	mov    %ebx,%eax
41453e:	e8 d1 14 ff ff       	call   0x405a14
414543:	eb 2b                	jmp    0x414570
414545:	8d 45 f4             	lea    -0xc(%ebp),%eax
414548:	8b d3                	mov    %ebx,%edx
41454a:	e8 71 14 ff ff       	call   0x4059c0
41454f:	8d 45 f4             	lea    -0xc(%ebp),%eax
414552:	50                   	push   %eax
414553:	8d 45 f0             	lea    -0x10(%ebp),%eax
414556:	8b d6                	mov    %esi,%edx
414558:	e8 63 14 ff ff       	call   0x4059c0
41455d:	8b 55 f0             	mov    -0x10(%ebp),%edx
414560:	58                   	pop    %eax
414561:	e8 b6 0b ff ff       	call   0x40511c
414566:	8b 55 f4             	mov    -0xc(%ebp),%edx
414569:	8b c3                	mov    %ebx,%eax
41456b:	e8 ac 14 ff ff       	call   0x405a1c
414570:	33 c0                	xor    %eax,%eax
414572:	5a                   	pop    %edx
414573:	59                   	pop    %ecx
414574:	59                   	pop    %ecx
414575:	64 89 10             	mov    %edx,%fs:(%eax)
414578:	68 9f 45 41 00       	push   $0x41459f
41457d:	8d 45 f0             	lea    -0x10(%ebp),%eax
414580:	ba 02 00 00 00       	mov    $0x2,%edx
414585:	e8 1a 0a ff ff       	call   0x404fa4
41458a:	8d 45 f8             	lea    -0x8(%ebp),%eax
41458d:	ba 02 00 00 00       	mov    $0x2,%edx
414592:	e8 f5 02 ff ff       	call   0x40488c
414597:	c3                   	ret
414598:	e9 6f fc fe ff       	jmp    0x40420c
41459d:	eb de                	jmp    0x41457d
41459f:	5e                   	pop    %esi
4145a0:	5b                   	pop    %ebx
4145a1:	8b e5                	mov    %ebp,%esp
4145a3:	5d                   	pop    %ebp
4145a4:	c3                   	ret
4145a5:	8d 40 00             	lea    0x0(%eax),%eax
4145a8:	55                   	push   %ebp
4145a9:	8b ec                	mov    %esp,%ebp
4145ab:	83 c4 d8             	add    $0xffffffd8,%esp
4145ae:	53                   	push   %ebx
4145af:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4145b2:	89 55 f8             	mov    %edx,-0x8(%ebp)
4145b5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4145b8:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4145bb:	66 8b 1b             	mov    (%ebx),%bx
4145be:	8b c3                	mov    %ebx,%eax
4145c0:	66 25 ff 0f          	and    $0xfff,%ax
4145c4:	66 3d 0f 01          	cmp    $0x10f,%ax
4145c8:	0f 83 1c 01 00 00    	jae    0x4146ea
4145ce:	8d 55 e8             	lea    -0x18(%ebp),%edx
4145d1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4145d4:	66 8b 00             	mov    (%eax),%ax
4145d7:	e8 c4 30 00 00       	call   0x4176a0
4145dc:	84 c0                	test   %al,%al
4145de:	75 0a                	jne    0x4145ea
4145e0:	e8 e3 b2 ff ff       	call   0x40f8c8
4145e5:	e9 03 03 00 00       	jmp    0x4148ed
4145ea:	8d 45 f2             	lea    -0xe(%ebp),%eax
4145ed:	50                   	push   %eax
4145ee:	8b 55 fc             	mov    -0x4(%ebp),%edx
4145f1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4145f4:	8b 45 e8             	mov    -0x18(%ebp),%eax
4145f7:	8b 18                	mov    (%eax),%ebx
4145f9:	ff 53 04             	call   *0x4(%ebx)
4145fc:	84 c0                	test   %al,%al
4145fe:	0f 84 82 00 00 00    	je     0x414686
414604:	8b 45 fc             	mov    -0x4(%ebp),%eax
414607:	66 8b 00             	mov    (%eax),%ax
41460a:	66 3b 45 f2          	cmp    -0xe(%ebp),%ax
41460e:	74 5f                	je     0x41466f
414610:	8d 45 d8             	lea    -0x28(%ebp),%eax
414613:	50                   	push   %eax
414614:	e8 ff aa ff ff       	call   0x40f118
414619:	33 c0                	xor    %eax,%eax
41461b:	55                   	push   %ebp
41461c:	68 68 46 41 00       	push   $0x414668
414621:	64 ff 30             	push   %fs:(%eax)
414624:	64 89 20             	mov    %esp,%fs:(%eax)
414627:	0f b7 4d f2          	movzwl -0xe(%ebp),%ecx
41462b:	8b 55 fc             	mov    -0x4(%ebp),%edx
41462e:	8d 45 d8             	lea    -0x28(%ebp),%eax
414631:	e8 66 c8 ff ff       	call   0x410e9c
414636:	8d 55 d8             	lea    -0x28(%ebp),%edx
414639:	8b 45 fc             	mov    -0x4(%ebp),%eax
41463c:	e8 eb bd ff ff       	call   0x41042c
414641:	8b 45 fc             	mov    -0x4(%ebp),%eax
414644:	66 8b 00             	mov    (%eax),%ax
414647:	66 3b 45 f2          	cmp    -0xe(%ebp),%ax
41464b:	74 05                	je     0x414652
41464d:	e8 86 b1 ff ff       	call   0x40f7d8
414652:	33 c0                	xor    %eax,%eax
414654:	5a                   	pop    %edx
414655:	59                   	pop    %ecx
414656:	59                   	pop    %ecx
414657:	64 89 10             	mov    %edx,%fs:(%eax)
41465a:	68 6f 46 41 00       	push   $0x41466f
41465f:	8d 45 d8             	lea    -0x28(%ebp),%eax
414662:	e8 81 b9 ff ff       	call   0x40ffe8
414667:	c3                   	ret
414668:	e9 9f fb fe ff       	jmp    0x40420c
41466d:	eb f0                	jmp    0x41465f
41466f:	8b 45 f4             	mov    -0xc(%ebp),%eax
414672:	50                   	push   %eax
414673:	8b 4d f8             	mov    -0x8(%ebp),%ecx
414676:	8b 55 fc             	mov    -0x4(%ebp),%edx
414679:	8b 45 e8             	mov    -0x18(%ebp),%eax
41467c:	8b 18                	mov    (%eax),%ebx
41467e:	ff 53 2c             	call   *0x2c(%ebx)
414681:	e9 67 02 00 00       	jmp    0x4148ed
414686:	8d 45 d8             	lea    -0x28(%ebp),%eax
414689:	50                   	push   %eax
41468a:	e8 89 aa ff ff       	call   0x40f118
41468f:	33 c0                	xor    %eax,%eax
414691:	55                   	push   %ebp
414692:	68 e3 46 41 00       	push   $0x4146e3
414697:	64 ff 30             	push   %fs:(%eax)
41469a:	64 89 20             	mov    %esp,%fs:(%eax)
41469d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4146a0:	0f b7 09             	movzwl (%ecx),%ecx
4146a3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4146a6:	8d 45 d8             	lea    -0x28(%ebp),%eax
4146a9:	e8 ee c7 ff ff       	call   0x410e9c
4146ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
4146b1:	66 8b 00             	mov    (%eax),%ax
4146b4:	66 3b 45 d8          	cmp    -0x28(%ebp),%ax
4146b8:	74 05                	je     0x4146bf
4146ba:	e8 19 b1 ff ff       	call   0x40f7d8
4146bf:	8d 55 d8             	lea    -0x28(%ebp),%edx
4146c2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4146c5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4146c8:	e8 ef 0a 00 00       	call   0x4151bc
4146cd:	33 c0                	xor    %eax,%eax
4146cf:	5a                   	pop    %edx
4146d0:	59                   	pop    %ecx
4146d1:	59                   	pop    %ecx
4146d2:	64 89 10             	mov    %edx,%fs:(%eax)
4146d5:	68 ed 48 41 00       	push   $0x4148ed
4146da:	8d 45 d8             	lea    -0x28(%ebp),%eax
4146dd:	e8 06 b9 ff ff       	call   0x40ffe8
4146e2:	c3                   	ret
4146e3:	e9 24 fb fe ff       	jmp    0x40420c
4146e8:	eb f0                	jmp    0x4146da
4146ea:	8d 55 ec             	lea    -0x14(%ebp),%edx
4146ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
4146f0:	8b c3                	mov    %ebx,%eax
4146f2:	e8 a9 2f 00 00       	call   0x4176a0
4146f7:	84 c0                	test   %al,%al
4146f9:	75 05                	jne    0x414700
4146fb:	e8 c8 b1 ff ff       	call   0x40f8c8
414700:	8d 45 f0             	lea    -0x10(%ebp),%eax
414703:	50                   	push   %eax
414704:	8b 55 f8             	mov    -0x8(%ebp),%edx
414707:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41470a:	8b 45 ec             	mov    -0x14(%ebp),%eax
41470d:	8b 18                	mov    (%eax),%ebx
41470f:	ff 53 08             	call   *0x8(%ebx)
414712:	84 c0                	test   %al,%al
414714:	0f 84 87 00 00 00    	je     0x4147a1
41471a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41471d:	66 8b 00             	mov    (%eax),%ax
414720:	66 3b 45 f0          	cmp    -0x10(%ebp),%ax
414724:	74 64                	je     0x41478a
414726:	8d 45 d8             	lea    -0x28(%ebp),%eax
414729:	50                   	push   %eax
41472a:	e8 e9 a9 ff ff       	call   0x40f118
41472f:	33 c0                	xor    %eax,%eax
414731:	55                   	push   %ebp
414732:	68 83 47 41 00       	push   $0x414783
414737:	64 ff 30             	push   %fs:(%eax)
41473a:	64 89 20             	mov    %esp,%fs:(%eax)
41473d:	0f b7 4d f0          	movzwl -0x10(%ebp),%ecx
414741:	8b 55 f8             	mov    -0x8(%ebp),%edx
414744:	8d 45 d8             	lea    -0x28(%ebp),%eax
414747:	e8 50 c7 ff ff       	call   0x410e9c
41474c:	66 8b 45 d8          	mov    -0x28(%ebp),%ax
414750:	66 3b 45 f0          	cmp    -0x10(%ebp),%ax
414754:	74 05                	je     0x41475b
414756:	e8 7d b0 ff ff       	call   0x40f7d8
41475b:	8b 45 f4             	mov    -0xc(%ebp),%eax
41475e:	50                   	push   %eax
41475f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
414762:	8b 55 fc             	mov    -0x4(%ebp),%edx
414765:	8b 45 ec             	mov    -0x14(%ebp),%eax
414768:	8b 18                	mov    (%eax),%ebx
41476a:	ff 53 2c             	call   *0x2c(%ebx)
41476d:	33 c0                	xor    %eax,%eax
41476f:	5a                   	pop    %edx
414770:	59                   	pop    %ecx
414771:	59                   	pop    %ecx
414772:	64 89 10             	mov    %edx,%fs:(%eax)
414775:	68 ed 48 41 00       	push   $0x4148ed
41477a:	8d 45 d8             	lea    -0x28(%ebp),%eax
41477d:	e8 66 b8 ff ff       	call   0x40ffe8
414782:	c3                   	ret
414783:	e9 84 fa fe ff       	jmp    0x40420c
414788:	eb f0                	jmp    0x41477a
41478a:	8b 45 f4             	mov    -0xc(%ebp),%eax
41478d:	50                   	push   %eax
41478e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
414791:	8b 55 fc             	mov    -0x4(%ebp),%edx
414794:	8b 45 ec             	mov    -0x14(%ebp),%eax
414797:	8b 18                	mov    (%eax),%ebx
414799:	ff 53 2c             	call   *0x2c(%ebx)
41479c:	e9 4c 01 00 00       	jmp    0x4148ed
4147a1:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4147a4:	66 8b 1b             	mov    (%ebx),%bx
4147a7:	8b c3                	mov    %ebx,%eax
4147a9:	66 25 ff 0f          	and    $0xfff,%ax
4147ad:	66 3d 0f 01          	cmp    $0x10f,%ax
4147b1:	0f 83 81 00 00 00    	jae    0x414838
4147b7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4147ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
4147bd:	66 3b 18             	cmp    (%eax),%bx
4147c0:	74 63                	je     0x414825
4147c2:	8d 45 d8             	lea    -0x28(%ebp),%eax
4147c5:	50                   	push   %eax
4147c6:	e8 4d a9 ff ff       	call   0x40f118
4147cb:	33 c0                	xor    %eax,%eax
4147cd:	55                   	push   %ebp
4147ce:	68 1e 48 41 00       	push   $0x41481e
4147d3:	64 ff 30             	push   %fs:(%eax)
4147d6:	64 89 20             	mov    %esp,%fs:(%eax)
4147d9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4147dc:	0f b7 09             	movzwl (%ecx),%ecx
4147df:	8b 55 fc             	mov    -0x4(%ebp),%edx
4147e2:	8d 45 d8             	lea    -0x28(%ebp),%eax
4147e5:	e8 b2 c6 ff ff       	call   0x410e9c
4147ea:	8d 55 d8             	lea    -0x28(%ebp),%edx
4147ed:	8b 45 fc             	mov    -0x4(%ebp),%eax
4147f0:	e8 37 bc ff ff       	call   0x41042c
4147f5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4147f8:	66 8b 00             	mov    (%eax),%ax
4147fb:	8b 55 f8             	mov    -0x8(%ebp),%edx
4147fe:	66 3b 02             	cmp    (%edx),%ax
414801:	74 05                	je     0x414808
414803:	e8 d0 af ff ff       	call   0x40f7d8
414808:	33 c0                	xor    %eax,%eax
41480a:	5a                   	pop    %edx
41480b:	59                   	pop    %ecx
41480c:	59                   	pop    %ecx
41480d:	64 89 10             	mov    %edx,%fs:(%eax)
414810:	68 25 48 41 00       	push   $0x414825
414815:	8d 45 d8             	lea    -0x28(%ebp),%eax
414818:	e8 cb b7 ff ff       	call   0x40ffe8
41481d:	c3                   	ret
41481e:	e9 e9 f9 fe ff       	jmp    0x40420c
414823:	eb f0                	jmp    0x414815
414825:	8b 55 f8             	mov    -0x8(%ebp),%edx
414828:	8b 45 fc             	mov    -0x4(%ebp),%eax
41482b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41482e:	e8 89 09 00 00       	call   0x4151bc
414833:	e9 b5 00 00 00       	jmp    0x4148ed
414838:	8d 55 e8             	lea    -0x18(%ebp),%edx
41483b:	8b 45 f8             	mov    -0x8(%ebp),%eax
41483e:	8b c3                	mov    %ebx,%eax
414840:	e8 5b 2e 00 00       	call   0x4176a0
414845:	84 c0                	test   %al,%al
414847:	75 0a                	jne    0x414853
414849:	e8 7a b0 ff ff       	call   0x40f8c8
41484e:	e9 9a 00 00 00       	jmp    0x4148ed
414853:	8d 45 f2             	lea    -0xe(%ebp),%eax
414856:	50                   	push   %eax
414857:	8b 55 fc             	mov    -0x4(%ebp),%edx
41485a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41485d:	8b 45 e8             	mov    -0x18(%ebp),%eax
414860:	8b 18                	mov    (%eax),%ebx
414862:	ff 53 04             	call   *0x4(%ebx)
414865:	84 c0                	test   %al,%al
414867:	74 7f                	je     0x4148e8
414869:	8b 45 fc             	mov    -0x4(%ebp),%eax
41486c:	66 8b 00             	mov    (%eax),%ax
41486f:	66 3b 45 f2          	cmp    -0xe(%ebp),%ax
414873:	74 5f                	je     0x4148d4
414875:	8d 45 d8             	lea    -0x28(%ebp),%eax
414878:	50                   	push   %eax
414879:	e8 9a a8 ff ff       	call   0x40f118
41487e:	33 c0                	xor    %eax,%eax
414880:	55                   	push   %ebp
414881:	68 cd 48 41 00       	push   $0x4148cd
414886:	64 ff 30             	push   %fs:(%eax)
414889:	64 89 20             	mov    %esp,%fs:(%eax)
41488c:	0f b7 4d f2          	movzwl -0xe(%ebp),%ecx
414890:	8b 55 fc             	mov    -0x4(%ebp),%edx
414893:	8d 45 d8             	lea    -0x28(%ebp),%eax
414896:	e8 01 c6 ff ff       	call   0x410e9c
41489b:	8d 55 d8             	lea    -0x28(%ebp),%edx
41489e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4148a1:	e8 86 bb ff ff       	call   0x41042c
4148a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4148a9:	66 8b 00             	mov    (%eax),%ax
4148ac:	66 3b 45 f2          	cmp    -0xe(%ebp),%ax
4148b0:	74 05                	je     0x4148b7
4148b2:	e8 21 af ff ff       	call   0x40f7d8
4148b7:	33 c0                	xor    %eax,%eax
4148b9:	5a                   	pop    %edx
4148ba:	59                   	pop    %ecx
4148bb:	59                   	pop    %ecx
4148bc:	64 89 10             	mov    %edx,%fs:(%eax)
4148bf:	68 d4 48 41 00       	push   $0x4148d4
4148c4:	8d 45 d8             	lea    -0x28(%ebp),%eax
4148c7:	e8 1c b7 ff ff       	call   0x40ffe8
4148cc:	c3                   	ret
4148cd:	e9 3a f9 fe ff       	jmp    0x40420c
4148d2:	eb f0                	jmp    0x4148c4
4148d4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4148d7:	50                   	push   %eax
4148d8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4148db:	8b 55 fc             	mov    -0x4(%ebp),%edx
4148de:	8b 45 e8             	mov    -0x18(%ebp),%eax
4148e1:	8b 18                	mov    (%eax),%ebx
4148e3:	ff 53 2c             	call   *0x2c(%ebx)
4148e6:	eb 05                	jmp    0x4148ed
4148e8:	e8 db af ff ff       	call   0x40f8c8
4148ed:	5b                   	pop    %ebx
4148ee:	8b e5                	mov    %ebp,%esp
4148f0:	5d                   	pop    %ebp
4148f1:	c3                   	ret
4148f2:	8b c0                	mov    %eax,%eax
4148f4:	55                   	push   %ebp
4148f5:	8b ec                	mov    %esp,%ebp