418955:	85 f6                	test   %esi,%esi
418957:	0f 85 8b 00 00 00    	jne    0x4189e8
41895d:	e9 84 00 00 00       	jmp    0x4189e6
418962:	8d 04 36             	lea    (%esi,%esi,1),%eax
418965:	8d 48 08             	lea    0x8(%eax),%ecx
418968:	3b c1                	cmp    %ecx,%eax
41896a:	1b c0                	sbb    %eax,%eax
41896c:	23 c1                	and    %ecx,%eax
41896e:	74 2f                	je     0x41899f
418970:	3b c2                	cmp    %edx,%eax
418972:	77 13                	ja     0x418987
418974:	e8 67 f2 fe ff       	call   0x407be0
418979:	8b fc                	mov    %esp,%edi
41897b:	85 ff                	test   %edi,%edi
41897d:	74 60                	je     0x4189df
41897f:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
418985:	eb 13                	jmp    0x41899a
418987:	50                   	push   %eax
418988:	e8 d9 b1 ff ff       	call   0x413b66
41898d:	8b f8                	mov    %eax,%edi
41898f:	59                   	pop    %ecx
418990:	85 ff                	test   %edi,%edi
418992:	74 4b                	je     0x4189df
418994:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
41899a:	83 c7 08             	add    $0x8,%edi
41899d:	eb 02                	jmp    0x4189a1
41899f:	33 ff                	xor    %edi,%edi
4189a1:	85 ff                	test   %edi,%edi
4189a3:	74 3a                	je     0x4189df
4189a5:	6a 00                	push   $0x0
4189a7:	6a 00                	push   $0x0
4189a9:	6a 00                	push   $0x0
4189ab:	56                   	push   %esi
4189ac:	57                   	push   %edi
4189ad:	ff 75 f8             	push   -0x8(%ebp)
4189b0:	53                   	push   %ebx
4189b1:	ff 75 10             	push   0x10(%ebp)
4189b4:	ff 75 0c             	push   0xc(%ebp)
4189b7:	e8 98 ad ff ff       	call   0x413754
4189bc:	85 c0                	test   %eax,%eax
4189be:	74 1f                	je     0x4189df
4189c0:	33 c0                	xor    %eax,%eax
4189c2:	50                   	push   %eax
4189c3:	50                   	push   %eax
4189c4:	39 45 20             	cmp    %eax,0x20(%ebp)
4189c7:	75 3a                	jne    0x418a03
4189c9:	50                   	push   %eax
4189ca:	50                   	push   %eax
4189cb:	56                   	push   %esi
4189cc:	57                   	push   %edi
4189cd:	50                   	push   %eax
4189ce:	ff 75 24             	push   0x24(%ebp)
4189d1:	e8 15 19 00 00       	call   0x41a2eb
4189d6:	8b f0                	mov    %eax,%esi
4189d8:	83 c4 20             	add    $0x20,%esp
4189db:	85 f6                	test   %esi,%esi
4189dd:	75 2c                	jne    0x418a0b
4189df:	57                   	push   %edi
4189e0:	e8 09 ea fe ff       	call   0x4073ee
4189e5:	59                   	pop    %ecx
4189e6:	33 f6                	xor    %esi,%esi
4189e8:	53                   	push   %ebx
4189e9:	e8 00 ea fe ff       	call   0x4073ee
4189ee:	59                   	pop    %ecx
4189ef:	8b c6                	mov    %esi,%eax
4189f1:	8d 65 ec             	lea    -0x14(%ebp),%esp
4189f4:	5f                   	pop    %edi
4189f5:	5e                   	pop    %esi
4189f6:	5b                   	pop    %ebx
4189f7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4189fa:	33 cd                	xor    %ebp,%ecx
4189fc:	e8 0b ea fe ff       	call   0x40740c
418a01:	c9                   	leave
418a02:	c3                   	ret
418a03:	ff 75 20             	push   0x20(%ebp)
418a06:	ff 75 1c             	push   0x1c(%ebp)
418a09:	eb c0                	jmp    0x4189cb
418a0b:	57                   	push   %edi
418a0c:	e8 dd e9 fe ff       	call   0x4073ee
418a11:	59                   	pop    %ecx
418a12:	eb d4                	jmp    0x4189e8
418a14:	8b ff                	mov    %edi,%edi
418a16:	55                   	push   %ebp
418a17:	8b ec                	mov    %esp,%ebp
418a19:	83 ec 10             	sub    $0x10,%esp
418a1c:	ff 75 08             	push   0x8(%ebp)
418a1f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
418a22:	e8 57 32 ff ff       	call   0x40bc7e
418a27:	ff 75 28             	push   0x28(%ebp)
418a2a:	8d 45 f4             	lea    -0xc(%ebp),%eax
418a2d:	ff 75 24             	push   0x24(%ebp)
418a30:	ff 75 20             	push   0x20(%ebp)
418a33:	ff 75 1c             	push   0x1c(%ebp)
418a36:	ff 75 18             	push   0x18(%ebp)
418a39:	ff 75 14             	push   0x14(%ebp)
418a3c:	ff 75 10             	push   0x10(%ebp)
418a3f:	ff 75 0c             	push   0xc(%ebp)
418a42:	50                   	push   %eax
418a43:	e8 e2 fd ff ff       	call   0x41882a
418a48:	83 c4 24             	add    $0x24,%esp
418a4b:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
418a4f:	74 0a                	je     0x418a5b
418a51:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418a54:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
418a5b:	c9                   	leave
418a5c:	c3                   	ret
418a5d:	8b ff                	mov    %edi,%edi
418a5f:	55                   	push   %ebp
418a60:	8b ec                	mov    %esp,%ebp
418a62:	8b 55 08             	mov    0x8(%ebp),%edx
418a65:	56                   	push   %esi
418a66:	85 d2                	test   %edx,%edx
418a68:	74 13                	je     0x418a7d
418a6a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
418a6d:	85 c9                	test   %ecx,%ecx
418a6f:	74 0c                	je     0x418a7d
418a71:	8b 75 10             	mov    0x10(%ebp),%esi
418a74:	85 f6                	test   %esi,%esi
418a76:	75 19                	jne    0x418a91
418a78:	33 c0                	xor    %eax,%eax
418a7a:	66 89 02             	mov    %ax,(%edx)
418a7d:	e8 79 63 ff ff       	call   0x40edfb
418a82:	6a 16                	push   $0x16
418a84:	5e                   	pop    %esi
418a85:	89 30                	mov    %esi,(%eax)
418a87:	e8 f5 45 ff ff       	call   0x40d081
418a8c:	8b c6                	mov    %esi,%eax
418a8e:	5e                   	pop    %esi
418a8f:	5d                   	pop    %ebp
418a90:	c3                   	ret
418a91:	57                   	push   %edi
418a92:	8b fa                	mov    %edx,%edi
418a94:	2b f2                	sub    %edx,%esi
418a96:	0f b7 04 3e          	movzwl (%esi,%edi,1),%eax
418a9a:	66 89 07             	mov    %ax,(%edi)
418a9d:	8d 7f 02             	lea    0x2(%edi),%edi
418aa0:	66 85 c0             	test   %ax,%ax
418aa3:	74 05                	je     0x418aaa
418aa5:	83 e9 01             	sub    $0x1,%ecx
418aa8:	75 ec                	jne    0x418a96
418aaa:	5f                   	pop    %edi
418aab:	85 c9                	test   %ecx,%ecx
418aad:	75 0e                	jne    0x418abd
418aaf:	33 c0                	xor    %eax,%eax
418ab1:	66 89 02             	mov    %ax,(%edx)
418ab4:	e8 42 63 ff ff       	call   0x40edfb
418ab9:	6a 22                	push   $0x22
418abb:	eb c7                	jmp    0x418a84
418abd:	33 f6                	xor    %esi,%esi
418abf:	eb cb                	jmp    0x418a8c
418ac1:	6a 0c                	push   $0xc
418ac3:	68 60 19 43 00       	push   $0x431960
418ac8:	e8 f3 f4 fe ff       	call   0x407fc0
418acd:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
418ad1:	8b 45 08             	mov    0x8(%ebp),%eax
418ad4:	ff 30                	push   (%eax)
418ad6:	e8 48 46 ff ff       	call   0x40d123
418adb:	59                   	pop    %ecx
418adc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
418ae0:	8b 35 14 30 43 00    	mov    0x433014,%esi
418ae6:	8b ce                	mov    %esi,%ecx
418ae8:	83 e1 1f             	and    $0x1f,%ecx
418aeb:	33 35 e4 4c 43 00    	xor    0x434ce4,%esi
418af1:	d3 ce                	ror    %cl,%esi
418af3:	89 75 e4             	mov    %esi,-0x1c(%ebp)
418af6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
418afd:	e8 17 00 00 00       	call   0x418b19
418b02:	8b c6                	mov    %esi,%eax
418b04:	8b 4d f0             	mov    -0x10(%ebp),%ecx
418b07:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
418b0e:	59                   	pop    %ecx
418b0f:	5f                   	pop    %edi
418b10:	5e                   	pop    %esi
418b11:	5b                   	pop    %ebx
418b12:	c9                   	leave
418b13:	c2 0c 00             	ret    $0xc
418b16:	8b 75 e4             	mov    -0x1c(%ebp),%esi
418b19:	8b 4d 10             	mov    0x10(%ebp),%ecx
418b1c:	ff 31                	push   (%ecx)
418b1e:	e8 48 46 ff ff       	call   0x40d16b
418b23:	59                   	pop    %ecx
418b24:	c3                   	ret
418b25:	8b ff                	mov    %edi,%edi
418b27:	55                   	push   %ebp
418b28:	8b ec                	mov    %esp,%ebp
418b2a:	8b 45 08             	mov    0x8(%ebp),%eax
418b2d:	48                   	dec    %eax
418b2e:	83 e8 01             	sub    $0x1,%eax
418b31:	74 2d                	je     0x418b60
418b33:	83 e8 04             	sub    $0x4,%eax
418b36:	74 21                	je     0x418b59
418b38:	83 e8 09             	sub    $0x9,%eax
418b3b:	74 15                	je     0x418b52
418b3d:	83 e8 06             	sub    $0x6,%eax
418b40:	74 09                	je     0x418b4b
418b42:	83 e8 01             	sub    $0x1,%eax
418b45:	74 12                	je     0x418b59
418b47:	33 c0                	xor    %eax,%eax
418b49:	5d                   	pop    %ebp
418b4a:	c3                   	ret
418b4b:	b8 e0 4c 43 00       	mov    $0x434ce0,%eax
418b50:	5d                   	pop    %ebp
418b51:	c3                   	ret
418b52:	b8 e8 4c 43 00       	mov    $0x434ce8,%eax
418b57:	5d                   	pop    %ebp
418b58:	c3                   	ret
418b59:	b8 e4 4c 43 00       	mov    $0x434ce4,%eax
418b5e:	5d                   	pop    %ebp
418b5f:	c3                   	ret
418b60:	b8 dc 4c 43 00       	mov    $0x434cdc,%eax
418b65:	5d                   	pop    %ebp
418b66:	c3                   	ret
418b67:	8b ff                	mov    %edi,%edi
418b69:	55                   	push   %ebp
418b6a:	8b ec                	mov    %esp,%ebp
418b6c:	6b 0d c0 74 42 00 0c 	imul   $0xc,0x4274c0,%ecx
418b73:	8b 45 0c             	mov    0xc(%ebp),%eax
418b76:	03 c8                	add    %eax,%ecx
418b78:	3b c1                	cmp    %ecx,%eax
418b7a:	74 0f                	je     0x418b8b
418b7c:	8b 55 08             	mov    0x8(%ebp),%edx
418b7f:	39 50 04             	cmp    %edx,0x4(%eax)
418b82:	74 09                	je     0x418b8d
418b84:	83 c0 0c             	add    $0xc,%eax
418b87:	3b c1                	cmp    %ecx,%eax
418b89:	75 f4                	jne    0x418b7f
418b8b:	33 c0                	xor    %eax,%eax
418b8d:	5d                   	pop    %ebp
418b8e:	c3                   	ret
418b8f:	8b ff                	mov    %edi,%edi
418b91:	55                   	push   %ebp
418b92:	8b ec                	mov    %esp,%ebp
418b94:	83 ec 0c             	sub    $0xc,%esp
418b97:	6a 03                	push   $0x3
418b99:	58                   	pop    %eax
418b9a:	89 45 f8             	mov    %eax,-0x8(%ebp)
418b9d:	8d 4d ff             	lea    -0x1(%ebp),%ecx
418ba0:	89 45 f4             	mov    %eax,-0xc(%ebp)
418ba3:	8d 45 f8             	lea    -0x8(%ebp),%eax
418ba6:	50                   	push   %eax
418ba7:	8d 45 ff             	lea    -0x1(%ebp),%eax
418baa:	50                   	push   %eax
418bab:	8d 45 f4             	lea    -0xc(%ebp),%eax
418bae:	50                   	push   %eax
418baf:	e8 0d ff ff ff       	call   0x418ac1
418bb4:	c9                   	leave
418bb5:	c3                   	ret
418bb6:	8b ff                	mov    %edi,%edi
418bb8:	55                   	push   %ebp
418bb9:	8b ec                	mov    %esp,%ebp
418bbb:	8b 45 08             	mov    0x8(%ebp),%eax
418bbe:	a3 dc 4c 43 00       	mov    %eax,0x434cdc
418bc3:	a3 e0 4c 43 00       	mov    %eax,0x434ce0
418bc8:	a3 e4 4c 43 00       	mov    %eax,0x434ce4
418bcd:	a3 e8 4c 43 00       	mov    %eax,0x434ce8
418bd2:	5d                   	pop    %ebp
418bd3:	c3                   	ret
418bd4:	6a 24                	push   $0x24
418bd6:	68 40 19 43 00       	push   $0x431940
418bdb:	e8 e0 f3 fe ff       	call   0x407fc0
418be0:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
418be4:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
418be8:	b1 01                	mov    $0x1,%cl
418bea:	88 4d e7             	mov    %cl,-0x19(%ebp)
418bed:	8b 75 08             	mov    0x8(%ebp),%esi
418bf0:	6a 08                	push   $0x8
418bf2:	5b                   	pop    %ebx
418bf3:	3b f3                	cmp    %ebx,%esi
418bf5:	7f 18                	jg     0x418c0f
418bf7:	74 37                	je     0x418c30
418bf9:	8d 46 ff             	lea    -0x1(%esi),%eax
418bfc:	83 e8 01             	sub    $0x1,%eax
418bff:	74 22                	je     0x418c23
418c01:	48                   	dec    %eax
418c02:	83 e8 01             	sub    $0x1,%eax
418c05:	74 29                	je     0x418c30
418c07:	48                   	dec    %eax
418c08:	83 e8 01             	sub    $0x1,%eax
418c0b:	75 47                	jne    0x418c54
418c0d:	eb 14                	jmp    0x418c23
418c0f:	83 fe 0b             	cmp    $0xb,%esi
418c12:	74 1c                	je     0x418c30
418c14:	83 fe 0f             	cmp    $0xf,%esi
418c17:	74 0a                	je     0x418c23
418c19:	83 fe 14             	cmp    $0x14,%esi
418c1c:	7e 36                	jle    0x418c54
418c1e:	83 fe 16             	cmp    $0x16,%esi
418c21:	7f 31                	jg     0x418c54
418c23:	56                   	push   %esi
418c24:	e8 fc fe ff ff       	call   0x418b25
418c29:	83 c4 04             	add    $0x4,%esp
418c2c:	8b f8                	mov    %eax,%edi
418c2e:	eb 3e                	jmp    0x418c6e
418c30:	e8 f5 b6 ff ff       	call   0x41432a
418c35:	8b f8                	mov    %eax,%edi
418c37:	89 7d e0             	mov    %edi,-0x20(%ebp)
418c3a:	85 ff                	test   %edi,%edi
418c3c:	75 08                	jne    0x418c46
418c3e:	83 c8 ff             	or     $0xffffffff,%eax
418c41:	e9 5d 01 00 00       	jmp    0x418da3
418c46:	ff 37                	push   (%edi)
418c48:	56                   	push   %esi
418c49:	e8 19 ff ff ff       	call   0x418b67
418c4e:	59                   	pop    %ecx
418c4f:	59                   	pop    %ecx
418c50:	85 c0                	test   %eax,%eax
418c52:	75 12                	jne    0x418c66
418c54:	e8 a2 61 ff ff       	call   0x40edfb
418c59:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
418c5f:	e8 1d 44 ff ff       	call   0x40d081
418c64:	eb d8                	jmp    0x418c3e
418c66:	8d 78 08             	lea    0x8(%eax),%edi
418c69:	32 c9                	xor    %cl,%cl
418c6b:	88 4d e7             	mov    %cl,-0x19(%ebp)
418c6e:	89 7d dc             	mov    %edi,-0x24(%ebp)
418c71:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
418c75:	84 c9                	test   %cl,%cl
418c77:	74 0b                	je     0x418c84
418c79:	6a 03                	push   $0x3
418c7b:	e8 a3 44 ff ff       	call   0x40d123
418c80:	59                   	pop    %ecx
418c81:	8a 4d e7             	mov    -0x19(%ebp),%cl
418c84:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
418c88:	c6 45 e6 00          	movb   $0x0,-0x1a(%ebp)
418c8c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
418c90:	8b 3f                	mov    (%edi),%edi
418c92:	84 c9                	test   %cl,%cl
418c94:	74 14                	je     0x418caa
418c96:	8b 0d 14 30 43 00    	mov    0x433014,%ecx
418c9c:	83 e1 1f             	and    $0x1f,%ecx
418c9f:	33 3d 14 30 43 00    	xor    0x433014,%edi
418ca5:	d3 cf                	ror    %cl,%edi
418ca7:	8a 4d e7             	mov    -0x19(%ebp),%cl
418caa:	89 7d d8             	mov    %edi,-0x28(%ebp)
418cad:	83 ff 01             	cmp    $0x1,%edi
418cb0:	0f 94 c0             	sete   %al
418cb3:	88 45 e6             	mov    %al,-0x1a(%ebp)
418cb6:	84 c0                	test   %al,%al
418cb8:	75 71                	jne    0x418d2b
418cba:	85 ff                	test   %edi,%edi
418cbc:	0f 84 f1 00 00 00    	je     0x418db3
418cc2:	3b f3                	cmp    %ebx,%esi
418cc4:	74 0a                	je     0x418cd0
418cc6:	83 fe 0b             	cmp    $0xb,%esi
418cc9:	74 05                	je     0x418cd0
418ccb:	83 fe 04             	cmp    $0x4,%esi
418cce:	75 28                	jne    0x418cf8
418cd0:	8b 45 e0             	mov    -0x20(%ebp),%eax
418cd3:	8b 48 04             	mov    0x4(%eax),%ecx
418cd6:	89 4d d4             	mov    %ecx,-0x2c(%ebp)