4135c0:	33 c0                	xor    %eax,%eax
4135c2:	23 85 90 f8 ff ff    	and    -0x770(%ebp),%eax
4135c8:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
4135ce:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
4135d4:	23 95 94 f8 ff ff    	and    -0x76c(%ebp),%edx
4135da:	d3 e8                	shr    %cl,%eax
4135dc:	8b 8d a8 f8 ff ff    	mov    -0x758(%ebp),%ecx
4135e2:	d3 e2                	shl    %cl,%edx
4135e4:	8b 8d b4 f8 ff ff    	mov    -0x74c(%ebp),%ecx
4135ea:	0b c2                	or     %edx,%eax
4135ec:	89 84 8d 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%ecx,4)
4135f3:	8b c1                	mov    %ecx,%eax
4135f5:	8b 8d 98 f8 ff ff    	mov    -0x768(%ebp),%ecx
4135fb:	48                   	dec    %eax
4135fc:	83 e9 04             	sub    $0x4,%ecx
4135ff:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
413605:	4f                   	dec    %edi
413606:	89 8d 98 f8 ff ff    	mov    %ecx,-0x768(%ebp)
41360c:	3b 85 80 f8 ff ff    	cmp    -0x780(%ebp),%eax
413612:	74 08                	je     0x41361c
413614:	8b 95 2c fe ff ff    	mov    -0x1d4(%ebp),%edx
41361a:	eb 88                	jmp    0x4135a4
41361c:	8b 8d 9c f8 ff ff    	mov    -0x764(%ebp),%ecx
413622:	85 c9                	test   %ecx,%ecx
413624:	74 0a                	je     0x413630
413626:	33 c0                	xor    %eax,%eax
413628:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
41362e:	f3 ab                	rep stos %eax,%es:(%edi)
413630:	8b 85 b8 f8 ff ff    	mov    -0x748(%ebp),%eax
413636:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
41363c:	c7 85 90 fa ff ff 02 	movl   $0x2,-0x570(%ebp)
413643:	00 00 00
413646:	6a 04                	push   $0x4
413648:	e9 39 fe ff ff       	jmp    0x413486
41364d:	83 fa 35             	cmp    $0x35,%edx
413650:	0f 84 16 01 00 00    	je     0x41376c
413656:	83 a5 90 fa ff ff 00 	andl   $0x0,-0x570(%ebp)
41365d:	c7 85 94 fa ff ff 00 	movl   $0x100000,-0x56c(%ebp)
413664:	00 10 00
413667:	c7 85 8c fa ff ff 02 	movl   $0x2,-0x574(%ebp)
41366e:	00 00 00
413671:	85 f6                	test   %esi,%esi
413673:	0f 84 f3 00 00 00    	je     0x41376c
413679:	33 d2                	xor    %edx,%edx
41367b:	8b 84 15 90 fa ff ff 	mov    -0x570(%ebp,%edx,1),%eax
413682:	3b 84 15 30 fe ff ff 	cmp    -0x1d0(%ebp,%edx,1),%eax
413689:	0f 85 dd 00 00 00    	jne    0x41376c
41368f:	83 c2 04             	add    $0x4,%edx
413692:	83 fa 08             	cmp    $0x8,%edx
413695:	75 e4                	jne    0x41367b
413697:	33 d2                	xor    %edx,%edx
413699:	0f bd c6             	bsr    %esi,%eax
41369c:	89 95 88 f8 ff ff    	mov    %edx,-0x778(%ebp)
4136a2:	74 03                	je     0x4136a7
4136a4:	40                   	inc    %eax
4136a5:	eb 02                	jmp    0x4136a9
4136a7:	8b c2                	mov    %edx,%eax
4136a9:	2b f8                	sub    %eax,%edi
4136ab:	83 ff 02             	cmp    $0x2,%edi
4136ae:	1b f6                	sbb    %esi,%esi
4136b0:	f7 de                	neg    %esi
4136b2:	03 f1                	add    %ecx,%esi
4136b4:	83 fe 73             	cmp    $0x73,%esi
4136b7:	76 2a                	jbe    0x4136e3
4136b9:	52                   	push   %edx
4136ba:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4136c0:	89 95 8c fa ff ff    	mov    %edx,-0x574(%ebp)
4136c6:	50                   	push   %eax
4136c7:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4136cd:	89 95 2c fe ff ff    	mov    %edx,-0x1d4(%ebp)
4136d3:	68 cc 01 00 00       	push   $0x1cc
4136d8:	50                   	push   %eax
4136d9:	e8 7d b7 ff ff       	call   0x40ee5b
4136de:	83 c4 10             	add    $0x10,%esp
4136e1:	eb 4f                	jmp    0x413732
4136e3:	8d 56 ff             	lea    -0x1(%esi),%edx
4136e6:	83 fa ff             	cmp    $0xffffffff,%edx
4136e9:	74 41                	je     0x41372c
4136eb:	8d 5a ff             	lea    -0x1(%edx),%ebx
4136ee:	8b fa                	mov    %edx,%edi
4136f0:	3b d1                	cmp    %ecx,%edx
4136f2:	73 09                	jae    0x4136fd
4136f4:	8b 84 bd 30 fe ff ff 	mov    -0x1d0(%ebp,%edi,4),%eax
4136fb:	eb 02                	jmp    0x4136ff
4136fd:	33 c0                	xor    %eax,%eax
4136ff:	3b d9                	cmp    %ecx,%ebx
413701:	73 09                	jae    0x41370c
413703:	8b 8c bd 2c fe ff ff 	mov    -0x1d4(%ebp,%edi,4),%ecx
41370a:	eb 02                	jmp    0x41370e
41370c:	33 c9                	xor    %ecx,%ecx
41370e:	c1 e9 1e             	shr    $0x1e,%ecx
413711:	c1 e0 02             	shl    $0x2,%eax
413714:	0b c8                	or     %eax,%ecx
413716:	4a                   	dec    %edx
413717:	4b                   	dec    %ebx
413718:	89 8c bd 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%edi,4)
41371f:	83 fa ff             	cmp    $0xffffffff,%edx
413722:	74 08                	je     0x41372c
413724:	8b 8d 2c fe ff ff    	mov    -0x1d4(%ebp),%ecx
41372a:	eb c2                	jmp    0x4136ee
41372c:	89 b5 2c fe ff ff    	mov    %esi,-0x1d4(%ebp)
413732:	bb 35 04 00 00       	mov    $0x435,%ebx
413737:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41373d:	2b 9d b4 f8 ff ff    	sub    -0x74c(%ebp),%ebx
413743:	8b fb                	mov    %ebx,%edi
413745:	c1 ef 05             	shr    $0x5,%edi
413748:	8b f7                	mov    %edi,%esi
41374a:	c1 e6 02             	shl    $0x2,%esi
41374d:	56                   	push   %esi
41374e:	6a 00                	push   $0x0
413750:	50                   	push   %eax
413751:	e8 1a 13 ff ff       	call   0x404a70
413756:	83 e3 1f             	and    $0x1f,%ebx
413759:	33 c0                	xor    %eax,%eax
41375b:	40                   	inc    %eax
41375c:	8b cb                	mov    %ebx,%ecx
41375e:	d3 e0                	shl    %cl,%eax
413760:	89 84 35 90 fa ff ff 	mov    %eax,-0x570(%ebp,%esi,1)
413767:	e9 e5 00 00 00       	jmp    0x413851
41376c:	33 c0                	xor    %eax,%eax
41376e:	85 f6                	test   %esi,%esi
413770:	0f 95 c0             	setne  %al
413773:	83 a5 88 f8 ff ff 00 	andl   $0x0,-0x778(%ebp)
41377a:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
413781:	8b 84 05 2c fe ff ff 	mov    -0x1d4(%ebp,%eax,1),%eax
413788:	0f bd c0             	bsr    %eax,%eax
41378b:	74 03                	je     0x413790
41378d:	40                   	inc    %eax
41378e:	eb 02                	jmp    0x413792
413790:	33 c0                	xor    %eax,%eax
413792:	2b f8                	sub    %eax,%edi
413794:	3b fb                	cmp    %ebx,%edi
413796:	1b f6                	sbb    %esi,%esi
413798:	f7 de                	neg    %esi
41379a:	03 f1                	add    %ecx,%esi
41379c:	83 fe 73             	cmp    $0x73,%esi
41379f:	76 2d                	jbe    0x4137ce
4137a1:	83 a5 8c fa ff ff 00 	andl   $0x0,-0x574(%ebp)
4137a8:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4137ae:	83 a5 2c fe ff ff 00 	andl   $0x0,-0x1d4(%ebp)
4137b5:	6a 00                	push   $0x0
4137b7:	50                   	push   %eax
4137b8:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
4137be:	68 cc 01 00 00       	push   $0x1cc
4137c3:	50                   	push   %eax
4137c4:	e8 92 b6 ff ff       	call   0x40ee5b
4137c9:	83 c4 10             	add    $0x10,%esp
4137cc:	eb 4e                	jmp    0x41381c
4137ce:	8d 56 ff             	lea    -0x1(%esi),%edx
4137d1:	83 fa ff             	cmp    $0xffffffff,%edx
4137d4:	74 40                	je     0x413816
4137d6:	8d 5a ff             	lea    -0x1(%edx),%ebx
4137d9:	8b fa                	mov    %edx,%edi
4137db:	3b d1                	cmp    %ecx,%edx
4137dd:	73 09                	jae    0x4137e8
4137df:	8b 84 bd 30 fe ff ff 	mov    -0x1d0(%ebp,%edi,4),%eax
4137e6:	eb 02                	jmp    0x4137ea
4137e8:	33 c0                	xor    %eax,%eax
4137ea:	3b d9                	cmp    %ecx,%ebx
4137ec:	73 09                	jae    0x4137f7
4137ee:	8b 8c bd 2c fe ff ff 	mov    -0x1d4(%ebp,%edi,4),%ecx
4137f5:	eb 02                	jmp    0x4137f9
4137f7:	33 c9                	xor    %ecx,%ecx
4137f9:	c1 e9 1f             	shr    $0x1f,%ecx
4137fc:	03 c0                	add    %eax,%eax
4137fe:	0b c8                	or     %eax,%ecx
413800:	4a                   	dec    %edx
413801:	4b                   	dec    %ebx
413802:	89 8c bd 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%edi,4)
413809:	83 fa ff             	cmp    $0xffffffff,%edx
41380c:	74 08                	je     0x413816
41380e:	8b 8d 2c fe ff ff    	mov    -0x1d4(%ebp),%ecx
413814:	eb c3                	jmp    0x4137d9
413816:	89 b5 2c fe ff ff    	mov    %esi,-0x1d4(%ebp)
41381c:	bb 34 04 00 00       	mov    $0x434,%ebx
413821:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
413827:	2b 9d b4 f8 ff ff    	sub    -0x74c(%ebp),%ebx
41382d:	8b fb                	mov    %ebx,%edi
41382f:	c1 ef 05             	shr    $0x5,%edi
413832:	8b f7                	mov    %edi,%esi
413834:	c1 e6 02             	shl    $0x2,%esi
413837:	56                   	push   %esi
413838:	6a 00                	push   $0x0
41383a:	50                   	push   %eax
41383b:	e8 30 12 ff ff       	call   0x404a70
413840:	83 e3 1f             	and    $0x1f,%ebx
413843:	33 c0                	xor    %eax,%eax
413845:	40                   	inc    %eax
413846:	8b cb                	mov    %ebx,%ecx
413848:	d3 e0                	shl    %cl,%eax
41384a:	89 84 35 90 fa ff ff 	mov    %eax,-0x570(%ebp,%esi,1)
413851:	8d 47 01             	lea    0x1(%edi),%eax
413854:	be cc 01 00 00       	mov    $0x1cc,%esi
413859:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
41385f:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
413865:	c1 e0 02             	shl    $0x2,%eax
413868:	50                   	push   %eax
413869:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
41386f:	50                   	push   %eax
413870:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
413876:	56                   	push   %esi
413877:	50                   	push   %eax
413878:	e8 de b5 ff ff       	call   0x40ee5b
41387d:	33 db                	xor    %ebx,%ebx
41387f:	83 c4 1c             	add    $0x1c,%esp
413882:	43                   	inc    %ebx
413883:	8b 85 7c f8 ff ff    	mov    -0x784(%ebp),%eax
413889:	33 d2                	xor    %edx,%edx
41388b:	6a 0a                	push   $0xa
41388d:	59                   	pop    %ecx
41388e:	89 8d b0 f8 ff ff    	mov    %ecx,-0x750(%ebp)
413894:	85 c0                	test   %eax,%eax
413896:	0f 88 14 05 00 00    	js     0x413db0
41389c:	f7 f1                	div    %ecx
41389e:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
4138a4:	85 c0                	test   %eax,%eax
4138a6:	0f 84 0c 04 00 00    	je     0x413cb8
4138ac:	83 f8 26             	cmp    $0x26,%eax
4138af:	76 03                	jbe    0x4138b4
4138b1:	6a 26                	push   $0x26
4138b3:	58                   	pop    %eax
4138b4:	0f b6 0c 85 76 e1 41 	movzbl 0x41e176(,%eax,4),%ecx
4138bb:	00
4138bc:	0f b6 34 85 77 e1 41 	movzbl 0x41e177(,%eax,4),%esi
4138c3:	00
4138c4:	8b f9                	mov    %ecx,%edi
4138c6:	89 85 98 f8 ff ff    	mov    %eax,-0x768(%ebp)
4138cc:	c1 e7 02             	shl    $0x2,%edi
4138cf:	57                   	push   %edi
4138d0:	8d 04 31             	lea    (%ecx,%esi,1),%eax
4138d3:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
4138d9:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4138df:	6a 00                	push   $0x0
4138e1:	50                   	push   %eax
4138e2:	e8 89 11 ff ff       	call   0x404a70
4138e7:	8b c6                	mov    %esi,%eax
4138e9:	c1 e0 02             	shl    $0x2,%eax
4138ec:	50                   	push   %eax
4138ed:	8b 85 98 f8 ff ff    	mov    -0x768(%ebp),%eax
4138f3:	0f b7 04 85 74 e1 41 	movzwl 0x41e174(,%eax,4),%eax
4138fa:	00
4138fb:	8d 04 85 70 d8 41 00 	lea    0x41d870(,%eax,4),%eax
413902:	50                   	push   %eax
413903:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
413909:	03 c7                	add    %edi,%eax
41390b:	50                   	push   %eax
41390c:	e8 1f 0a ff ff       	call   0x404330
413911:	8b 95 8c fa ff ff    	mov    -0x574(%ebp),%edx
413917:	83 c4 18             	add    $0x18,%esp
41391a:	89 95 80 f8 ff ff    	mov    %edx,-0x780(%ebp)
413920:	3b d3                	cmp    %ebx,%edx
413922:	0f 87 cc 00 00 00    	ja     0x4139f4
413928:	8b bd 90 fa ff ff    	mov    -0x570(%ebp),%edi
41392e:	85 ff                	test   %edi,%edi
413930:	75 36                	jne    0x413968
413932:	33 c0                	xor    %eax,%eax
413934:	50                   	push   %eax
413935:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
41393b:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
413941:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
413947:	50                   	push   %eax
413948:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
41394e:	68 cc 01 00 00       	push   $0x1cc
413953:	50                   	push   %eax
413954:	e8 02 b5 ff ff       	call   0x40ee5b
413959:	83 c4 10             	add    $0x10,%esp
41395c:	8a c3                	mov    %bl,%al
41395e:	be cc 01 00 00       	mov    $0x1cc,%esi
413963:	e9 2d 03 00 00       	jmp    0x413c95
413968:	3b fb                	cmp    %ebx,%edi
41396a:	74 f0                	je     0x41395c
41396c:	83 bd 5c fc ff ff 00 	cmpl   $0x0,-0x3a4(%ebp)
413973:	74 e7                	je     0x41395c
413975:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
41397b:	33 c9                	xor    %ecx,%ecx
41397d:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
413983:	33 f6                	xor    %esi,%esi
413985:	8b c7                	mov    %edi,%eax
413987:	f7 a4 b5 60 fc ff ff 	mull   -0x3a0(%ebp,%esi,4)
41398e:	03 c1                	add    %ecx,%eax
413990:	89 84 b5 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%esi,4)
413997:	83 d2 00             	adc    $0x0,%edx
41399a:	46                   	inc    %esi
41399b:	8b ca                	mov    %edx,%ecx
41399d:	3b b5 90 f8 ff ff    	cmp    -0x770(%ebp),%esi
4139a3:	75 e0                	jne    0x413985
4139a5:	85 c9                	test   %ecx,%ecx
4139a7:	74 b3                	je     0x41395c
4139a9:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
4139af:	83 f8 73             	cmp    $0x73,%eax
4139b2:	73 0f                	jae    0x4139c3
4139b4:	89 8c 85 60 fc ff ff 	mov    %ecx,-0x3a0(%ebp,%eax,4)
4139bb:	ff 85 5c fc ff ff    	incl   -0x3a4(%ebp)
4139c1:	eb 99                	jmp    0x41395c
4139c3:	33 c0                	xor    %eax,%eax
4139c5:	50                   	push   %eax
4139c6:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
4139cc:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
4139d2:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4139d8:	50                   	push   %eax
4139d9:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
4139df:	68 cc 01 00 00       	push   $0x1cc
4139e4:	50                   	push   %eax
4139e5:	e8 71 b4 ff ff       	call   0x40ee5b
4139ea:	83 c4 10             	add    $0x10,%esp
4139ed:	32 c0                	xor    %al,%al
4139ef:	e9 6a ff ff ff       	jmp    0x41395e
4139f4:	39 9d 5c fc ff ff    	cmp    %ebx,-0x3a4(%ebp)
4139fa:	0f 87 da 00 00 00    	ja     0x413ada
413a00:	8b bd 60 fc ff ff    	mov    -0x3a0(%ebp),%edi
413a06:	8b c2                	mov    %edx,%eax
413a08:	c1 e0 02             	shl    $0x2,%eax
413a0b:	be cc 01 00 00       	mov    $0x1cc,%esi
413a10:	50                   	push   %eax
413a11:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
413a17:	89 bd 90 f8 ff ff    	mov    %edi,-0x770(%ebp)
413a1d:	50                   	push   %eax
413a1e:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
413a24:	89 95 5c fc ff ff    	mov    %edx,-0x3a4(%ebp)
413a2a:	56                   	push   %esi
413a2b:	50                   	push   %eax
413a2c:	e8 2a b4 ff ff       	call   0x40ee5b
413a31:	83 c4 10             	add    $0x10,%esp
413a34:	85 ff                	test   %edi,%edi
413a36:	75 1a                	jne    0x413a52
413a38:	33 c0                	xor    %eax,%eax
413a3a:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
413a40:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
413a46:	50                   	push   %eax
413a47:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
413a4d:	e9 30 02 00 00       	jmp    0x413c82
413a52:	3b fb                	cmp    %ebx,%edi
413a54:	0f 84 39 02 00 00    	je     0x413c93
413a5a:	83 bd 5c fc ff ff 00 	cmpl   $0x0,-0x3a4(%ebp)
413a61:	0f 84 2c 02 00 00    	je     0x413c93
413a67:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
413a6d:	33 c9                	xor    %ecx,%ecx
413a6f:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
413a75:	33 ff                	xor    %edi,%edi
413a77:	8b 85 90 f8 ff ff    	mov    -0x770(%ebp),%eax
413a7d:	f7 a4 bd 60 fc ff ff 	mull   -0x3a0(%ebp,%edi,4)
413a84:	03 c1                	add    %ecx,%eax
413a86:	89 84 bd 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%edi,4)
413a8d:	83 d2 00             	adc    $0x0,%edx
413a90:	47                   	inc    %edi
413a91:	8b ca                	mov    %edx,%ecx
413a93:	3b bd 94 f8 ff ff    	cmp    -0x76c(%ebp),%edi
413a99:	75 dc                	jne    0x413a77
413a9b:	85 c9                	test   %ecx,%ecx
413a9d:	0f 84 f0 01 00 00    	je     0x413c93