423947:	50                   	push   %eax
423948:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
42394e:	53                   	push   %ebx
42394f:	50                   	push   %eax
423950:	e8 37 0a 00 00       	call   0x42438c
423955:	83 c4 10             	add    $0x10,%esp
423958:	85 ff                	test   %edi,%edi
42395a:	75 1a                	jne    0x423976
42395c:	33 c0                	xor    %eax,%eax
42395e:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
423964:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
42396a:	50                   	push   %eax
42396b:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
423971:	e9 f5 01 00 00       	jmp    0x423b6b
423976:	83 ff 01             	cmp    $0x1,%edi
423979:	0f 84 fd 01 00 00    	je     0x423b7c
42397f:	83 bd 5c fc ff ff 00 	cmpl   $0x0,-0x3a4(%ebp)
423986:	0f 84 f0 01 00 00    	je     0x423b7c
42398c:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
423992:	33 c9                	xor    %ecx,%ecx
423994:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
42399a:	33 f6                	xor    %esi,%esi
42399c:	8b c7                	mov    %edi,%eax
42399e:	f7 a4 b5 60 fc ff ff 	mull   -0x3a0(%ebp,%esi,4)
4239a5:	03 c1                	add    %ecx,%eax
4239a7:	89 84 b5 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%esi,4)
4239ae:	83 d2 00             	adc    $0x0,%edx
4239b1:	46                   	inc    %esi
4239b2:	8b ca                	mov    %edx,%ecx
4239b4:	3b b5 a8 f8 ff ff    	cmp    -0x758(%ebp),%esi
4239ba:	75 e0                	jne    0x42399c
4239bc:	85 c9                	test   %ecx,%ecx
4239be:	0f 84 b8 01 00 00    	je     0x423b7c
4239c4:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
4239ca:	83 f8 73             	cmp    $0x73,%eax
4239cd:	0f 82 3d ff ff ff    	jb     0x423910
4239d3:	33 c0                	xor    %eax,%eax
4239d5:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
4239db:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
4239e1:	50                   	push   %eax
4239e2:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
4239e8:	e9 ec 01 00 00       	jmp    0x423bd9
4239ed:	3b 8d 5c fc ff ff    	cmp    -0x3a4(%ebp),%ecx
4239f3:	8d bd 90 fa ff ff    	lea    -0x570(%ebp),%edi
4239f9:	0f 92 c0             	setb   %al
4239fc:	84 c0                	test   %al,%al
4239fe:	0f 85 83 00 00 00    	jne    0x423a87
423a04:	8d bd 60 fc ff ff    	lea    -0x3a0(%ebp),%edi
423a0a:	8d 95 90 fa ff ff    	lea    -0x570(%ebp),%edx
423a10:	89 95 b0 f8 ff ff    	mov    %edx,-0x750(%ebp)
423a16:	84 c0                	test   %al,%al
423a18:	75 06                	jne    0x423a20
423a1a:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
423a20:	89 8d ac f8 ff ff    	mov    %ecx,-0x754(%ebp)
423a26:	84 c0                	test   %al,%al
423a28:	74 0c                	je     0x423a36
423a2a:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
423a30:	89 85 a0 f8 ff ff    	mov    %eax,-0x760(%ebp)
423a36:	33 d2                	xor    %edx,%edx
423a38:	33 f6                	xor    %esi,%esi
423a3a:	89 95 bc f8 ff ff    	mov    %edx,-0x744(%ebp)
423a40:	85 c9                	test   %ecx,%ecx
423a42:	0f 84 11 01 00 00    	je     0x423b59
423a48:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
423a4e:	2b f8                	sub    %eax,%edi
423a50:	89 bd 7c f8 ff ff    	mov    %edi,-0x784(%ebp)
423a56:	8d 04 b7             	lea    (%edi,%esi,4),%eax
423a59:	8b 84 05 c0 f8 ff ff 	mov    -0x740(%ebp,%eax,1),%eax
423a60:	89 85 a8 f8 ff ff    	mov    %eax,-0x758(%ebp)
423a66:	85 c0                	test   %eax,%eax
423a68:	75 25                	jne    0x423a8f
423a6a:	3b f2                	cmp    %edx,%esi
423a6c:	0f 85 de 00 00 00    	jne    0x423b50
423a72:	21 84 b5 c0 f8 ff ff 	and    %eax,-0x740(%ebp,%esi,4)
423a79:	8d 56 01             	lea    0x1(%esi),%edx
423a7c:	89 95 bc f8 ff ff    	mov    %edx,-0x744(%ebp)
423a82:	e9 c9 00 00 00       	jmp    0x423b50
423a87:	8d 95 60 fc ff ff    	lea    -0x3a0(%ebp),%edx
423a8d:	eb 81                	jmp    0x423a10
423a8f:	33 c0                	xor    %eax,%eax
423a91:	33 ff                	xor    %edi,%edi
423a93:	8b ce                	mov    %esi,%ecx
423a95:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
423a9b:	39 85 a0 f8 ff ff    	cmp    %eax,-0x760(%ebp)
423aa1:	0f 84 94 00 00 00    	je     0x423b3b
423aa7:	83 f9 73             	cmp    $0x73,%ecx
423aaa:	74 57                	je     0x423b03
423aac:	3b ca                	cmp    %edx,%ecx
423aae:	75 17                	jne    0x423ac7
423ab0:	83 a4 8d c0 f8 ff ff 	andl   $0x0,-0x740(%ebp,%ecx,4)
423ab7:	00
423ab8:	40                   	inc    %eax
423ab9:	03 c6                	add    %esi,%eax
423abb:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
423ac1:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
423ac7:	8b 95 b0 f8 ff ff    	mov    -0x750(%ebp),%edx
423acd:	8b 04 82             	mov    (%edx,%eax,4),%eax
423ad0:	f7 a5 a8 f8 ff ff    	mull   -0x758(%ebp)
423ad6:	03 c7                	add    %edi,%eax
423ad8:	83 d2 00             	adc    $0x0,%edx
423adb:	01 84 8d c0 f8 ff ff 	add    %eax,-0x740(%ebp,%ecx,4)
423ae2:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
423ae8:	83 d2 00             	adc    $0x0,%edx
423aeb:	40                   	inc    %eax
423aec:	41                   	inc    %ecx
423aed:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
423af3:	8b fa                	mov    %edx,%edi
423af5:	8b 95 bc f8 ff ff    	mov    -0x744(%ebp),%edx
423afb:	3b 85 a0 f8 ff ff    	cmp    -0x760(%ebp),%eax
423b01:	75 a4                	jne    0x423aa7
423b03:	85 ff                	test   %edi,%edi
423b05:	74 34                	je     0x423b3b
423b07:	83 f9 73             	cmp    $0x73,%ecx
423b0a:	0f 84 b4 00 00 00    	je     0x423bc4
423b10:	3b ca                	cmp    %edx,%ecx
423b12:	75 11                	jne    0x423b25
423b14:	83 a4 8d c0 f8 ff ff 	andl   $0x0,-0x740(%ebp,%ecx,4)
423b1b:	00
423b1c:	8d 41 01             	lea    0x1(%ecx),%eax
423b1f:	89 85 bc f8 ff ff    	mov    %eax,-0x744(%ebp)
423b25:	8b c7                	mov    %edi,%eax
423b27:	33 ff                	xor    %edi,%edi
423b29:	01 84 8d c0 f8 ff ff 	add    %eax,-0x740(%ebp,%ecx,4)
423b30:	8b 95 bc f8 ff ff    	mov    -0x744(%ebp),%edx
423b36:	13 ff                	adc    %edi,%edi
423b38:	41                   	inc    %ecx
423b39:	eb c8                	jmp    0x423b03
423b3b:	83 f9 73             	cmp    $0x73,%ecx
423b3e:	0f 84 80 00 00 00    	je     0x423bc4
423b44:	8b bd 7c f8 ff ff    	mov    -0x784(%ebp),%edi
423b4a:	8b 8d ac f8 ff ff    	mov    -0x754(%ebp),%ecx
423b50:	46                   	inc    %esi
423b51:	3b f1                	cmp    %ecx,%esi
423b53:	0f 85 fd fe ff ff    	jne    0x423a56
423b59:	8b c2                	mov    %edx,%eax
423b5b:	89 95 5c fc ff ff    	mov    %edx,-0x3a4(%ebp)
423b61:	c1 e0 02             	shl    $0x2,%eax
423b64:	50                   	push   %eax
423b65:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
423b6b:	50                   	push   %eax
423b6c:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
423b72:	53                   	push   %ebx
423b73:	50                   	push   %eax
423b74:	e8 13 08 00 00       	call   0x42438c
423b79:	83 c4 10             	add    $0x10,%esp
423b7c:	b0 01                	mov    $0x1,%al
423b7e:	84 c0                	test   %al,%al
423b80:	74 6c                	je     0x423bee
423b82:	8b 85 90 f8 ff ff    	mov    -0x770(%ebp),%eax
423b88:	2b 85 a4 f8 ff ff    	sub    -0x75c(%ebp),%eax
423b8e:	89 85 90 f8 ff ff    	mov    %eax,-0x770(%ebp)
423b94:	0f 85 95 fc ff ff    	jne    0x42382f
423b9a:	8b 8d 9c f8 ff ff    	mov    -0x764(%ebp),%ecx
423ba0:	85 c9                	test   %ecx,%ecx
423ba2:	0f 84 13 05 00 00    	je     0x4240bb
423ba8:	8b 3c 8d cc b8 42 00 	mov    0x42b8cc(,%ecx,4),%edi
423baf:	85 ff                	test   %edi,%edi
423bb1:	75 5d                	jne    0x423c10
423bb3:	33 c0                	xor    %eax,%eax
423bb5:	89 85 9c f6 ff ff    	mov    %eax,-0x964(%ebp)
423bbb:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
423bc1:	50                   	push   %eax
423bc2:	eb 3a                	jmp    0x423bfe
423bc4:	33 c0                	xor    %eax,%eax
423bc6:	89 85 9c f6 ff ff    	mov    %eax,-0x964(%ebp)
423bcc:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
423bd2:	50                   	push   %eax
423bd3:	8d 85 a0 f6 ff ff    	lea    -0x960(%ebp),%eax
423bd9:	50                   	push   %eax
423bda:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
423be0:	53                   	push   %ebx
423be1:	50                   	push   %eax
423be2:	e8 a5 07 00 00       	call   0x42438c
423be7:	83 c4 10             	add    $0x10,%esp
423bea:	32 c0                	xor    %al,%al
423bec:	eb 90                	jmp    0x423b7e
423bee:	83 a5 9c f6 ff ff 00 	andl   $0x0,-0x964(%ebp)
423bf5:	83 a5 5c fc ff ff 00 	andl   $0x0,-0x3a4(%ebp)
423bfc:	6a 00                	push   $0x0
423bfe:	8d 85 a0 f6 ff ff    	lea    -0x960(%ebp),%eax
423c04:	50                   	push   %eax
423c05:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
423c0b:	e9 a1 04 00 00       	jmp    0x4240b1
423c10:	83 ff 01             	cmp    $0x1,%edi
423c13:	0f 84 a2 04 00 00    	je     0x4240bb
423c19:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
423c1f:	89 85 9c f8 ff ff    	mov    %eax,-0x764(%ebp)
423c25:	85 c0                	test   %eax,%eax
423c27:	0f 84 8e 04 00 00    	je     0x4240bb
423c2d:	33 f6                	xor    %esi,%esi
423c2f:	33 c9                	xor    %ecx,%ecx
423c31:	8b c7                	mov    %edi,%eax
423c33:	f7 a4 8d 60 fc ff ff 	mull   -0x3a0(%ebp,%ecx,4)
423c3a:	03 c6                	add    %esi,%eax
423c3c:	89 84 8d 60 fc ff ff 	mov    %eax,-0x3a0(%ebp,%ecx,4)
423c43:	83 d2 00             	adc    $0x0,%edx
423c46:	41                   	inc    %ecx
423c47:	8b f2                	mov    %edx,%esi
423c49:	3b 8d 9c f8 ff ff    	cmp    -0x764(%ebp),%ecx
423c4f:	75 e0                	jne    0x423c31
423c51:	85 f6                	test   %esi,%esi
423c53:	0f 84 62 04 00 00    	je     0x4240bb
423c59:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
423c5f:	83 f8 73             	cmp    $0x73,%eax
423c62:	0f 83 4b ff ff ff    	jae    0x423bb3
423c68:	89 b4 85 60 fc ff ff 	mov    %esi,-0x3a0(%ebp,%eax,4)
423c6f:	ff 85 5c fc ff ff    	incl   -0x3a4(%ebp)
423c75:	e9 41 04 00 00       	jmp    0x4240bb
423c7a:	f7 d8                	neg    %eax
423c7c:	f7 f1                	div    %ecx
423c7e:	89 85 ac f8 ff ff    	mov    %eax,-0x754(%ebp)
423c84:	8b ca                	mov    %edx,%ecx
423c86:	89 8d a8 f8 ff ff    	mov    %ecx,-0x758(%ebp)
423c8c:	85 c0                	test   %eax,%eax
423c8e:	0f 84 4c 03 00 00    	je     0x423fe0
423c94:	83 f8 26             	cmp    $0x26,%eax
423c97:	76 03                	jbe    0x423c9c
423c99:	6a 26                	push   $0x26
423c9b:	58                   	pop    %eax
423c9c:	0f b6 0c 85 36 b8 42 	movzbl 0x42b836(,%eax,4),%ecx
423ca3:	00
423ca4:	0f b6 34 85 37 b8 42 	movzbl 0x42b837(,%eax,4),%esi
423cab:	00
423cac:	8b f9                	mov    %ecx,%edi
423cae:	89 85 b4 f8 ff ff    	mov    %eax,-0x74c(%ebp)
423cb4:	c1 e7 02             	shl    $0x2,%edi
423cb7:	57                   	push   %edi
423cb8:	8d 04 31             	lea    (%ecx,%esi,1),%eax
423cbb:	89 85 8c fa ff ff    	mov    %eax,-0x574(%ebp)
423cc1:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
423cc7:	6a 00                	push   $0x0
423cc9:	50                   	push   %eax
423cca:	e8 11 4d fe ff       	call   0x4089e0
423ccf:	8b c6                	mov    %esi,%eax
423cd1:	c1 e0 02             	shl    $0x2,%eax
423cd4:	50                   	push   %eax
423cd5:	8b 85 b4 f8 ff ff    	mov    -0x74c(%ebp),%eax
423cdb:	0f b7 04 85 34 b8 42 	movzwl 0x42b834(,%eax,4),%eax
423ce2:	00
423ce3:	8d 04 85 30 af 42 00 	lea    0x42af30(,%eax,4),%eax
423cea:	50                   	push   %eax
423ceb:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
423cf1:	03 c7                	add    %edi,%eax
423cf3:	50                   	push   %eax
423cf4:	e8 67 47 fe ff       	call   0x408460
423cf9:	8b 8d 8c fa ff ff    	mov    -0x574(%ebp),%ecx
423cff:	83 c4 18             	add    $0x18,%esp
423d02:	89 8d a0 f8 ff ff    	mov    %ecx,-0x760(%ebp)
423d08:	83 f9 01             	cmp    $0x1,%ecx
423d0b:	0f 87 93 00 00 00    	ja     0x423da4
423d11:	8b bd 90 fa ff ff    	mov    -0x570(%ebp),%edi
423d17:	85 ff                	test   %edi,%edi
423d19:	75 1a                	jne    0x423d35
423d1b:	33 c0                	xor    %eax,%eax
423d1d:	89 85 9c f6 ff ff    	mov    %eax,-0x964(%ebp)
423d23:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
423d29:	50                   	push   %eax
423d2a:	8d 85 a0 f6 ff ff    	lea    -0x960(%ebp),%eax
423d30:	e9 72 02 00 00       	jmp    0x423fa7
423d35:	83 ff 01             	cmp    $0x1,%edi
423d38:	0f 84 7a 02 00 00    	je     0x423fb8
423d3e:	83 bd 2c fe ff ff 00 	cmpl   $0x0,-0x1d4(%ebp)
423d45:	0f 84 6d 02 00 00    	je     0x423fb8
423d4b:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
423d51:	33 c9                	xor    %ecx,%ecx
423d53:	89 85 9c f8 ff ff    	mov    %eax,-0x764(%ebp)
423d59:	33 f6                	xor    %esi,%esi
423d5b:	8b c7                	mov    %edi,%eax
423d5d:	f7 a4 b5 30 fe ff ff 	mull   -0x1d0(%ebp,%esi,4)
423d64:	03 c1                	add    %ecx,%eax
423d66:	89 84 b5 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%esi,4)
423d6d:	83 d2 00             	adc    $0x0,%edx
423d70:	46                   	inc    %esi
423d71:	8b ca                	mov    %edx,%ecx
423d73:	3b b5 9c f8 ff ff    	cmp    -0x764(%ebp),%esi
423d79:	75 e0                	jne    0x423d5b
423d7b:	85 c9                	test   %ecx,%ecx
423d7d:	0f 84 35 02 00 00    	je     0x423fb8
423d83:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
423d89:	83 f8 73             	cmp    $0x73,%eax
423d8c:	0f 83 c4 02 00 00    	jae    0x424056
423d92:	89 8c 85 30 fe ff ff 	mov    %ecx,-0x1d0(%ebp,%eax,4)
423d99:	ff 85 2c fe ff ff    	incl   -0x1d4(%ebp)
423d9f:	e9 14 02 00 00       	jmp    0x423fb8
423da4:	83 bd 2c fe ff ff 01 	cmpl   $0x1,-0x1d4(%ebp)
423dab:	77 7c                	ja     0x423e29
423dad:	8b bd 30 fe ff ff    	mov    -0x1d0(%ebp),%edi
423db3:	8b c1                	mov    %ecx,%eax
423db5:	c1 e0 02             	shl    $0x2,%eax
423db8:	50                   	push   %eax
423db9:	8d 85 90 fa ff ff    	lea    -0x570(%ebp),%eax
423dbf:	89 8d 2c fe ff ff    	mov    %ecx,-0x1d4(%ebp)
423dc5:	50                   	push   %eax
423dc6:	8d 85 30 fe ff ff    	lea    -0x1d0(%ebp),%eax
423dcc:	53                   	push   %ebx
423dcd:	50                   	push   %eax
423dce:	e8 b9 05 00 00       	call   0x42438c
423dd3:	83 c4 10             	add    $0x10,%esp
423dd6:	85 ff                	test   %edi,%edi
423dd8:	0f 84 3d ff ff ff    	je     0x423d1b
423dde:	83 ff 01             	cmp    $0x1,%edi
423de1:	0f 84 d1 01 00 00    	je     0x423fb8
423de7:	83 bd 2c fe ff ff 00 	cmpl   $0x0,-0x1d4(%ebp)
423dee:	0f 84 c4 01 00 00    	je     0x423fb8
423df4:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
423dfa:	33 c9                	xor    %ecx,%ecx
423dfc:	89 85 9c f8 ff ff    	mov    %eax,-0x764(%ebp)
423e02:	33 f6                	xor    %esi,%esi
423e04:	8b c7                	mov    %edi,%eax
423e06:	f7 a4 b5 30 fe ff ff 	mull   -0x1d0(%ebp,%esi,4)
423e0d:	03 c1                	add    %ecx,%eax
423e0f:	89 84 b5 30 fe ff ff 	mov    %eax,-0x1d0(%ebp,%esi,4)
423e16:	83 d2 00             	adc    $0x0,%edx
423e19:	46                   	inc    %esi
423e1a:	8b ca                	mov    %edx,%ecx
423e1c:	3b b5 9c f8 ff ff    	cmp    -0x764(%ebp),%esi
423e22:	75 e0                	jne    0x423e04
423e24:	e9 52 ff ff ff       	jmp    0x423d7b
423e29:	3b 8d 2c fe ff ff    	cmp    -0x1d4(%ebp),%ecx
423e2f:	8d bd 90 fa ff ff    	lea    -0x570(%ebp),%edi
423e35:	0f 92 c0             	setb   %al
423e38:	84 c0                	test   %al,%al
423e3a:	0f 85 83 00 00 00    	jne    0x423ec3
423e40:	8d bd 30 fe ff ff    	lea    -0x1d0(%ebp),%edi
423e46:	8d 95 90 fa ff ff    	lea    -0x570(%ebp),%edx
423e4c:	89 95 90 f8 ff ff    	mov    %edx,-0x770(%ebp)
423e52:	84 c0                	test   %al,%al
423e54:	75 06                	jne    0x423e5c
423e56:	8b 8d 2c fe ff ff    	mov    -0x1d4(%ebp),%ecx
423e5c:	89 8d b0 f8 ff ff    	mov    %ecx,-0x750(%ebp)
423e62:	84 c0                	test   %al,%al
423e64:	74 0c                	je     0x423e72
423e66:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
423e6c:	89 85 a0 f8 ff ff    	mov    %eax,-0x760(%ebp)
423e72:	33 d2                	xor    %edx,%edx
423e74:	33 f6                	xor    %esi,%esi
423e76:	89 95 bc f8 ff ff    	mov    %edx,-0x744(%ebp)
423e7c:	85 c9                	test   %ecx,%ecx
423e7e:	0f 84 11 01 00 00    	je     0x423f95
423e84:	8d 85 c0 f8 ff ff    	lea    -0x740(%ebp),%eax
423e8a:	2b f8                	sub    %eax,%edi
423e8c:	89 bd 7c f8 ff ff    	mov    %edi,-0x784(%ebp)
423e92:	8d 04 b7             	lea    (%edi,%esi,4),%eax
423e95:	8b 84 05 c0 f8 ff ff 	mov    -0x740(%ebp,%eax,1),%eax
423e9c:	89 85 9c f8 ff ff    	mov    %eax,-0x764(%ebp)
423ea2:	85 c0                	test   %eax,%eax
423ea4:	75 25                	jne    0x423ecb
423ea6:	3b f2                	cmp    %edx,%esi
423ea8:	0f 85 de 00 00 00    	jne    0x423f8c
423eae:	21 84 b5 c0 f8 ff ff 	and    %eax,-0x740(%ebp,%esi,4)