406788:	83 ec 10             	sub    $0x10,%esp
40678b:	8b cc                	mov    %esp,%ecx
40678d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
406790:	89 11                	mov    %edx,(%ecx)
406792:	8b 45 e8             	mov    -0x18(%ebp),%eax
406795:	89 41 04             	mov    %eax,0x4(%ecx)
406798:	8b 55 ec             	mov    -0x14(%ebp),%edx
40679b:	89 51 08             	mov    %edx,0x8(%ecx)
40679e:	8b 45 f0             	mov    -0x10(%ebp),%eax
4067a1:	89 41 0c             	mov    %eax,0xc(%ecx)
4067a4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4067a7:	8b 11                	mov    (%ecx),%edx
4067a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4067ac:	50                   	push   %eax
4067ad:	8b 4a 28             	mov    0x28(%edx),%ecx
4067b0:	ff d1                	call   *%ecx
4067b2:	85 c0                	test   %eax,%eax
4067b4:	7c 67                	jl     0x40681d
4067b6:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4067bd:	68 60 60 41 00       	push   $0x416060
4067c2:	e8 f9 bd ff ff       	call   0x4025c0
4067c7:	8b 90 48 02 00 00    	mov    0x248(%eax),%edx
4067cd:	ff d2                	call   *%edx
4067cf:	89 45 f4             	mov    %eax,-0xc(%ebp)
4067d2:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
4067d6:	74 45                	je     0x40681d
4067d8:	8d 45 f8             	lea    -0x8(%ebp),%eax
4067db:	50                   	push   %eax
4067dc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4067df:	51                   	push   %ecx
4067e0:	8b 55 fc             	mov    -0x4(%ebp),%edx
4067e3:	8b 02                	mov    (%edx),%eax
4067e5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4067e8:	51                   	push   %ecx
4067e9:	8b 50 1c             	mov    0x1c(%eax),%edx
4067ec:	ff d2                	call   *%edx
4067ee:	85 c0                	test   %eax,%eax
4067f0:	7c 1a                	jl     0x40680c
4067f2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4067f5:	50                   	push   %eax
4067f6:	e8 65 fd ff ff       	call   0x406560
4067fb:	83 c4 04             	add    $0x4,%esp
4067fe:	8b 4d f8             	mov    -0x8(%ebp),%ecx
406801:	8b 11                	mov    (%ecx),%edx
406803:	8b 45 f8             	mov    -0x8(%ebp),%eax
406806:	50                   	push   %eax
406807:	8b 4a 08             	mov    0x8(%edx),%ecx
40680a:	ff d1                	call   *%ecx
40680c:	8b 55 f4             	mov    -0xc(%ebp),%edx
40680f:	52                   	push   %edx
406810:	e8 ab bd ff ff       	call   0x4025c0
406815:	8b 80 4c 02 00 00    	mov    0x24c(%eax),%eax
40681b:	ff d0                	call   *%eax
40681d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406820:	8b 11                	mov    (%ecx),%edx
406822:	8b 45 fc             	mov    -0x4(%ebp),%eax
406825:	50                   	push   %eax
406826:	8b 4a 08             	mov    0x8(%edx),%ecx
406829:	ff d1                	call   *%ecx
40682b:	e8 90 bd ff ff       	call   0x4025c0
406830:	8b 90 3c 02 00 00    	mov    0x23c(%eax),%edx
406836:	ff d2                	call   *%edx
406838:	68 60 ea 00 00       	push   $0xea60
40683d:	e8 7e bd ff ff       	call   0x4025c0
406842:	8b 80 64 01 00 00    	mov    0x164(%eax),%eax
406848:	ff d0                	call   *%eax
40684a:	e9 51 fe ff ff       	jmp    0x4066a0
40684f:	33 c0                	xor    %eax,%eax
406851:	8b e5                	mov    %ebp,%esp
406853:	5d                   	pop    %ebp
406854:	c2 04 00             	ret    $0x4
406857:	cc                   	int3
406858:	cc                   	int3
406859:	cc                   	int3
40685a:	cc                   	int3
40685b:	cc                   	int3
40685c:	cc                   	int3
40685d:	cc                   	int3
40685e:	cc                   	int3
40685f:	cc                   	int3
406860:	55                   	push   %ebp
406861:	8b ec                	mov    %esp,%ebp
406863:	8b 45 08             	mov    0x8(%ebp),%eax
406866:	5d                   	pop    %ebp
406867:	c3                   	ret
406868:	cc                   	int3
406869:	cc                   	int3
40686a:	cc                   	int3
40686b:	cc                   	int3
40686c:	cc                   	int3
40686d:	cc                   	int3
40686e:	cc                   	int3
40686f:	cc                   	int3
406870:	55                   	push   %ebp
406871:	8b ec                	mov    %esp,%ebp
406873:	e8 88 cf 00 00       	call   0x413800
406878:	8b 40 18             	mov    0x18(%eax),%eax
40687b:	5d                   	pop    %ebp
40687c:	c3                   	ret
40687d:	cc                   	int3
40687e:	cc                   	int3
40687f:	cc                   	int3
406880:	55                   	push   %ebp
406881:	8b ec                	mov    %esp,%ebp
406883:	51                   	push   %ecx
406884:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40688b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40688f:	74 18                	je     0x4068a9
406891:	8b 45 08             	mov    0x8(%ebp),%eax
406894:	50                   	push   %eax
406895:	6a 08                	push   $0x8
406897:	e8 d4 ff ff ff       	call   0x406870
40689c:	50                   	push   %eax
40689d:	e8 1e bd ff ff       	call   0x4025c0
4068a2:	8b 08                	mov    (%eax),%ecx
4068a4:	ff d1                	call   *%ecx
4068a6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4068a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4068ac:	8b e5                	mov    %ebp,%esp
4068ae:	5d                   	pop    %ebp
4068af:	c3                   	ret
4068b0:	55                   	push   %ebp
4068b1:	8b ec                	mov    %esp,%ebp
4068b3:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4068b7:	74 16                	je     0x4068cf
4068b9:	8b 45 08             	mov    0x8(%ebp),%eax
4068bc:	50                   	push   %eax
4068bd:	6a 00                	push   $0x0
4068bf:	e8 ac ff ff ff       	call   0x406870
4068c4:	50                   	push   %eax
4068c5:	e8 f6 bc ff ff       	call   0x4025c0
4068ca:	8b 48 04             	mov    0x4(%eax),%ecx
4068cd:	ff d1                	call   *%ecx
4068cf:	5d                   	pop    %ebp
4068d0:	c3                   	ret
4068d1:	cc                   	int3
4068d2:	cc                   	int3
4068d3:	cc                   	int3
4068d4:	cc                   	int3
4068d5:	cc                   	int3
4068d6:	cc                   	int3
4068d7:	cc                   	int3
4068d8:	cc                   	int3
4068d9:	cc                   	int3
4068da:	cc                   	int3
4068db:	cc                   	int3
4068dc:	cc                   	int3
4068dd:	cc                   	int3
4068de:	cc                   	int3
4068df:	cc                   	int3
4068e0:	55                   	push   %ebp
4068e1:	8b ec                	mov    %esp,%ebp
4068e3:	51                   	push   %ecx
4068e4:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4068eb:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4068ef:	75 11                	jne    0x406902
4068f1:	8b 45 0c             	mov    0xc(%ebp),%eax
4068f4:	50                   	push   %eax
4068f5:	e8 86 ff ff ff       	call   0x406880
4068fa:	83 c4 04             	add    $0x4,%esp
4068fd:	89 45 fc             	mov    %eax,-0x4(%ebp)
406900:	eb 1d                	jmp    0x40691f
406902:	8b 4d 0c             	mov    0xc(%ebp),%ecx
406905:	51                   	push   %ecx
406906:	8b 55 08             	mov    0x8(%ebp),%edx
406909:	52                   	push   %edx
40690a:	6a 08                	push   $0x8
40690c:	e8 5f ff ff ff       	call   0x406870
406911:	50                   	push   %eax
406912:	e8 a9 bc ff ff       	call   0x4025c0
406917:	8b 40 08             	mov    0x8(%eax),%eax
40691a:	ff d0                	call   *%eax
40691c:	89 45 fc             	mov    %eax,-0x4(%ebp)
40691f:	8b 45 fc             	mov    -0x4(%ebp),%eax
406922:	8b e5                	mov    %ebp,%esp
406924:	5d                   	pop    %ebp
406925:	c3                   	ret
406926:	cc                   	int3
406927:	cc                   	int3
406928:	cc                   	int3
406929:	cc                   	int3
40692a:	cc                   	int3
40692b:	cc                   	int3
40692c:	cc                   	int3
40692d:	cc                   	int3
40692e:	cc                   	int3
40692f:	cc                   	int3
406930:	55                   	push   %ebp
406931:	8b ec                	mov    %esp,%ebp
406933:	51                   	push   %ecx
406934:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40693b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40693f:	75 05                	jne    0x406946
406941:	8b 45 fc             	mov    -0x4(%ebp),%eax
406944:	eb 29                	jmp    0x40696f
406946:	8b 45 0c             	mov    0xc(%ebp),%eax
406949:	50                   	push   %eax
40694a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40694d:	8b 11                	mov    (%ecx),%edx
40694f:	52                   	push   %edx
406950:	e8 8b ff ff ff       	call   0x4068e0
406955:	83 c4 08             	add    $0x8,%esp
406958:	8b 4d 08             	mov    0x8(%ebp),%ecx
40695b:	89 01                	mov    %eax,(%ecx)
40695d:	8b 55 08             	mov    0x8(%ebp),%edx
406960:	83 3a 00             	cmpl   $0x0,(%edx)
406963:	74 07                	je     0x40696c
406965:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40696c:	8b 45 fc             	mov    -0x4(%ebp),%eax
40696f:	8b e5                	mov    %ebp,%esp
406971:	5d                   	pop    %ebp
406972:	c3                   	ret
406973:	cc                   	int3
406974:	cc                   	int3
406975:	cc                   	int3
406976:	cc                   	int3
406977:	cc                   	int3
406978:	cc                   	int3
406979:	cc                   	int3
40697a:	cc                   	int3
40697b:	cc                   	int3
40697c:	cc                   	int3
40697d:	cc                   	int3
40697e:	cc                   	int3
40697f:	cc                   	int3
406980:	55                   	push   %ebp
406981:	8b ec                	mov    %esp,%ebp
406983:	8b 45 10             	mov    0x10(%ebp),%eax
406986:	50                   	push   %eax
406987:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40698a:	51                   	push   %ecx
40698b:	8b 55 08             	mov    0x8(%ebp),%edx
40698e:	52                   	push   %edx
40698f:	e8 2c bc ff ff       	call   0x4025c0
406994:	8b 40 0c             	mov    0xc(%eax),%eax
406997:	ff d0                	call   *%eax
406999:	83 c4 0c             	add    $0xc,%esp
40699c:	5d                   	pop    %ebp
40699d:	c3                   	ret
40699e:	cc                   	int3
40699f:	cc                   	int3
4069a0:	55                   	push   %ebp
4069a1:	8b ec                	mov    %esp,%ebp
4069a3:	8b 45 10             	mov    0x10(%ebp),%eax
4069a6:	50                   	push   %eax
4069a7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4069aa:	51                   	push   %ecx
4069ab:	8b 55 08             	mov    0x8(%ebp),%edx
4069ae:	52                   	push   %edx
4069af:	e8 0c bc ff ff       	call   0x4025c0
4069b4:	8b 40 10             	mov    0x10(%eax),%eax
4069b7:	ff d0                	call   *%eax
4069b9:	83 c4 0c             	add    $0xc,%esp
4069bc:	5d                   	pop    %ebp
4069bd:	c3                   	ret
4069be:	cc                   	int3
4069bf:	cc                   	int3
4069c0:	55                   	push   %ebp
4069c1:	8b ec                	mov    %esp,%ebp
4069c3:	8b 45 10             	mov    0x10(%ebp),%eax
4069c6:	50                   	push   %eax
4069c7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4069ca:	51                   	push   %ecx
4069cb:	8b 55 08             	mov    0x8(%ebp),%edx
4069ce:	52                   	push   %edx
4069cf:	e8 ec bb ff ff       	call   0x4025c0
4069d4:	8b 40 14             	mov    0x14(%eax),%eax
4069d7:	ff d0                	call   *%eax
4069d9:	83 c4 0c             	add    $0xc,%esp
4069dc:	5d                   	pop    %ebp
4069dd:	c3                   	ret
4069de:	cc                   	int3
4069df:	cc                   	int3
4069e0:	55                   	push   %ebp
4069e1:	8b ec                	mov    %esp,%ebp
4069e3:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4069e7:	75 04                	jne    0x4069ed
4069e9:	33 c0                	xor    %eax,%eax
4069eb:	eb 0f                	jmp    0x4069fc
4069ed:	8b 45 08             	mov    0x8(%ebp),%eax
4069f0:	83 c0 01             	add    $0x1,%eax
4069f3:	50                   	push   %eax
4069f4:	e8 87 fe ff ff       	call   0x406880
4069f9:	83 c4 04             	add    $0x4,%esp
4069fc:	5d                   	pop    %ebp
4069fd:	c3                   	ret
4069fe:	cc                   	int3
4069ff:	cc                   	int3
406a00:	55                   	push   %ebp
406a01:	8b ec                	mov    %esp,%ebp
406a03:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406a07:	75 04                	jne    0x406a0d
406a09:	33 c0                	xor    %eax,%eax
406a0b:	eb 10                	jmp    0x406a1d
406a0d:	8b 45 08             	mov    0x8(%ebp),%eax
406a10:	8d 4c 00 02          	lea    0x2(%eax,%eax,1),%ecx
406a14:	51                   	push   %ecx
406a15:	e8 66 fe ff ff       	call   0x406880
406a1a:	83 c4 04             	add    $0x4,%esp
406a1d:	5d                   	pop    %ebp
406a1e:	c3                   	ret
406a1f:	cc                   	int3
406a20:	55                   	push   %ebp
406a21:	8b ec                	mov    %esp,%ebp
406a23:	51                   	push   %ecx
406a24:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406a28:	75 04                	jne    0x406a2e
406a2a:	33 c0                	xor    %eax,%eax
406a2c:	eb 21                	jmp    0x406a4f
406a2e:	8b 45 08             	mov    0x8(%ebp),%eax
406a31:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a34:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406a37:	0f be 11             	movsbl (%ecx),%edx
406a3a:	85 d2                	test   %edx,%edx
406a3c:	74 0b                	je     0x406a49
406a3e:	8b 45 fc             	mov    -0x4(%ebp),%eax
406a41:	83 c0 01             	add    $0x1,%eax
406a44:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a47:	eb eb                	jmp    0x406a34
406a49:	8b 45 fc             	mov    -0x4(%ebp),%eax
406a4c:	2b 45 08             	sub    0x8(%ebp),%eax
406a4f:	8b e5                	mov    %ebp,%esp
406a51:	5d                   	pop    %ebp
406a52:	c3                   	ret
406a53:	cc                   	int3
406a54:	cc                   	int3
406a55:	cc                   	int3
406a56:	cc                   	int3
406a57:	cc                   	int3
406a58:	cc                   	int3
406a59:	cc                   	int3
406a5a:	cc                   	int3
406a5b:	cc                   	int3
406a5c:	cc                   	int3
406a5d:	cc                   	int3
406a5e:	cc                   	int3
406a5f:	cc                   	int3
406a60:	55                   	push   %ebp
406a61:	8b ec                	mov    %esp,%ebp
406a63:	51                   	push   %ecx
406a64:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
406a68:	75 04                	jne    0x406a6e
406a6a:	33 c0                	xor    %eax,%eax
406a6c:	eb 23                	jmp    0x406a91
406a6e:	8b 45 08             	mov    0x8(%ebp),%eax
406a71:	89 45 fc             	mov    %eax,-0x4(%ebp)
406a74:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406a77:	0f b7 11             	movzwl (%ecx),%edx
406a7a:	85 d2                	test   %edx,%edx
406a7c:	74 0b                	je     0x406a89