4374c2:	2b c2                	sub    %edx,%eax
4374c4:	d1 f8                	sar    $1,%eax
4374c6:	a3 44 49 4a 00       	mov    %eax,0x4a4944
4374cb:	a1 d0 48 4a 00       	mov    0x4a48d0,%eax
4374d0:	99                   	cltd
4374d1:	2b c2                	sub    %edx,%eax
4374d3:	d1 f8                	sar    $1,%eax
4374d5:	a3 48 49 4a 00       	mov    %eax,0x4a4948
4374da:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4374de:	5f                   	pop    %edi
4374df:	5e                   	pop    %esi
4374e0:	5b                   	pop    %ebx
4374e1:	33 cc                	xor    %esp,%ecx
4374e3:	e8 18 8a 05 00       	call   0x48ff00
4374e8:	8b e5                	mov    %ebp,%esp
4374ea:	5d                   	pop    %ebp
4374eb:	c3                   	ret
4374ec:	8b ff                	mov    %edi,%edi
4374ee:	55                   	push   %ebp
4374ef:	8b ec                	mov    %esp,%ebp
4374f1:	83 e4 f8             	and    $0xfffffff8,%esp
4374f4:	83 ec 14             	sub    $0x14,%esp
4374f7:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
4374fc:	33 c4                	xor    %esp,%eax
4374fe:	89 44 24 10          	mov    %eax,0x10(%esp)
437502:	83 3d 44 65 4a 00 00 	cmpl   $0x0,0x4a6544
437509:	53                   	push   %ebx
43750a:	56                   	push   %esi
43750b:	57                   	push   %edi
43750c:	8b d9                	mov    %ecx,%ebx
43750e:	75 16                	jne    0x437526
437510:	83 3d 30 49 4a 00 00 	cmpl   $0x0,0x4a4930
437517:	75 0d                	jne    0x437526
437519:	6a 00                	push   $0x0
43751b:	ff 15 d4 7d 4a 00    	call   *0x4a7dd4
437521:	e9 c8 00 00 00       	jmp    0x4375ee
437526:	6a 00                	push   $0x0
437528:	6a 01                	push   $0x1
43752a:	e8 cc c8 ff ff       	call   0x433dfb
43752f:	be 34 49 4a 00       	mov    $0x4a4934,%esi
437534:	8d 7c 24 0c          	lea    0xc(%esp),%edi
437538:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437539:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43753a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43753b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43753c:	8b 35 cc 48 4a 00    	mov    0x4a48cc,%esi
437542:	8b c6                	mov    %esi,%eax
437544:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
437548:	99                   	cltd
437549:	83 e2 03             	and    $0x3,%edx
43754c:	03 c2                	add    %edx,%eax
43754e:	c1 f8 02             	sar    $0x2,%eax
437551:	03 c8                	add    %eax,%ecx
437553:	8d 46 01             	lea    0x1(%esi),%eax
437556:	8b 35 d0 48 4a 00    	mov    0x4a48d0,%esi
43755c:	99                   	cltd
43755d:	2b c2                	sub    %edx,%eax
43755f:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
437563:	d1 f8                	sar    $1,%eax
437565:	03 c1                	add    %ecx,%eax
437567:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43756b:	89 44 24 14          	mov    %eax,0x14(%esp)
43756f:	8b c6                	mov    %esi,%eax
437571:	99                   	cltd
437572:	83 e2 03             	and    $0x3,%edx
437575:	03 c2                	add    %edx,%eax
437577:	c1 f8 02             	sar    $0x2,%eax
43757a:	03 c8                	add    %eax,%ecx
43757c:	8d 46 01             	lea    0x1(%esi),%eax
43757f:	99                   	cltd
437580:	2b c2                	sub    %edx,%eax
437582:	89 4c 24 10          	mov    %ecx,0x10(%esp)
437586:	d1 f8                	sar    $1,%eax
437588:	03 c1                	add    %ecx,%eax
43758a:	89 44 24 18          	mov    %eax,0x18(%esp)
43758e:	e8 18 5d ff ff       	call   0x42d2ab
437593:	a1 cc 48 4a 00       	mov    0x4a48cc,%eax
437598:	8b 0d d0 48 4a 00    	mov    0x4a48d0,%ecx
43759e:	40                   	inc    %eax
43759f:	99                   	cltd
4375a0:	2b c2                	sub    %edx,%eax
4375a2:	8b f0                	mov    %eax,%esi
4375a4:	8d 41 01             	lea    0x1(%ecx),%eax
4375a7:	d1 fe                	sar    $1,%esi
4375a9:	99                   	cltd
4375aa:	2b c2                	sub    %edx,%eax
4375ac:	d1 f8                	sar    $1,%eax
4375ae:	50                   	push   %eax
4375af:	56                   	push   %esi
4375b0:	51                   	push   %ecx
4375b1:	b9 a0 48 4a 00       	mov    $0x4a48a0,%ecx
4375b6:	e8 9b 25 ff ff       	call   0x429b56
4375bb:	8d 44 24 0c          	lea    0xc(%esp),%eax
4375bf:	8b cb                	mov    %ebx,%ecx
4375c1:	50                   	push   %eax
4375c2:	e8 60 f1 ff ff       	call   0x436727
4375c7:	83 3d 44 65 4a 00 00 	cmpl   $0x0,0x4a6544
4375ce:	74 1e                	je     0x4375ee
4375d0:	a1 cc 48 4a 00       	mov    0x4a48cc,%eax
4375d5:	99                   	cltd
4375d6:	2b c2                	sub    %edx,%eax
4375d8:	d1 f8                	sar    $1,%eax
4375da:	a3 44 49 4a 00       	mov    %eax,0x4a4944
4375df:	a1 d0 48 4a 00       	mov    0x4a48d0,%eax
4375e4:	99                   	cltd
4375e5:	2b c2                	sub    %edx,%eax
4375e7:	d1 f8                	sar    $1,%eax
4375e9:	a3 48 49 4a 00       	mov    %eax,0x4a4948
4375ee:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4375f2:	5f                   	pop    %edi
4375f3:	5e                   	pop    %esi
4375f4:	5b                   	pop    %ebx
4375f5:	33 cc                	xor    %esp,%ecx
4375f7:	e8 04 89 05 00       	call   0x48ff00
4375fc:	8b e5                	mov    %ebp,%esp
4375fe:	5d                   	pop    %ebp
4375ff:	c3                   	ret
437600:	8b ff                	mov    %edi,%edi
437602:	55                   	push   %ebp
437603:	8b ec                	mov    %esp,%ebp
437605:	81 ec 2c 04 00 00    	sub    $0x42c,%esp
43760b:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
437610:	33 c5                	xor    %ebp,%eax
437612:	89 45 fc             	mov    %eax,-0x4(%ebp)
437615:	53                   	push   %ebx
437616:	8b 5d 0c             	mov    0xc(%ebp),%ebx
437619:	56                   	push   %esi
43761a:	8b 75 08             	mov    0x8(%ebp),%esi
43761d:	57                   	push   %edi
43761e:	ff 71 20             	push   0x20(%ecx)
437621:	89 b5 ec fb ff ff    	mov    %esi,-0x414(%ebp)
437627:	89 9d d8 fb ff ff    	mov    %ebx,-0x428(%ebp)
43762d:	ff 15 2c 7d 4a 00    	call   *0x4a7d2c
437633:	50                   	push   %eax
437634:	ff 15 ec 76 4a 00    	call   *0x4a76ec
43763a:	8b 40 40             	mov    0x40(%eax),%eax
43763d:	85 c0                	test   %eax,%eax
43763f:	0f 84 c0 02 00 00    	je     0x437905
437645:	85 f6                	test   %esi,%esi
437647:	0f 84 b8 02 00 00    	je     0x437905
43764d:	85 db                	test   %ebx,%ebx
43764f:	0f 84 b0 02 00 00    	je     0x437905
437655:	8b 80 ec 00 00 00    	mov    0xec(%eax),%eax
43765b:	8b 78 04             	mov    0x4(%eax),%edi
43765e:	89 bd dc fb ff ff    	mov    %edi,-0x424(%ebp)
437664:	85 ff                	test   %edi,%edi
437666:	0f 84 99 02 00 00    	je     0x437905
43766c:	8b 47 38             	mov    0x38(%edi),%eax
43766f:	0f af 47 34          	imul   0x34(%edi),%eax
437673:	c7 85 e4 fb ff ff 01 	movl   $0x1,-0x41c(%ebp)
43767a:	00 00 00
43767d:	83 f8 08             	cmp    $0x8,%eax
437680:	0f 85 7f 02 00 00    	jne    0x437905
437686:	8b 35 60 58 4a 00    	mov    0x4a5860,%esi
43768c:	89 b5 e0 fb ff ff    	mov    %esi,-0x420(%ebp)
437692:	85 f6                	test   %esi,%esi
437694:	0f 84 70 01 00 00    	je     0x43780a
43769a:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
4376a0:	8b d3                	mov    %ebx,%edx
4376a2:	50                   	push   %eax
4376a3:	8b ce                	mov    %esi,%ecx
4376a5:	e8 ef 74 ff ff       	call   0x42eb99
4376aa:	8b d8                	mov    %eax,%ebx
4376ac:	85 db                	test   %ebx,%ebx
4376ae:	74 2b                	je     0x4376db
4376b0:	83 bd e8 fb ff ff 00 	cmpl   $0x0,-0x418(%ebp)
4376b7:	75 2b                	jne    0x4376e4
4376b9:	8b 0b                	mov    (%ebx),%ecx
4376bb:	83 a5 e4 fb ff ff 00 	andl   $0x0,-0x41c(%ebp)
4376c2:	6a 01                	push   $0x1
4376c4:	8b 71 04             	mov    0x4(%ecx),%esi
4376c7:	8b ce                	mov    %esi,%ecx
4376c9:	ff 15 2c 81 4a 00    	call   *0x4a812c
4376cf:	8b cb                	mov    %ebx,%ecx
4376d1:	ff d6                	call   *%esi
4376d3:	8b 9d e0 fb ff ff    	mov    -0x420(%ebp),%ebx
4376d9:	eb 09                	jmp    0x4376e4
4376db:	83 a5 e4 fb ff ff 00 	andl   $0x0,-0x41c(%ebp)
4376e2:	8b de                	mov    %esi,%ebx
4376e4:	8b b5 ec fb ff ff    	mov    -0x414(%ebp),%esi
4376ea:	33 d2                	xor    %edx,%edx
4376ec:	42                   	inc    %edx
4376ed:	8b ce                	mov    %esi,%ecx
4376ef:	e8 41 62 ff ff       	call   0x42d935
4376f4:	0f b7 c0             	movzwl %ax,%eax
4376f7:	89 85 e8 fb ff ff    	mov    %eax,-0x418(%ebp)
4376fd:	8b 06                	mov    (%esi),%eax
4376ff:	89 85 e0 fb ff ff    	mov    %eax,-0x420(%ebp)
437705:	b8 00 03 00 00       	mov    $0x300,%eax
43770a:	66 89 85 f0 fb ff ff 	mov    %ax,-0x410(%ebp)
437711:	8d 85 f4 fb ff ff    	lea    -0x40c(%ebp),%eax
437717:	50                   	push   %eax
437718:	68 00 01 00 00       	push   $0x100
43771d:	6a 00                	push   $0x0
43771f:	ff 73 04             	push   0x4(%ebx)
437722:	ff 15 54 71 4a 00    	call   *0x4a7154
437728:	8d 8d f4 fb ff ff    	lea    -0x40c(%ebp),%ecx
43772e:	0f b7 c0             	movzwl %ax,%eax
437731:	51                   	push   %ecx
437732:	50                   	push   %eax
437733:	6a 00                	push   $0x0
437735:	ff 73 04             	push   0x4(%ebx)
437738:	66 89 85 f2 fb ff ff 	mov    %ax,-0x40e(%ebp)
43773f:	ff 15 54 71 4a 00    	call   *0x4a7154
437745:	83 bd e8 fb ff ff 00 	cmpl   $0x0,-0x418(%ebp)
43774c:	0f 86 ab 00 00 00    	jbe    0x4377fd
437752:	8b 95 ec fb ff ff    	mov    -0x414(%ebp),%edx
437758:	83 c6 0d             	add    $0xd,%esi
43775b:	8b bd e0 fb ff ff    	mov    -0x420(%ebp),%edi
437761:	83 c2 29             	add    $0x29,%edx
437764:	89 95 ec fb ff ff    	mov    %edx,-0x414(%ebp)
43776a:	83 ff 28             	cmp    $0x28,%edi
43776d:	72 18                	jb     0x437787
43776f:	0f b6 4a ff          	movzbl -0x1(%edx),%ecx
437773:	0f b6 02             	movzbl (%edx),%eax
437776:	81 c9 00 02 00 00    	or     $0x200,%ecx
43777c:	c1 e1 08             	shl    $0x8,%ecx
43777f:	0b c8                	or     %eax,%ecx
437781:	0f b6 42 01          	movzbl 0x1(%edx),%eax
437785:	eb 16                	jmp    0x43779d
437787:	0f b6 4e ff          	movzbl -0x1(%esi),%ecx
43778b:	0f b6 06             	movzbl (%esi),%eax
43778e:	81 c9 00 02 00 00    	or     $0x200,%ecx
437794:	c1 e1 08             	shl    $0x8,%ecx
437797:	0b c8                	or     %eax,%ecx
437799:	0f b6 46 01          	movzbl 0x1(%esi),%eax
43779d:	c1 e1 08             	shl    $0x8,%ecx
4377a0:	0b c8                	or     %eax,%ecx
4377a2:	51                   	push   %ecx
4377a3:	ff 73 04             	push   0x4(%ebx)
4377a6:	ff 15 50 71 4a 00    	call   *0x4a7150
4377ac:	8b 95 ec fb ff ff    	mov    -0x414(%ebp),%edx
4377b2:	8a 8c 85 f4 fb ff ff 	mov    -0x40c(%ebp,%eax,4),%cl
4377b9:	8a ac 85 f5 fb ff ff 	mov    -0x40b(%ebp,%eax,4),%ch
4377c0:	8a 84 85 f6 fb ff ff 	mov    -0x40a(%ebp,%eax,4),%al
4377c7:	83 ff 28             	cmp    $0x28,%edi
4377ca:	72 0a                	jb     0x4377d6
4377cc:	88 4a 01             	mov    %cl,0x1(%edx)
4377cf:	88 2a                	mov    %ch,(%edx)
4377d1:	88 42 ff             	mov    %al,-0x1(%edx)
4377d4:	eb 08                	jmp    0x4377de
4377d6:	88 4e 01             	mov    %cl,0x1(%esi)
4377d9:	88 2e                	mov    %ch,(%esi)
4377db:	88 46 ff             	mov    %al,-0x1(%esi)
4377de:	83 c2 04             	add    $0x4,%edx
4377e1:	83 c6 03             	add    $0x3,%esi
4377e4:	83 ad e8 fb ff ff 01 	subl   $0x1,-0x418(%ebp)
4377eb:	89 95 ec fb ff ff    	mov    %edx,-0x414(%ebp)
4377f1:	0f 85 73 ff ff ff    	jne    0x43776a
4377f7:	8b bd dc fb ff ff    	mov    -0x424(%ebp),%edi
4377fd:	83 bd e4 fb ff ff 00 	cmpl   $0x0,-0x41c(%ebp)
437804:	0f 84 de 00 00 00    	je     0x4378e8
43780a:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
43780e:	74 12                	je     0x437822
437810:	6a 00                	push   $0x0
437812:	ff 77 28             	push   0x28(%edi)
437815:	ff 77 0c             	push   0xc(%edi)
437818:	ff 15 6c 71 4a 00    	call   *0x4a716c
43781e:	83 67 28 00          	andl   $0x0,0x28(%edi)
437822:	8b 47 24             	mov    0x24(%edi),%eax
437825:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
43782b:	85 c0                	test   %eax,%eax
43782d:	74 17                	je     0x437846
43782f:	8b 00                	mov    (%eax),%eax
437831:	6a 01                	push   $0x1
437833:	8b 70 04             	mov    0x4(%eax),%esi
437836:	8b ce                	mov    %esi,%ecx
437838:	ff 15 2c 81 4a 00    	call   *0x4a812c
43783e:	8b 8d dc fb ff ff    	mov    -0x424(%ebp),%ecx
437844:	ff d6                	call   *%esi
437846:	89 5f 24             	mov    %ebx,0x24(%edi)
437849:	85 db                	test   %ebx,%ebx
43784b:	75 04                	jne    0x437851
43784d:	33 c0                	xor    %eax,%eax
43784f:	eb 03                	jmp    0x437854
437851:	8b 43 04             	mov    0x4(%ebx),%eax
437854:	6a 00                	push   $0x0
437856:	50                   	push   %eax
437857:	ff 77 0c             	push   0xc(%edi)
43785a:	ff 15 6c 71 4a 00    	call   *0x4a716c
437860:	ff 77 0c             	push   0xc(%edi)
437863:	89 47 28             	mov    %eax,0x28(%edi)
437866:	ff 15 70 71 4a 00    	call   *0x4a7170
43786c:	33 d2                	xor    %edx,%edx
43786e:	8b cf                	mov    %edi,%ecx
437870:	e8 67 55 ff ff       	call   0x42cddc
437875:	8b 47 24             	mov    0x24(%edi),%eax
437878:	8d 8d f0 fb ff ff    	lea    -0x410(%ebp),%ecx
43787e:	51                   	push   %ecx
43787f:	bb 00 01 00 00       	mov    $0x100,%ebx
437884:	a3 60 58 4a 00       	mov    %eax,0x4a5860
437889:	53                   	push   %ebx
43788a:	6a 00                	push   $0x0
43788c:	ff 70 04             	push   0x4(%eax)
43788f:	ff 15 54 71 4a 00    	call   *0x4a7154
437895:	8b f0                	mov    %eax,%esi
437897:	33 d2                	xor    %edx,%edx
437899:	85 f6                	test   %esi,%esi
43789b:	7e 32                	jle    0x4378cf
43789d:	3b d3                	cmp    %ebx,%edx
43789f:	7d 2e                	jge    0x4378cf
4378a1:	0f b6 84 95 f0 fb ff 	movzbl -0x410(%ebp,%edx,4),%eax
4378a8:	ff
4378a9:	0f b6 8c 95 f1 fb ff 	movzbl -0x40f(%ebp,%edx,4),%ecx
4378b0:	ff
4378b1:	c1 e0 08             	shl    $0x8,%eax
4378b4:	0b c8                	or     %eax,%ecx
4378b6:	0f b6 84 95 f2 fb ff 	movzbl -0x40e(%ebp,%edx,4),%eax
4378bd:	ff
4378be:	c1 e1 08             	shl    $0x8,%ecx
4378c1:	0b c8                	or     %eax,%ecx
4378c3:	89 8c 95 f0 fb ff ff 	mov    %ecx,-0x410(%ebp,%edx,4)
4378ca:	42                   	inc    %edx
4378cb:	3b d6                	cmp    %esi,%edx
4378cd:	7c ce                	jl     0x43789d
4378cf:	3b f3                	cmp    %ebx,%esi
4378d1:	72 02                	jb     0x4378d5
4378d3:	8b f3                	mov    %ebx,%esi
4378d5:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
4378db:	50                   	push   %eax
4378dc:	56                   	push   %esi
4378dd:	6a 00                	push   $0x0
4378df:	ff 77 0c             	push   0xc(%edi)
4378e2:	ff 15 28 71 4a 00    	call   *0x4a7128
4378e8:	8b bd d8 fb ff ff    	mov    -0x428(%ebp),%edi
4378ee:	6a 01                	push   $0x1
4378f0:	8b 07                	mov    (%edi),%eax
4378f2:	8b 70 04             	mov    0x4(%eax),%esi
4378f5:	8b ce                	mov    %esi,%ecx
4378f7:	ff 15 2c 81 4a 00    	call   *0x4a812c
4378fd:	8b cf                	mov    %edi,%ecx
4378ff:	ff d6                	call   *%esi
437901:	33 c0                	xor    %eax,%eax
437903:	eb 02                	jmp    0x437907
437905:	8b c3                	mov    %ebx,%eax
437907:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43790a:	5f                   	pop    %edi
43790b:	5e                   	pop    %esi
43790c:	33 cd                	xor    %ebp,%ecx
43790e:	5b                   	pop    %ebx
43790f:	e8 ec 85 05 00       	call   0x48ff00
437914:	c9                   	leave
437915:	c2 08 00             	ret    $0x8
437918:	8b ff                	mov    %edi,%edi
43791a:	55                   	push   %ebp
43791b:	8b ec                	mov    %esp,%ebp
43791d:	83 e4 f8             	and    $0xfffffff8,%esp
437920:	83 ec 14             	sub    $0x14,%esp
437923:	53                   	push   %ebx
437924:	8b d9                	mov    %ecx,%ebx