437586:	6a 04                	push   $0x4
437588:	58                   	pop    %eax
437589:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
43758f:	50                   	push   %eax
437590:	83 a5 94 fa ff ff 00 	andl   $0x0,-0x56c(%ebp)
437597:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
43759d:	50                   	push   %eax
43759e:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
4375a4:	89 9d 5c fc ff ff    	mov    %ebx,-0x3a4(%ebp)
4375aa:	56                   	push   %esi
4375ab:	50                   	push   %eax
4375ac:	89 9d 8c fa ff ff    	mov    %ebx,-0x574(%ebp)
4375b2:	e8 3e ee fe ff       	call   0x4263f5
4375b7:	83 c4 10             	add    $0x10,%esp
4375ba:	e9 ce 03 00 00       	jmp    0x43798d
4375bf:	8d 8a ce fb ff ff    	lea    -0x432(%edx),%ecx
4375c5:	8b f7                	mov    %edi,%esi
4375c7:	8b c1                	mov    %ecx,%eax
4375c9:	33 d2                	xor    %edx,%edx
4375cb:	83 e1 1f             	and    $0x1f,%ecx
4375ce:	c1 e8 05             	shr    $0x5,%eax
4375d1:	2b f1                	sub    %ecx,%esi
4375d3:	89 85 9c f8 ff ff    	mov    %eax,-0x764(%ebp)
4375d9:	89 8d a8 f8 ff ff    	mov    %ecx,-0x758(%ebp)
4375df:	8b c3                	mov    %ebx,%eax
4375e1:	8b ce                	mov    %esi,%ecx
4375e3:	89 b5 ac f8 ff ff    	mov    %esi,-0x754(%ebp)
4375e9:	e8 12 4d 00 00       	call   0x43c300
4375ee:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
4375f4:	48                   	dec    %eax
4375f5:	83 a5 88 f8 ff ff 00 	andl   $0x0,-0x778(%ebp)
4375fc:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
437602:	f7 d0                	not    %eax
437604:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
43760a:	8b 8c 95 2c fe ff ff 	mov    -0x1d4(%ebp,%edx,4),%ecx
437611:	0f bd c1             	bsr    %ecx,%eax
437614:	74 09                	je     0x43761f
437616:	40                   	inc    %eax
437617:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
43761d:	eb 07                	jmp    0x437626
43761f:	83 a5 b0 f8 ff ff 00 	andl   $0x0,-0x750(%ebp)
437626:	8b 8d 9c f8 ff ff    	mov    -0x764(%ebp),%ecx
43762c:	be cc 01 00 00       	mov    $0x1cc,%esi
437631:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
437634:	83 f8 73             	cmp    $0x73,%eax
437637:	76 2b                	jbe    0x437664
437639:	33 c0                	xor    %eax,%eax
43763b:	50                   	push   %eax
43763c:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
437642:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
437648:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
43764e:	50                   	push   %eax
43764f:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
437655:	56                   	push   %esi
437656:	50                   	push   %eax
437657:	e8 99 ed fe ff       	call   0x4263f5
43765c:	83 c4 10             	add    $0x10,%esp
43765f:	e9 e2 00 00 00       	jmp    0x437746
437664:	2b bd b0 f8 ff ff    	sub    -0x750(%ebp),%edi
43766a:	3b bd a8 f8 ff ff    	cmp    -0x758(%ebp),%edi
437670:	1b c0                	sbb    %eax,%eax
437672:	f7 d8                	neg    %eax
437674:	03 c2                	add    %edx,%eax
437676:	03 c1                	add    %ecx,%eax
437678:	89 85 b8 f8 ff ff    	mov    %eax,-0x748(%ebp)
43767e:	83 f8 73             	cmp    $0x73,%eax
437681:	77 b6                	ja     0x437639
437683:	8d 79 ff             	lea    -0x1(%ecx),%edi
437686:	48                   	dec    %eax
437687:	89 bd 80 f8 ff ff    	mov    %edi,-0x780(%ebp)
43768d:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
437693:	3b c7                	cmp    %edi,%eax
437695:	0f 84 91 00 00 00    	je     0x43772c
43769b:	8b f8                	mov    %eax,%edi
43769d:	2b f9                	sub    %ecx,%edi
43769f:	8d 8d 2c fe ff ff    	lea    -0x1d4(%ebp),%ecx
4376a5:	8d 0c b9             	lea    (%ecx,%edi,4),%ecx
4376a8:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
4376ae:	3b fa                	cmp    %edx,%edi
4376b0:	73 05                	jae    0x4376b7
4376b2:	8b 41 04             	mov    0x4(%ecx),%eax
4376b5:	eb 02                	jmp    0x4376b9
4376b7:	33 c0                	xor    %eax,%eax
4376b9:	89 85 b0 f8 ff ff    	mov    %eax,-0x750(%ebp)
4376bf:	8d 47 ff             	lea    -0x1(%edi),%eax
4376c2:	3b c2                	cmp    %edx,%eax
4376c4:	73 04                	jae    0x4376ca
4376c6:	8b 01                	mov    (%ecx),%eax
4376c8:	eb 02                	jmp    0x4376cc
4376ca:	33 c0                	xor    %eax,%eax
4376cc:	23 85 90 f8 ff ff    	and    -0x770(%ebp),%eax
4376d2:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
4376d8:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
4376de:	23 95 94 f8 ff ff    	and    -0x76c(%ebp),%edx
4376e4:	d3 e8                	shr    %cl,%eax
4376e6:	8b 8d a8 f8 ff ff    	mov    -0x758(%ebp),%ecx
4376ec:	d3 e2                	shl    %cl,%edx
4376ee:	8b 8d b4 f8 ff ff    	mov    -0x74c(%ebp),%ecx
4376f4:	0b c2                	or     %edx,%eax
4376f6:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
4376fd:	8b c1                	mov    %ecx,%eax
4376ff:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
437705:	48                   	dec    %eax
437706:	83 e9 04             	sub    $0x4,%ecx
437709:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
43770f:	4f                   	dec    %edi
437710:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
437716:	3b 85 80 f8 ff ff    	cmp    -0x780(%ebp),%eax
43771c:	74 08                	je     0x437726
43771e:	8b 95 2c fe ff ff    	mov    -0x1d4(%ebp),%edx
437724:	eb 88                	jmp    0x4376ae
437726:	8b 8d 9c f8 ff ff    	mov    -0x764(%ebp),%ecx
43772c:	85 c9                	test   %ecx,%ecx
43772e:	74 0a                	je     0x43773a
437730:	33 c0                	xor    %eax,%eax
437732:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
437738:	f3 ab                	rep stos %eax,%es:(%edi)
43773a:	8b 85 b8 f8 ff ff    	mov    -0x748(%ebp),%eax
437740:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
437746:	c7 85 90 fa ff ff 02 	movl   $0x2,-0x570(%ebp)
43774d:	00 00 00
437750:	6a 04                	push   $0x4
437752:	e9 39 fe ff ff       	jmp    0x437590
437757:	83 fa 35             	cmp    $0x35,%edx
43775a:	0f 84 16 01 00 00    	je     0x437876
437760:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
437767:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
43776e:	00 10 00
437771:	c7 85 8c fa ff ff 02 	movl   $0x2,-0x574(%ebp)
437778:	00 00 00
43777b:	85 f6                	test   %esi,%esi
43777d:	0f 84 f3 00 00 00    	je     0x437876
437783:	33 d2                	xor    %edx,%edx
437785:	8b 84 15 90 fa ff ff 	mov    -0x570(%ebp,%edx,1),%eax
43778c:	3b 84 15 30 fe ff ff 	cmp    -0x1d0(%ebp,%edx,1),%eax
437793:	0f 85 dd 00 00 00    	jne    0x437876
437799:	83 c2 04             	add    $0x4,%edx
43779c:	83 fa 08             	cmp    $0x8,%edx
43779f:	75 e4                	jne    0x437785
4377a1:	33 d2                	xor    %edx,%edx
4377a3:	0f bd c6             	bsr    %esi,%eax
4377a6:	89 95 88 f8 ff ff    	mov    %edx,-0x778(%ebp)
4377ac:	74 03                	je     0x4377b1
4377ae:	40                   	inc    %eax
4377af:	eb 02                	jmp    0x4377b3
4377b1:	8b c2                	mov    %edx,%eax
4377b3:	2b f8                	sub    %eax,%edi
4377b5:	83 ff 02             	cmp    $0x2,%edi
4377b8:	1b f6                	sbb    %esi,%esi
4377ba:	f7 de                	neg    %esi
4377bc:	03 f1                	add    %ecx,%esi
4377be:	83 fe 73             	cmp    $0x73,%esi
4377c1:	76 2a                	jbe    0x4377ed
4377c3:	52                   	push   %edx
4377c4:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4377ca:	89 95 8c fa ff ff    	mov    %edx,-0x574(%ebp)
4377d0:	50                   	push   %eax
4377d1:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4377d7:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
4377dd:	68 cc 01 00 00       	push   $0x1cc
4377e2:	50                   	push   %eax
4377e3:	e8 0d ec fe ff       	call   0x4263f5
4377e8:	83 c4 10             	add    $0x10,%esp
4377eb:	eb 4f                	jmp    0x43783c
4377ed:	8d 56 ff             	lea    -0x1(%esi),%edx
4377f0:	83 fa ff             	cmp    $0xffffffff,%edx
4377f3:	74 41                	je     0x437836
4377f5:	8d 5a ff             	lea    -0x1(%edx),%ebx
4377f8:	8b fa                	mov    %edx,%edi
4377fa:	3b d1                	cmp    %ecx,%edx
4377fc:	73 09                	jae    0x437807
4377fe:	8b 84 bd 30 fe ff ff 	mov    -0x1d0(%ebp,%edi,4),%eax
437805:	eb 02                	jmp    0x437809
437807:	33 c0                	xor    %eax,%eax
437809:	3b d9                	cmp    %ecx,%ebx
43780b:	73 09                	jae    0x437816
43780d:	8b 8c bd 2c fe ff ff 	mov    -0x1d4(%ebp,%edi,4),%ecx
437814:	eb 02                	jmp    0x437818
437816:	33 c9                	xor    %ecx,%ecx
437818:	c1 e9 1e             	shr    $0x1e,%ecx
43781b:	c1 e0 02             	shl    $0x2,%eax
43781e:	0b c8                	or     %eax,%ecx
437820:	4a                   	dec    %edx
437821:	4b                   	dec    %ebx
437822:	89 8c bd 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%edi,4)
437829:	83 fa ff             	cmp    $0xffffffff,%edx
43782c:	74 08                	je     0x437836
43782e:	8b 8d 2c fe ff ff    	mov    -0x1d4(%ebp),%ecx
437834:	eb c2                	jmp    0x4377f8
437836:	89 b5 2c fe ff ff    	mov    %esi,-0x1d4(%ebp)
43783c:	bb 35 04 00 00       	mov    $0x435,%ebx
437841:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
437847:	2b 9d b4 f8 ff ff    	sub    -0x74c(%ebp),%ebx
43784d:	8b fb                	mov    %ebx,%edi
43784f:	c1 ef 05             	shr    $0x5,%edi
437852:	8b f7                	mov    %edi,%esi
437854:	c1 e6 02             	shl    $0x2,%esi
437857:	56                   	push   %esi
437858:	6a 00                	push   $0x0
43785a:	50                   	push   %eax
43785b:	e8 80 61 fe ff       	call   0x41d9e0
437860:	83 e3 1f             	and    $0x1f,%ebx
437863:	33 c0                	xor    %eax,%eax
437865:	40                   	inc    %eax
437866:	8b cb                	mov    %ebx,%ecx
437868:	d3 e0                	shl    %cl,%eax
43786a:	89 84 35 90 fa ff ff 	mov    %eax,-0x570(%ebp,%esi,1)
437871:	e9 e5 00 00 00       	jmp    0x43795b
437876:	33 c0                	xor    %eax,%eax
437878:	85 f6                	test   %esi,%esi
43787a:	0f 95 c0             	setne  %al
43787d:	83 a5 88 f8 ff ff 00 	andl   $0x0,-0x778(%ebp)
437884:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
43788b:	8b 84 05 2c fe ff ff 	mov    -0x1d4(%ebp,%eax,1),%eax
437892:	0f bd c0             	bsr    %eax,%eax
437895:	74 03                	je     0x43789a
437897:	40                   	inc    %eax
437898:	eb 02                	jmp    0x43789c
43789a:	33 c0                	xor    %eax,%eax
43789c:	2b f8                	sub    %eax,%edi
43789e:	3b fb                	cmp    %ebx,%edi
4378a0:	1b f6                	sbb    %esi,%esi
4378a2:	f7 de                	neg    %esi
4378a4:	03 f1                	add    %ecx,%esi
4378a6:	83 fe 73             	cmp    $0x73,%esi
4378a9:	76 2d                	jbe    0x4378d8
4378ab:	83 a5 8c fa ff ff 00 	andl   $0x0,-0x574(%ebp)
4378b2:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4378b8:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
4378bf:	6a 00                	push   $0x0
4378c1:	50                   	push   %eax
4378c2:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4378c8:	68 cc 01 00 00       	push   $0x1cc
4378cd:	50                   	push   %eax
4378ce:	e8 22 eb fe ff       	call   0x4263f5
4378d3:	83 c4 10             	add    $0x10,%esp
4378d6:	eb 4e                	jmp    0x437926
4378d8:	8d 56 ff             	lea    -0x1(%esi),%edx
4378db:	83 fa ff             	cmp    $0xffffffff,%edx
4378de:	74 40                	je     0x437920
4378e0:	8d 5a ff             	lea    -0x1(%edx),%ebx
4378e3:	8b fa                	mov    %edx,%edi
4378e5:	3b d1                	cmp    %ecx,%edx
4378e7:	73 09                	jae    0x4378f2
4378e9:	8b 84 bd 30 fe ff ff 	mov    -0x1d0(%ebp,%edi,4),%eax
4378f0:	eb 02                	jmp    0x4378f4
4378f2:	33 c0                	xor    %eax,%eax
4378f4:	3b d9                	cmp    %ecx,%ebx
4378f6:	73 09                	jae    0x437901
4378f8:	8b 8c bd 2c fe ff ff 	mov    -0x1d4(%ebp,%edi,4),%ecx
4378ff:	eb 02                	jmp    0x437903
437901:	33 c9                	xor    %ecx,%ecx
437903:	c1 e9 1f             	shr    $0x1f,%ecx
437906:	03 c0                	add    %eax,%eax
437908:	0b c8                	or     %eax,%ecx
43790a:	4a                   	dec    %edx
43790b:	4b                   	dec    %ebx
43790c:	89 8c bd 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%edi,4)
437913:	83 fa ff             	cmp    $0xffffffff,%edx
437916:	74 08                	je     0x437920
437918:	8b 8d 2c fe ff ff    	mov    -0x1d4(%ebp),%ecx
43791e:	eb c3                	jmp    0x4378e3
437920:	89 b5 2c fe ff ff    	mov    %esi,-0x1d4(%ebp)
437926:	bb 34 04 00 00       	mov    $0x434,%ebx
43792b:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
437931:	2b 9d b4 f8 ff ff    	sub    -0x74c(%ebp),%ebx
437937:	8b fb                	mov    %ebx,%edi
437939:	c1 ef 05             	shr    $0x5,%edi
43793c:	8b f7                	mov    %edi,%esi
43793e:	c1 e6 02             	shl    $0x2,%esi
437941:	56                   	push   %esi
437942:	6a 00                	push   $0x0
437944:	50                   	push   %eax
437945:	e8 96 60 fe ff       	call   0x41d9e0
43794a:	83 e3 1f             	and    $0x1f,%ebx
43794d:	33 c0                	xor    %eax,%eax
43794f:	40                   	inc    %eax
437950:	8b cb                	mov    %ebx,%ecx
437952:	d3 e0                	shl    %cl,%eax
437954:	89 84 35 90 fa ff ff 	mov    %eax,-0x570(%ebp,%esi,1)
43795b:	8d 47 01             	lea    0x1(%edi),%eax
43795e:	be cc 01 00 00       	mov    $0x1cc,%esi
437963:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
437969:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
43796f:	c1 e0 02             	shl    $0x2,%eax
437972:	50                   	push   %eax
437973:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
437979:	50                   	push   %eax
43797a:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
437980:	56                   	push   %esi
437981:	50                   	push   %eax
437982:	e8 6e ea fe ff       	call   0x4263f5
437987:	33 db                	xor    %ebx,%ebx
437989:	83 c4 1c             	add    $0x1c,%esp
43798c:	43                   	inc    %ebx
43798d:	8b 85 7c f8 ff ff    	mov    -0x784(%ebp),%eax
437993:	33 d2                	xor    %edx,%edx
437995:	6a 0a                	push   $0xa
437997:	59                   	pop    %ecx
437998:	89 8d b0 f8 ff ff    	mov    %ecx,-0x750(%ebp)
43799e:	85 c0                	test   %eax,%eax
4379a0:	0f 88 14 05 00 00    	js     0x437eba
4379a6:	f7 f1                	div    %ecx
4379a8:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
4379ae:	85 c0                	test   %eax,%eax
4379b0:	0f 84 0c 04 00 00    	je     0x437dc2
4379b6:	83 f8 26             	cmp    $0x26,%eax
4379b9:	76 03                	jbe    0x4379be
4379bb:	6a 26                	push   $0x26
4379bd:	58                   	pop    %eax
4379be:	0f b6 0c 85 3e 1e 44 	movzbl 0x441e3e(,%eax,4),%ecx
4379c5:	00
4379c6:	0f b6 34 85 3f 1e 44 	movzbl 0x441e3f(,%eax,4),%esi
4379cd:	00
4379ce:	8b f9                	mov    %ecx,%edi
4379d0:	89 85 98 f8 ff ff    	mov    %eax,-0x768(%ebp)
4379d6:	c1 e7 02             	shl    $0x2,%edi
4379d9:	57                   	push   %edi
4379da:	8d 04 31             	lea    (%ecx,%esi,1),%eax
4379dd:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
4379e3:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4379e9:	6a 00                	push   $0x0
4379eb:	50                   	push   %eax
4379ec:	e8 ef 5f fe ff       	call   0x41d9e0
4379f1:	8b c6                	mov    %esi,%eax
4379f3:	c1 e0 02             	shl    $0x2,%eax
4379f6:	50                   	push   %eax
4379f7:	8b 85 98 f8 ff ff    	mov    -0x768(%ebp),%eax
4379fd:	0f b7 04 85 3c 1e 44 	movzwl 0x441e3c(,%eax,4),%eax
437a04:	00
437a05:	8d 04 85 38 15 44 00 	lea    0x441538(,%eax,4),%eax
437a0c:	50                   	push   %eax
437a0d:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
437a13:	03 c7                	add    %edi,%eax
437a15:	50                   	push   %eax
437a16:	e8 35 5a fe ff       	call   0x41d450
437a1b:	8b 95 8c fa ff ff    	mov    -0x574(%ebp),%edx
437a21:	83 c4 18             	add    $0x18,%esp
437a24:	89 95 80 f8 ff ff    	mov    %edx,-0x780(%ebp)
437a2a:	3b d3                	cmp    %ebx,%edx
437a2c:	0f 87 cc 00 00 00    	ja     0x437afe
437a32:	8b bd 90 fa ff ff    	mov    -0x570(%ebp),%edi
437a38:	85 ff                	test   %edi,%edi
437a3a:	75 36                	jne    0x437a72
437a3c:	33 c0                	xor    %eax,%eax
437a3e:	50                   	push   %eax
437a3f:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
437a45:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
437a4b:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
437a51:	50                   	push   %eax