4028f9:	83 c4 0c             	add    $0xc,%esp
4028fc:	85 c0                	test   %eax,%eax
4028fe:	0f 85 b6 00 00 00    	jne    0x4029ba
402904:	8b 55 08             	mov    0x8(%ebp),%edx
402907:	52                   	push   %edx
402908:	e8 53 41 00 00       	call   0x406a60
40290d:	83 c4 04             	add    $0x4,%esp
402910:	8b 4d 08             	mov    0x8(%ebp),%ecx
402913:	0f b7 54 41 fe       	movzwl -0x2(%ecx,%eax,2),%edx
402918:	83 fa 5c             	cmp    $0x5c,%edx
40291b:	75 16                	jne    0x402933
40291d:	8b 45 08             	mov    0x8(%ebp),%eax
402920:	50                   	push   %eax
402921:	e8 3a 41 00 00       	call   0x406a60
402926:	83 c4 04             	add    $0x4,%esp
402929:	33 c9                	xor    %ecx,%ecx
40292b:	8b 55 08             	mov    0x8(%ebp),%edx
40292e:	66 89 4c 42 fe       	mov    %cx,-0x2(%edx,%eax,2)
402933:	8b 45 08             	mov    0x8(%ebp),%eax
402936:	50                   	push   %eax
402937:	e8 84 00 00 00       	call   0x4029c0
40293c:	83 c4 04             	add    $0x4,%esp
40293f:	85 c0                	test   %eax,%eax
402941:	75 77                	jne    0x4029ba
402943:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
402949:	8b 51 34             	mov    0x34(%ecx),%edx
40294c:	8d 04 95 04 00 00 00 	lea    0x4(,%edx,4),%eax
402953:	50                   	push   %eax
402954:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
40295a:	8b 51 30             	mov    0x30(%ecx),%edx
40295d:	52                   	push   %edx
40295e:	e8 7d 3f 00 00       	call   0x4068e0
402963:	83 c4 08             	add    $0x8,%esp
402966:	89 45 fc             	mov    %eax,-0x4(%ebp)
402969:	a1 a4 73 41 00       	mov    0x4173a4,%eax
40296e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402971:	89 48 30             	mov    %ecx,0x30(%eax)
402974:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
402978:	74 40                	je     0x4029ba
40297a:	8b 55 08             	mov    0x8(%ebp),%edx
40297d:	52                   	push   %edx
40297e:	e8 6d 41 00 00       	call   0x406af0
402983:	83 c4 04             	add    $0x4,%esp
402986:	89 45 f8             	mov    %eax,-0x8(%ebp)
402989:	a1 a4 73 41 00       	mov    0x4173a4,%eax
40298e:	8b 48 34             	mov    0x34(%eax),%ecx
402991:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
402997:	8b 42 30             	mov    0x30(%edx),%eax
40299a:	8b 55 f8             	mov    -0x8(%ebp),%edx
40299d:	89 14 88             	mov    %edx,(%eax,%ecx,4)
4029a0:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4029a4:	74 14                	je     0x4029ba
4029a6:	a1 a4 73 41 00       	mov    0x4173a4,%eax
4029ab:	8b 48 34             	mov    0x34(%eax),%ecx
4029ae:	83 c1 01             	add    $0x1,%ecx
4029b1:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
4029b7:	89 4a 34             	mov    %ecx,0x34(%edx)
4029ba:	8b e5                	mov    %ebp,%esp
4029bc:	5d                   	pop    %ebp
4029bd:	c3                   	ret
4029be:	cc                   	int3
4029bf:	cc                   	int3
4029c0:	55                   	push   %ebp
4029c1:	8b ec                	mov    %esp,%ebp
4029c3:	83 ec 08             	sub    $0x8,%esp
4029c6:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4029cd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4029d1:	74 20                	je     0x4029f3
4029d3:	83 3d a4 73 41 00 00 	cmpl   $0x0,0x4173a4
4029da:	74 17                	je     0x4029f3
4029dc:	a1 a4 73 41 00       	mov    0x4173a4,%eax
4029e1:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
4029e5:	74 0c                	je     0x4029f3
4029e7:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
4029ed:	83 79 34 00          	cmpl   $0x0,0x34(%ecx)
4029f1:	75 05                	jne    0x4029f8
4029f3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4029f6:	eb 68                	jmp    0x402a60
4029f8:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4029ff:	eb 09                	jmp    0x402a0a
402a01:	8b 55 fc             	mov    -0x4(%ebp),%edx
402a04:	83 c2 01             	add    $0x1,%edx
402a07:	89 55 fc             	mov    %edx,-0x4(%ebp)
402a0a:	a1 a4 73 41 00       	mov    0x4173a4,%eax
402a0f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402a12:	3b 48 34             	cmp    0x34(%eax),%ecx
402a15:	73 46                	jae    0x402a5d
402a17:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
402a1d:	8b 42 30             	mov    0x30(%edx),%eax
402a20:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402a23:	8b 14 88             	mov    (%eax,%ecx,4),%edx
402a26:	52                   	push   %edx
402a27:	e8 34 40 00 00       	call   0x406a60
402a2c:	83 c4 04             	add    $0x4,%esp
402a2f:	d1 e0                	shl    $1,%eax
402a31:	50                   	push   %eax
402a32:	8b 45 08             	mov    0x8(%ebp),%eax
402a35:	50                   	push   %eax
402a36:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
402a3c:	8b 51 30             	mov    0x30(%ecx),%edx
402a3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
402a42:	8b 0c 82             	mov    (%edx,%eax,4),%ecx
402a45:	51                   	push   %ecx
402a46:	e8 75 3f 00 00       	call   0x4069c0
402a4b:	83 c4 0c             	add    $0xc,%esp
402a4e:	85 c0                	test   %eax,%eax
402a50:	75 09                	jne    0x402a5b
402a52:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
402a59:	eb 02                	jmp    0x402a5d
402a5b:	eb a4                	jmp    0x402a01
402a5d:	8b 45 f8             	mov    -0x8(%ebp),%eax
402a60:	8b e5                	mov    %ebp,%esp
402a62:	5d                   	pop    %ebp
402a63:	c3                   	ret
402a64:	cc                   	int3
402a65:	cc                   	int3
402a66:	cc                   	int3
402a67:	cc                   	int3
402a68:	cc                   	int3
402a69:	cc                   	int3
402a6a:	cc                   	int3
402a6b:	cc                   	int3
402a6c:	cc                   	int3
402a6d:	cc                   	int3
402a6e:	cc                   	int3
402a6f:	cc                   	int3
402a70:	55                   	push   %ebp
402a71:	8b ec                	mov    %esp,%ebp
402a73:	51                   	push   %ecx
402a74:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402a7b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
402a7f:	74 12                	je     0x402a93
402a81:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
402a85:	74 0c                	je     0x402a93
402a87:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
402a8b:	74 06                	je     0x402a93
402a8d:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
402a91:	75 05                	jne    0x402a98
402a93:	8b 45 fc             	mov    -0x4(%ebp),%eax
402a96:	eb 44                	jmp    0x402adc
402a98:	8b 45 14             	mov    0x14(%ebp),%eax
402a9b:	50                   	push   %eax
402a9c:	8b 4d 10             	mov    0x10(%ebp),%ecx
402a9f:	51                   	push   %ecx
402aa0:	8b 55 0c             	mov    0xc(%ebp),%edx
402aa3:	52                   	push   %edx
402aa4:	8b 45 08             	mov    0x8(%ebp),%eax
402aa7:	50                   	push   %eax
402aa8:	e8 d3 47 00 00       	call   0x407280
402aad:	83 c4 10             	add    $0x10,%esp
402ab0:	89 45 fc             	mov    %eax,-0x4(%ebp)
402ab3:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
402ab7:	75 20                	jne    0x402ad9
402ab9:	8b 4d 08             	mov    0x8(%ebp),%ecx
402abc:	51                   	push   %ecx
402abd:	e8 de 3f 00 00       	call   0x406aa0
402ac2:	83 c4 04             	add    $0x4,%esp
402ac5:	8b 55 14             	mov    0x14(%ebp),%edx
402ac8:	89 02                	mov    %eax,(%edx)
402aca:	8b 45 14             	mov    0x14(%ebp),%eax
402acd:	83 38 00             	cmpl   $0x0,(%eax)
402ad0:	74 07                	je     0x402ad9
402ad2:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
402ad9:	8b 45 fc             	mov    -0x4(%ebp),%eax
402adc:	8b e5                	mov    %ebp,%esp
402ade:	5d                   	pop    %ebp
402adf:	c3                   	ret
402ae0:	55                   	push   %ebp
402ae1:	8b ec                	mov    %esp,%ebp
402ae3:	83 ec 14             	sub    $0x14,%esp
402ae6:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
402aed:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
402af1:	74 0c                	je     0x402aff
402af3:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
402af7:	74 06                	je     0x402aff
402af9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
402afd:	75 08                	jne    0x402b07
402aff:	8b 45 f0             	mov    -0x10(%ebp),%eax
402b02:	e9 94 00 00 00       	jmp    0x402b9b
402b07:	8b 45 08             	mov    0x8(%ebp),%eax
402b0a:	89 45 f8             	mov    %eax,-0x8(%ebp)
402b0d:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
402b14:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402b1b:	eb 09                	jmp    0x402b26
402b1d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402b20:	83 c1 01             	add    $0x1,%ecx
402b23:	89 4d fc             	mov    %ecx,-0x4(%ebp)
402b26:	8b 55 fc             	mov    -0x4(%ebp),%edx
402b29:	3b 55 14             	cmp    0x14(%ebp),%edx
402b2c:	73 55                	jae    0x402b83
402b2e:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
402b35:	8d 45 ec             	lea    -0x14(%ebp),%eax
402b38:	50                   	push   %eax
402b39:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402b3c:	8b 55 10             	mov    0x10(%ebp),%edx
402b3f:	8b 44 ca 04          	mov    0x4(%edx,%ecx,8),%eax
402b43:	50                   	push   %eax
402b44:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402b47:	8b 55 10             	mov    0x10(%ebp),%edx
402b4a:	8b 04 ca             	mov    (%edx,%ecx,8),%eax
402b4d:	50                   	push   %eax
402b4e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
402b51:	51                   	push   %ecx
402b52:	e8 19 ff ff ff       	call   0x402a70
402b57:	83 c4 10             	add    $0x10,%esp
402b5a:	85 c0                	test   %eax,%eax
402b5c:	74 1a                	je     0x402b78
402b5e:	8b 55 f4             	mov    -0xc(%ebp),%edx
402b61:	52                   	push   %edx
402b62:	e8 49 3d 00 00       	call   0x4068b0
402b67:	83 c4 04             	add    $0x4,%esp
402b6a:	8b 45 ec             	mov    -0x14(%ebp),%eax
402b6d:	89 45 f4             	mov    %eax,-0xc(%ebp)
402b70:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402b73:	89 4d f8             	mov    %ecx,-0x8(%ebp)
402b76:	eb 09                	jmp    0x402b81
402b78:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
402b7f:	eb 02                	jmp    0x402b83
402b81:	eb 9a                	jmp    0x402b1d
402b83:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
402b87:	74 0f                	je     0x402b98
402b89:	8b 55 0c             	mov    0xc(%ebp),%edx
402b8c:	8b 45 f8             	mov    -0x8(%ebp),%eax
402b8f:	89 02                	mov    %eax,(%edx)
402b91:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
402b98:	8b 45 f0             	mov    -0x10(%ebp),%eax
402b9b:	8b e5                	mov    %ebp,%esp
402b9d:	5d                   	pop    %ebp
402b9e:	c3                   	ret
402b9f:	cc                   	int3
402ba0:	55                   	push   %ebp
402ba1:	8b ec                	mov    %esp,%ebp
402ba3:	a1 a0 73 41 00       	mov    0x4173a0,%eax
402ba8:	5d                   	pop    %ebp
402ba9:	c3                   	ret
402baa:	cc                   	int3
402bab:	cc                   	int3
402bac:	cc                   	int3
402bad:	cc                   	int3
402bae:	cc                   	int3
402baf:	cc                   	int3
402bb0:	55                   	push   %ebp
402bb1:	8b ec                	mov    %esp,%ebp
402bb3:	83 ec 0c             	sub    $0xc,%esp
402bb6:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
402bbd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
402bc1:	74 0c                	je     0x402bcf
402bc3:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
402bc7:	74 06                	je     0x402bcf
402bc9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
402bcd:	75 08                	jne    0x402bd7
402bcf:	8b 45 f4             	mov    -0xc(%ebp),%eax
402bd2:	e9 a2 00 00 00       	jmp    0x402c79
402bd7:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
402bde:	8d 45 f8             	lea    -0x8(%ebp),%eax
402be1:	50                   	push   %eax
402be2:	8b 4d 08             	mov    0x8(%ebp),%ecx
402be5:	51                   	push   %ecx
402be6:	e8 65 4a 00 00       	call   0x407650
402beb:	83 c4 08             	add    $0x8,%esp
402bee:	85 c0                	test   %eax,%eax
402bf0:	0f 84 80 00 00 00    	je     0x402c76
402bf6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402bfd:	eb 09                	jmp    0x402c08
402bff:	8b 55 fc             	mov    -0x4(%ebp),%edx
402c02:	83 c2 01             	add    $0x1,%edx
402c05:	89 55 fc             	mov    %edx,-0x4(%ebp)
402c08:	8b 45 f8             	mov    -0x8(%ebp),%eax
402c0b:	50                   	push   %eax
402c0c:	e8 4f 3e 00 00       	call   0x406a60
402c11:	83 c4 04             	add    $0x4,%esp
402c14:	39 45 fc             	cmp    %eax,-0x4(%ebp)
402c17:	73 13                	jae    0x402c2c
402c19:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402c1c:	8b 55 f8             	mov    -0x8(%ebp),%edx
402c1f:	0f b7 04 4a          	movzwl (%edx,%ecx,2),%eax
402c23:	83 f8 2e             	cmp    $0x2e,%eax
402c26:	75 02                	jne    0x402c2a
402c28:	eb 02                	jmp    0x402c2c
402c2a:	eb d3                	jmp    0x402bff
402c2c:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
402c30:	74 44                	je     0x402c76
402c32:	8b 4d f8             	mov    -0x8(%ebp),%ecx
402c35:	51                   	push   %ecx
402c36:	e8 75 4c 00 00       	call   0x4078b0
402c3b:	83 c4 04             	add    $0x4,%esp
402c3e:	8b 55 0c             	mov    0xc(%ebp),%edx
402c41:	89 02                	mov    %eax,(%edx)
402c43:	33 c0                	xor    %eax,%eax
402c45:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402c48:	8b 55 f8             	mov    -0x8(%ebp),%edx
402c4b:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
402c4f:	8b 45 f8             	mov    -0x8(%ebp),%eax
402c52:	50                   	push   %eax
402c53:	e8 58 4c 00 00       	call   0x4078b0
402c58:	83 c4 04             	add    $0x4,%esp
402c5b:	8b 4d 10             	mov    0x10(%ebp),%ecx
402c5e:	89 01                	mov    %eax,(%ecx)
402c60:	ba 2e 00 00 00       	mov    $0x2e,%edx
402c65:	8b 45 fc             	mov    -0x4(%ebp),%eax
402c68:	8b 4d f8             	mov    -0x8(%ebp),%ecx
402c6b:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
402c6f:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
402c76:	8b 45 f4             	mov    -0xc(%ebp),%eax
402c79:	8b e5                	mov    %ebp,%esp
402c7b:	5d                   	pop    %ebp
402c7c:	c3                   	ret
402c7d:	cc                   	int3
402c7e:	cc                   	int3
402c7f:	cc                   	int3
402c80:	55                   	push   %ebp
402c81:	8b ec                	mov    %esp,%ebp
402c83:	83 ec 6c             	sub    $0x6c,%esp
402c86:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
402c8d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
402c91:	74 1d                	je     0x402cb0
402c93:	83 3d a4 73 41 00 00 	cmpl   $0x0,0x4173a4
402c9a:	74 14                	je     0x402cb0
402c9c:	e8 df 1e 00 00       	call   0x404b80
402ca1:	85 c0                	test   %eax,%eax
402ca3:	74 0b                	je     0x402cb0
402ca5:	a1 a4 73 41 00       	mov    0x4173a4,%eax
402caa:	83 78 48 00          	cmpl   $0x0,0x48(%eax)
402cae:	75 08                	jne    0x402cb8
402cb0:	8b 45 b0             	mov    -0x50(%ebp),%eax
402cb3:	e9 43 04 00 00       	jmp    0x4030fb
402cb8:	e8 43 27 00 00       	call   0x405400
402cbd:	8b 48 28             	mov    0x28(%eax),%ecx
402cc0:	51                   	push   %ecx
402cc1:	e8 5a 3d 00 00       	call   0x406a20
402cc6:	83 c4 04             	add    $0x4,%esp
402cc9:	89 45 e0             	mov    %eax,-0x20(%ebp)
402ccc:	8b 15 a4 73 41 00    	mov    0x4173a4,%edx
402cd2:	8b 42 18             	mov    0x18(%edx),%eax
402cd5:	8b 4d e0             	mov    -0x20(%ebp),%ecx
402cd8:	8d 54 08 74          	lea    0x74(%eax,%ecx,1),%edx
402cdc:	89 55 e4             	mov    %edx,-0x1c(%ebp)
402cdf:	8b 45 e4             	mov    -0x1c(%ebp),%eax
402ce2:	50                   	push   %eax
402ce3:	e8 f8 3c 00 00       	call   0x4069e0
402ce8:	83 c4 04             	add    $0x4,%esp
402ceb:	89 45 e8             	mov    %eax,-0x18(%ebp)
402cee:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
402cf2:	0f 84 00 04 00 00    	je     0x4030f8
402cf8:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
402cff:	6a 6c                	push   $0x6c
402d01:	8b 0d a4 73 41 00    	mov    0x4173a4,%ecx
402d07:	8b 51 48             	mov    0x48(%ecx),%edx
402d0a:	52                   	push   %edx
402d0b:	8b 45 e8             	mov    -0x18(%ebp),%eax