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
437a52:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
437a58:	68 cc 01 00 00       	push   $0x1cc
437a5d:	50                   	push   %eax
437a5e:	e8 92 e9 fe ff       	call   0x4263f5
437a63:	83 c4 10             	add    $0x10,%esp
437a66:	8a c3                	mov    %bl,%al
437a68:	be cc 01 00 00       	mov    $0x1cc,%esi
437a6d:	e9 2d 03 00 00       	jmp    0x437d9f
437a72:	3b fb                	cmp    %ebx,%edi
437a74:	74 f0                	je     0x437a66
437a76:	83 bd 5c fc ff ff 00 	cmpl   $0x0,-0x3a4(%ebp)
437a7d:	74 e7                	je     0x437a66
437a7f:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
437a85:	33 c9                	xor    %ecx,%ecx
437a87:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
437a8d:	33 f6                	xor    %esi,%esi
437a8f:	8b c7                	mov    %edi,%eax
437a91:	f7 a4 b5 60 fc ff ff 	mull   -0x3a0(%ebp,%esi,4)
437a98:	03 c1                	add    %ecx,%eax
437a9a:	89 84 b5 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%esi,4)
437aa1:	83 d2 00             	adc    $0x0,%edx
437aa4:	46                   	inc    %esi
437aa5:	8b ca                	mov    %edx,%ecx
437aa7:	3b b5 90 f8 ff ff    	cmp    -0x770(%ebp),%esi
437aad:	75 e0                	jne    0x437a8f
437aaf:	85 c9                	test   %ecx,%ecx
437ab1:	74 b3                	je     0x437a66
437ab3:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
437ab9:	83 f8 73             	cmp    $0x73,%eax
437abc:	73 0f                	jae    0x437acd
437abe:	89 8c 85 60 fc ff ff 	mov    %ecx,-0x3a0(%ebp,%eax,4)
437ac5:	ff 85 5c fc ff ff    	incl   -0x3a4(%ebp)
437acb:	eb 99                	jmp    0x437a66
437acd:	33 c0                	xor    %eax,%eax
437acf:	50                   	push   %eax
437ad0:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
437ad6:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
437adc:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
437ae2:	50                   	push   %eax
437ae3:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
437ae9:	68 cc 01 00 00       	push   $0x1cc
437aee:	50                   	push   %eax
437aef:	e8 01 e9 fe ff       	call   0x4263f5
437af4:	83 c4 10             	add    $0x10,%esp
437af7:	32 c0                	xor    %al,%al
437af9:	e9 6a ff ff ff       	jmp    0x437a68
437afe:	39 9d 5c fc ff ff    	cmp    %ebx,-0x3a4(%ebp)
437b04:	0f 87 da 00 00 00    	ja     0x437be4
437b0a:	8b bd 60 fc ff ff    	mov    -0x3a0(%ebp),%edi
437b10:	8b c2                	mov    %edx,%eax
437b12:	c1 e0 02             	shl    $0x2,%eax
437b15:	be cc 01 00 00       	mov    $0x1cc,%esi
437b1a:	50                   	push   %eax
437b1b:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
437b21:	89 bd 90 f8 ff ff    	mov    %edi,-0x770(%ebp)
437b27:	50                   	push   %eax
437b28:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
437b2e:	89 95 5c fc ff ff    	mov    %edx,-0x3a4(%ebp)
437b34:	56                   	push   %esi
437b35:	50                   	push   %eax
437b36:	e8 ba e8 fe ff       	call   0x4263f5
437b3b:	83 c4 10             	add    $0x10,%esp
437b3e:	85 ff                	test   %edi,%edi
437b40:	75 1a                	jne    0x437b5c
437b42:	33 c0                	xor    %eax,%eax
437b44:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
437b4a:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
437b50:	50                   	push   %eax
437b51:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
437b57:	e9 30 02 00 00       	jmp    0x437d8c
437b5c:	3b fb                	cmp    %ebx,%edi
437b5e:	0f 84 39 02 00 00    	je     0x437d9d
437b64:	83 bd 5c fc ff ff 00 	cmpl   $0x0,-0x3a4(%ebp)
437b6b:	0f 84 2c 02 00 00    	je     0x437d9d
437b71:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
437b77:	33 c9                	xor    %ecx,%ecx
437b79:	89 85 94 f8 ff ff    	mov    %eax,-0x76c(%ebp)
437b7f:	33 ff                	xor    %edi,%edi
437b81:	8b 85 90 f8 ff ff    	mov    -0x770(%ebp),%eax
437b87:	f7 a4 bd 60 fc ff ff 	mull   -0x3a0(%ebp,%edi,4)
437b8e:	03 c1                	add    %ecx,%eax
437b90:	89 84 bd 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%edi,4)
437b97:	83 d2 00             	adc    $0x0,%edx
437b9a:	47                   	inc    %edi
437b9b:	8b ca                	mov    %edx,%ecx
437b9d:	3b bd 94 f8 ff ff    	cmp    -0x76c(%ebp),%edi
437ba3:	75 dc                	jne    0x437b81
437ba5:	85 c9                	test   %ecx,%ecx
437ba7:	0f 84 f0 01 00 00    	je     0x437d9d
437bad:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
437bb3:	83 f8 73             	cmp    $0x73,%eax
437bb6:	73 12                	jae    0x437bca
437bb8:	89 8c 85 60 fc ff ff 	mov    %ecx,-0x3a0(%ebp,%eax,4)
437bbf:	ff 85 5c fc ff ff    	incl   -0x3a4(%ebp)
437bc5:	e9 d3 01 00 00       	jmp    0x437d9d
437bca:	33 c0                	xor    %eax,%eax
437bcc:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
437bd2:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
437bd8:	50                   	push   %eax
437bd9:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
437bdf:	e9 2c 02 00 00       	jmp    0x437e10
437be4:	3b 95 5c fc ff ff    	cmp    -0x3a4(%ebp),%edx
437bea:	8d b5 90 fa ff ff    	lea    -0x570(%ebp),%esi
437bf0:	0f 92 c0             	setb   %al
437bf3:	72 06                	jb     0x437bfb
437bf5:	8d b5 60 fc ff ff    	lea    -0x3a0(%ebp),%esi
437bfb:	89 b5 9c f8 ff ff    	mov    %esi,-0x764(%ebp)
437c01:	84 c0                	test   %al,%al
437c03:	74 1c                	je     0x437c21
437c05:	8b ca                	mov    %edx,%ecx
437c07:	89 95 94 f8 ff ff    	mov    %edx,-0x76c(%ebp)
437c0d:	8b 95 5c fc ff ff    	mov    -0x3a4(%ebp),%edx
437c13:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
437c19:	89 95 80 f8 ff ff    	mov    %edx,-0x780(%ebp)
437c1f:	eb 12                	jmp    0x437c33
437c21:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
437c27:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
437c2d:	89 8d 94 f8 ff ff    	mov    %ecx,-0x76c(%ebp)
437c33:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
437c39:	33 ff                	xor    %edi,%edi
437c3b:	33 c0                	xor    %eax,%eax
437c3d:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
437c43:	85 c9                	test   %ecx,%ecx
437c45:	0f 84 2c 01 00 00    	je     0x437d77
437c4b:	83 3c be 00          	cmpl   $0x0,(%esi,%edi,4)
437c4f:	75 1e                	jne    0x437c6f
437c51:	3b f8                	cmp    %eax,%edi
437c53:	0f 85 15 01 00 00    	jne    0x437d6e
437c59:	83 a4 bd c0 f8 ff ff 	andl   $0x0,-0x740(%ebp,%edi,4)
437c60:	00
437c61:	8d 47 01             	lea    0x1(%edi),%eax
437c64:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
437c6a:	e9 ff 00 00 00       	jmp    0x437d6e
437c6f:	83 a5 b8 f8 ff ff 00 	andl   $0x0,-0x748(%ebp)
437c76:	8b f7                	mov    %edi,%esi
437c78:	83 a5 b4 f8 ff ff 00 	andl   $0x0,-0x74c(%ebp)
437c7f:	85 d2                	test   %edx,%edx
437c81:	0f 84 d2 00 00 00    	je     0x437d59
437c87:	83 fe 73             	cmp    $0x73,%esi
437c8a:	74 6b                	je     0x437cf7
437c8c:	8b 95 b4 f8 ff ff    	mov    -0x74c(%ebp),%edx
437c92:	8b ce                	mov    %esi,%ecx
437c94:	c1 e1 02             	shl    $0x2,%ecx
437c97:	3b f0                	cmp    %eax,%esi
437c99:	75 13                	jne    0x437cae
437c9b:	83 a4 0d c0 f8 ff ff 	andl   $0x0,-0x740(%ebp,%ecx,1)
437ca2:	00
437ca3:	8d 42 01             	lea    0x1(%edx),%eax
437ca6:	03 c7                	add    %edi,%eax
437ca8:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
437cae:	8b 85 a8 f8 ff ff    	mov    -0x758(%ebp),%eax
437cb4:	8b 04 90             	mov    (%eax,%edx,4),%eax
437cb7:	8b 95 9c f8 ff ff    	mov    -0x764(%ebp),%edx
437cbd:	f7 24 ba             	mull   (%edx,%edi,4)
437cc0:	03 85 b8 f8 ff ff    	add    -0x748(%ebp),%eax
437cc6:	83 d2 00             	adc    $0x0,%edx
437cc9:	01 84 0d c0 f8 ff ff 	add    %eax,-0x740(%ebp,%ecx,1)
437cd0:	8b 8d b4 f8 ff ff    	mov    -0x74c(%ebp),%ecx
437cd6:	8b 85 bc f8 ff ff    	mov    -0x744(%ebp),%eax
437cdc:	83 d2 00             	adc    $0x0,%edx
437cdf:	41                   	inc    %ecx
437ce0:	89 95 b8 f8 ff ff    	mov    %edx,-0x748(%ebp)
437ce6:	8b 95 80 f8 ff ff    	mov    -0x780(%ebp),%edx
437cec:	46                   	inc    %esi
437ced:	89 8d b4 f8 ff ff    	mov    %ecx,-0x74c(%ebp)
437cf3:	3b ca                	cmp    %edx,%ecx
437cf5:	75 90                	jne    0x437c87
437cf7:	83 bd b8 f8 ff ff 00 	cmpl   $0x0,-0x748(%ebp)
437cfe:	74 59                	je     0x437d59
437d00:	8d 8d c0 f8 ff ff    	lea    -0x740(%ebp),%ecx
437d06:	8d 0c b1             	lea    (%ecx,%esi,4),%ecx
437d09:	89 8d b4 f8 ff ff    	mov    %ecx,-0x74c(%ebp)
437d0f:	83 fe 73             	cmp    $0x73,%esi
437d12:	0f 84 de 00 00 00    	je     0x437df6
437d18:	8d 4e 01             	lea    0x1(%esi),%ecx