418a1d:	85 c0                	test   %eax,%eax
418a1f:	74 05                	je     0x418a26
418a21:	83 e8 04             	sub    $0x4,%eax
418a24:	8b 00                	mov    (%eax),%eax
418a26:	8b d8                	mov    %eax,%ebx
418a28:	85 db                	test   %ebx,%ebx
418a2a:	74 10                	je     0x418a3c
418a2c:	8b 55 e0             	mov    -0x20(%ebp),%edx
418a2f:	8b 45 f8             	mov    -0x8(%ebp),%eax
418a32:	8b cb                	mov    %ebx,%ecx
418a34:	e8 a3 a4 fe ff       	call   0x402edc
418a39:	01 5d e0             	add    %ebx,-0x20(%ebp)
418a3c:	ff 45 ec             	incl   -0x14(%ebp)
418a3f:	4e                   	dec    %esi
418a40:	75 a8                	jne    0x4189ea
418a42:	33 c0                	xor    %eax,%eax
418a44:	5a                   	pop    %edx
418a45:	59                   	pop    %ecx
418a46:	59                   	pop    %ecx
418a47:	64 89 10             	mov    %edx,%fs:(%eax)
418a4a:	68 6c 8a 41 00       	push   $0x418a6c
418a4f:	8d 45 dc             	lea    -0x24(%ebp),%eax
418a52:	e8 c9 bc fe ff       	call   0x404720
418a57:	8d 45 f8             	lea    -0x8(%ebp),%eax
418a5a:	ba 02 00 00 00       	mov    $0x2,%edx
418a5f:	e8 e0 bc fe ff       	call   0x404744
418a64:	c3                   	ret
418a65:	e9 1e b6 fe ff       	jmp    0x404088
418a6a:	eb e3                	jmp    0x418a4f
418a6c:	5e                   	pop    %esi
418a6d:	5b                   	pop    %ebx
418a6e:	8b e5                	mov    %ebp,%esp
418a70:	5d                   	pop    %ebp
418a71:	c3                   	ret
418a72:	8b c0                	mov    %eax,%eax
418a74:	55                   	push   %ebp
418a75:	8b ec                	mov    %esp,%ebp
418a77:	83 c4 f4             	add    $0xfffffff4,%esp
418a7a:	53                   	push   %ebx
418a7b:	56                   	push   %esi
418a7c:	57                   	push   %edi
418a7d:	33 c9                	xor    %ecx,%ecx
418a7f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
418a82:	89 55 fc             	mov    %edx,-0x4(%ebp)
418a85:	8b d8                	mov    %eax,%ebx
418a87:	33 c0                	xor    %eax,%eax
418a89:	55                   	push   %ebp
418a8a:	68 ec 8a 41 00       	push   $0x418aec
418a8f:	64 ff 30             	push   %fs:(%eax)
418a92:	64 89 20             	mov    %esp,%fs:(%eax)
418a95:	8b c3                	mov    %ebx,%eax
418a97:	8b 10                	mov    (%eax),%edx
418a99:	ff 52 14             	call   *0x14(%edx)
418a9c:	8b f0                	mov    %eax,%esi
418a9e:	4e                   	dec    %esi
418a9f:	85 f6                	test   %esi,%esi
418aa1:	7c 2c                	jl     0x418acf
418aa3:	46                   	inc    %esi
418aa4:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
418aab:	8d 4d f4             	lea    -0xc(%ebp),%ecx
418aae:	8b 55 f8             	mov    -0x8(%ebp),%edx
418ab1:	8b c3                	mov    %ebx,%eax
418ab3:	8b 38                	mov    (%eax),%edi
418ab5:	ff 57 0c             	call   *0xc(%edi)
418ab8:	8b 55 f4             	mov    -0xc(%ebp),%edx
418abb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
418abe:	8b c3                	mov    %ebx,%eax
418ac0:	8b 38                	mov    (%eax),%edi
418ac2:	ff 57 34             	call   *0x34(%edi)
418ac5:	85 c0                	test   %eax,%eax
418ac7:	74 0d                	je     0x418ad6
418ac9:	ff 45 f8             	incl   -0x8(%ebp)
418acc:	4e                   	dec    %esi
418acd:	75 dc                	jne    0x418aab
418acf:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%ebp)
418ad6:	33 c0                	xor    %eax,%eax
418ad8:	5a                   	pop    %edx
418ad9:	59                   	pop    %ecx
418ada:	59                   	pop    %ecx
418adb:	64 89 10             	mov    %edx,%fs:(%eax)
418ade:	68 f3 8a 41 00       	push   $0x418af3
418ae3:	8d 45 f4             	lea    -0xc(%ebp),%eax
418ae6:	e8 35 bc fe ff       	call   0x404720
418aeb:	c3                   	ret
418aec:	e9 97 b5 fe ff       	jmp    0x404088
418af1:	eb f0                	jmp    0x418ae3
418af3:	8b 45 f8             	mov    -0x8(%ebp),%eax
418af6:	5f                   	pop    %edi
418af7:	5e                   	pop    %esi
418af8:	5b                   	pop    %ebx
418af9:	8b e5                	mov    %ebp,%esp
418afb:	5d                   	pop    %ebp
418afc:	c3                   	ret
418afd:	8d 40 00             	lea    0x0(%eax),%eax
418b00:	55                   	push   %ebp
418b01:	8b ec                	mov    %esp,%ebp
418b03:	83 c4 e8             	add    $0xffffffe8,%esp
418b06:	53                   	push   %ebx
418b07:	56                   	push   %esi
418b08:	33 c9                	xor    %ecx,%ecx
418b0a:	89 4d e8             	mov    %ecx,-0x18(%ebp)
418b0d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
418b10:	89 4d fc             	mov    %ecx,-0x4(%ebp)
418b13:	89 55 f8             	mov    %edx,-0x8(%ebp)
418b16:	8b d8                	mov    %eax,%ebx
418b18:	33 c0                	xor    %eax,%eax
418b1a:	55                   	push   %ebp
418b1b:	68 c3 8b 41 00       	push   $0x418bc3
418b20:	64 ff 30             	push   %fs:(%eax)
418b23:	64 89 20             	mov    %esp,%fs:(%eax)
418b26:	8b c3                	mov    %ebx,%eax
418b28:	8b 10                	mov    (%eax),%edx
418b2a:	ff 52 14             	call   *0x14(%edx)
418b2d:	48                   	dec    %eax
418b2e:	85 c0                	test   %eax,%eax
418b30:	7c 67                	jl     0x418b99
418b32:	40                   	inc    %eax
418b33:	89 45 f0             	mov    %eax,-0x10(%ebp)
418b36:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
418b3d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
418b40:	8b 55 f4             	mov    -0xc(%ebp),%edx
418b43:	8b c3                	mov    %ebx,%eax
418b45:	8b 30                	mov    (%eax),%esi
418b47:	ff 56 0c             	call   *0xc(%esi)
418b4a:	8b c3                	mov    %ebx,%eax
418b4c:	e8 8b 07 00 00       	call   0x4192dc
418b51:	8b d0                	mov    %eax,%edx
418b53:	8d 45 ec             	lea    -0x14(%ebp),%eax
418b56:	e8 ad bd fe ff       	call   0x404908
418b5b:	8b 45 ec             	mov    -0x14(%ebp),%eax
418b5e:	8b 55 fc             	mov    -0x4(%ebp),%edx
418b61:	e8 aa 43 ff ff       	call   0x40cf10
418b66:	8b f0                	mov    %eax,%esi
418b68:	85 f6                	test   %esi,%esi
418b6a:	74 25                	je     0x418b91
418b6c:	8d 45 e8             	lea    -0x18(%ebp),%eax
418b6f:	50                   	push   %eax
418b70:	8b ce                	mov    %esi,%ecx
418b72:	49                   	dec    %ecx
418b73:	ba 01 00 00 00       	mov    $0x1,%edx
418b78:	8b 45 fc             	mov    -0x4(%ebp),%eax
418b7b:	e8 c4 c0 fe ff       	call   0x404c44
418b80:	8b 55 e8             	mov    -0x18(%ebp),%edx
418b83:	8b 4d f8             	mov    -0x8(%ebp),%ecx
418b86:	8b c3                	mov    %ebx,%eax
418b88:	8b 30                	mov    (%eax),%esi
418b8a:	ff 56 34             	call   *0x34(%esi)
418b8d:	85 c0                	test   %eax,%eax
418b8f:	74 0f                	je     0x418ba0
418b91:	ff 45 f4             	incl   -0xc(%ebp)
418b94:	ff 4d f0             	decl   -0x10(%ebp)
418b97:	75 a4                	jne    0x418b3d
418b99:	c7 45 f4 ff ff ff ff 	movl   $0xffffffff,-0xc(%ebp)
418ba0:	33 c0                	xor    %eax,%eax
418ba2:	5a                   	pop    %edx
418ba3:	59                   	pop    %ecx
418ba4:	59                   	pop    %ecx
418ba5:	64 89 10             	mov    %edx,%fs:(%eax)
418ba8:	68 ca 8b 41 00       	push   $0x418bca
418bad:	8d 45 e8             	lea    -0x18(%ebp),%eax
418bb0:	ba 02 00 00 00       	mov    $0x2,%edx
418bb5:	e8 8a bb fe ff       	call   0x404744
418bba:	8d 45 fc             	lea    -0x4(%ebp),%eax
418bbd:	e8 5e bb fe ff       	call   0x404720
418bc2:	c3                   	ret
418bc3:	e9 c0 b4 fe ff       	jmp    0x404088
418bc8:	eb e3                	jmp    0x418bad
418bca:	8b 45 f4             	mov    -0xc(%ebp),%eax
418bcd:	5e                   	pop    %esi
418bce:	5b                   	pop    %ebx
418bcf:	8b e5                	mov    %ebp,%esp
418bd1:	5d                   	pop    %ebp
418bd2:	c3                   	ret
418bd3:	90                   	nop
418bd4:	53                   	push   %ebx
418bd5:	56                   	push   %esi
418bd6:	57                   	push   %edi
418bd7:	55                   	push   %ebp
418bd8:	8b ea                	mov    %edx,%ebp
418bda:	8b f8                	mov    %eax,%edi
418bdc:	8b c7                	mov    %edi,%eax
418bde:	8b 10                	mov    (%eax),%edx
418be0:	ff 52 14             	call   *0x14(%edx)
418be3:	8b d8                	mov    %eax,%ebx
418be5:	4b                   	dec    %ebx
418be6:	85 db                	test   %ebx,%ebx
418be8:	7c 14                	jl     0x418bfe
418bea:	43                   	inc    %ebx
418beb:	33 f6                	xor    %esi,%esi
418bed:	8b d6                	mov    %esi,%edx
418bef:	8b c7                	mov    %edi,%eax
418bf1:	8b 08                	mov    (%eax),%ecx
418bf3:	ff 51 18             	call   *0x18(%ecx)
418bf6:	3b e8                	cmp    %eax,%ebp
418bf8:	74 07                	je     0x418c01
418bfa:	46                   	inc    %esi
418bfb:	4b                   	dec    %ebx
418bfc:	75 ef                	jne    0x418bed
418bfe:	83 ce ff             	or     $0xffffffff,%esi
418c01:	8b c6                	mov    %esi,%eax
418c03:	5d                   	pop    %ebp
418c04:	5f                   	pop    %edi
418c05:	5e                   	pop    %esi
418c06:	5b                   	pop    %ebx
418c07:	c3                   	ret
418c08:	55                   	push   %ebp
418c09:	8b ec                	mov    %esp,%ebp
418c0b:	51                   	push   %ecx
418c0c:	53                   	push   %ebx
418c0d:	56                   	push   %esi
418c0e:	57                   	push   %edi
418c0f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
418c12:	8b da                	mov    %edx,%ebx
418c14:	8b f0                	mov    %eax,%esi
418c16:	8b 4d fc             	mov    -0x4(%ebp),%ecx
418c19:	8b d3                	mov    %ebx,%edx
418c1b:	8b c6                	mov    %esi,%eax
418c1d:	8b 38                	mov    (%eax),%edi
418c1f:	ff 57 60             	call   *0x60(%edi)
418c22:	8b 4d 08             	mov    0x8(%ebp),%ecx
418c25:	8b d3                	mov    %ebx,%edx
418c27:	8b c6                	mov    %esi,%eax
418c29:	8b 18                	mov    (%eax),%ebx
418c2b:	ff 53 24             	call   *0x24(%ebx)
418c2e:	5f                   	pop    %edi
418c2f:	5e                   	pop    %esi
418c30:	5b                   	pop    %ebx
418c31:	59                   	pop    %ecx
418c32:	5d                   	pop    %ebp
418c33:	c2 04 00             	ret    $0x4
418c36:	8b c0                	mov    %eax,%eax
418c38:	55                   	push   %ebp
418c39:	8b ec                	mov    %esp,%ebp
418c3b:	51                   	push   %ecx
418c3c:	53                   	push   %ebx
418c3d:	8b d8                	mov    %eax,%ebx
418c3f:	6a 20                	push   $0x20
418c41:	8b ca                	mov    %edx,%ecx
418c43:	a1 e8 5d 41 00       	mov    0x415de8,%eax
418c48:	b2 01                	mov    $0x1,%dl
418c4a:	e8 51 12 00 00       	call   0x419ea0
418c4f:	89 45 fc             	mov    %eax,-0x4(%ebp)
418c52:	33 c0                	xor    %eax,%eax
418c54:	55                   	push   %ebp
418c55:	68 80 8c 41 00       	push   $0x418c80
418c5a:	64 ff 30             	push   %fs:(%eax)
418c5d:	64 89 20             	mov    %esp,%fs:(%eax)
418c60:	8b 55 fc             	mov    -0x4(%ebp),%edx
418c63:	8b c3                	mov    %ebx,%eax
418c65:	8b 08                	mov    (%eax),%ecx
418c67:	ff 51 6c             	call   *0x6c(%ecx)
418c6a:	33 c0                	xor    %eax,%eax
418c6c:	5a                   	pop    %edx
418c6d:	59                   	pop    %ecx
418c6e:	59                   	pop    %ecx
418c6f:	64 89 10             	mov    %edx,%fs:(%eax)
418c72:	68 87 8c 41 00       	push   $0x418c87
418c77:	8b 45 fc             	mov    -0x4(%ebp),%eax
418c7a:	e8 75 ac fe ff       	call   0x4038f4
418c7f:	c3                   	ret
418c80:	e9 03 b4 fe ff       	jmp    0x404088
418c85:	eb f0                	jmp    0x418c77
418c87:	5b                   	pop    %ebx
418c88:	59                   	pop    %ecx
418c89:	5d                   	pop    %ebp
418c8a:	c3                   	ret
418c8b:	90                   	nop
418c8c:	55                   	push   %ebp
418c8d:	8b ec                	mov    %esp,%ebp
418c8f:	83 c4 f8             	add    $0xfffffff8,%esp
418c92:	53                   	push   %ebx
418c93:	56                   	push   %esi
418c94:	33 c9                	xor    %ecx,%ecx
418c96:	89 4d fc             	mov    %ecx,-0x4(%ebp)
418c99:	8b da                	mov    %edx,%ebx
418c9b:	89 45 f8             	mov    %eax,-0x8(%ebp)
418c9e:	33 c0                	xor    %eax,%eax
418ca0:	55                   	push   %ebp
418ca1:	68 29 8d 41 00       	push   $0x418d29
418ca6:	64 ff 30             	push   %fs:(%eax)
418ca9:	64 89 20             	mov    %esp,%fs:(%eax)
418cac:	8b 45 f8             	mov    -0x8(%ebp),%eax
418caf:	e8 30 f9 ff ff       	call   0x4185e4
418cb4:	33 c0                	xor    %eax,%eax
418cb6:	55                   	push   %ebp
418cb7:	68 0c 8d 41 00       	push   $0x418d0c
418cbc:	64 ff 30             	push   %fs:(%eax)
418cbf:	64 89 20             	mov    %esp,%fs:(%eax)
418cc2:	8b c3                	mov    %ebx,%eax
418cc4:	8b 10                	mov    (%eax),%edx
418cc6:	ff 12                	call   *(%edx)
418cc8:	8b f0                	mov    %eax,%esi
418cca:	8b c3                	mov    %ebx,%eax
418ccc:	e8 1b 0d 00 00       	call   0x4199ec
418cd1:	2b f0                	sub    %eax,%esi
418cd3:	8d 45 fc             	lea    -0x4(%ebp),%eax
418cd6:	8b ce                	mov    %esi,%ecx
418cd8:	33 d2                	xor    %edx,%edx
418cda:	e8 31 bb fe ff       	call   0x404810
418cdf:	8b 55 fc             	mov    -0x4(%ebp),%edx
418ce2:	8b ce                	mov    %esi,%ecx
418ce4:	8b c3                	mov    %ebx,%eax
418ce6:	8b 18                	mov    (%eax),%ebx
418ce8:	ff 53 0c             	call   *0xc(%ebx)
418ceb:	8b 55 fc             	mov    -0x4(%ebp),%edx
418cee:	8b 45 f8             	mov    -0x8(%ebp),%eax
418cf1:	8b 08                	mov    (%eax),%ecx
418cf3:	ff 51 2c             	call   *0x2c(%ecx)
418cf6:	33 c0                	xor    %eax,%eax
418cf8:	5a                   	pop    %edx
418cf9:	59                   	pop    %ecx
418cfa:	59                   	pop    %ecx
418cfb:	64 89 10             	mov    %edx,%fs:(%eax)
418cfe:	68 13 8d 41 00       	push   $0x418d13
418d03:	8b 45 f8             	mov    -0x8(%ebp),%eax
418d06:	e8 95 f9 ff ff       	call   0x4186a0
418d0b:	c3                   	ret
418d0c:	e9 77 b3 fe ff       	jmp    0x404088
418d11:	eb f0                	jmp    0x418d03
418d13:	33 c0                	xor    %eax,%eax
418d15:	5a                   	pop    %edx
418d16:	59                   	pop    %ecx
418d17:	59                   	pop    %ecx
418d18:	64 89 10             	mov    %edx,%fs:(%eax)
418d1b:	68 30 8d 41 00       	push   $0x418d30
418d20:	8d 45 fc             	lea    -0x4(%ebp),%eax
418d23:	e8 f8 b9 fe ff       	call   0x404720
418d28:	c3                   	ret
418d29:	e9 5a b3 fe ff       	jmp    0x404088
418d2e:	eb f0                	jmp    0x418d20
418d30:	5e                   	pop    %esi
418d31:	5b                   	pop    %ebx
418d32:	59                   	pop    %ecx
418d33:	59                   	pop    %ecx
418d34:	5d                   	pop    %ebp
418d35:	c3                   	ret
418d36:	8b c0                	mov    %eax,%eax
418d38:	55                   	push   %ebp
418d39:	8b ec                	mov    %esp,%ebp
418d3b:	83 c4 f8             	add    $0xfffffff8,%esp
418d3e:	53                   	push   %ebx
418d3f:	56                   	push   %esi
418d40:	57                   	push   %edi
418d41:	33 db                	xor    %ebx,%ebx
418d43:	89 5d fc             	mov    %ebx,-0x4(%ebp)
418d46:	8b f1                	mov    %ecx,%esi
418d48:	8b da                	mov    %edx,%ebx
418d4a:	89 45 f8             	mov    %eax,-0x8(%ebp)
418d4d:	33 c0                	xor    %eax,%eax
418d4f:	55                   	push   %ebp