4066fc:	e8 c0 ff ff ff       	call   0x4066c1
406701:	8b 44 24 0c          	mov    0xc(%esp),%eax
406705:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
40670b:	c7 06 b4 9c 48 00    	movl   $0x489cb4,(%esi)
406711:	8b c6                	mov    %esi,%eax
406713:	5e                   	pop    %esi
406714:	c2 08 00             	ret    $0x8
406717:	56                   	push   %esi
406718:	8b f1                	mov    %ecx,%esi
40671a:	e8 94 ff ff ff       	call   0x4066b3
40671f:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
406724:	74 07                	je     0x40672d
406726:	56                   	push   %esi
406727:	e8 54 99 03 00       	call   0x440080
40672c:	59                   	pop    %ecx
40672d:	8b c6                	mov    %esi,%eax
40672f:	5e                   	pop    %esi
406730:	c2 04 00             	ret    $0x4
406733:	56                   	push   %esi
406734:	ff 74 24 08          	push   0x8(%esp)
406738:	8b f1                	mov    %ecx,%esi
40673a:	e8 82 ff ff ff       	call   0x4066c1
40673f:	8b 44 24 0c          	mov    0xc(%esp),%eax
406743:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
406749:	c7 06 cc 9c 48 00    	movl   $0x489ccc,(%esi)
40674f:	8b c6                	mov    %esi,%eax
406751:	5e                   	pop    %esi
406752:	c2 08 00             	ret    $0x8
406755:	56                   	push   %esi
406756:	8b f1                	mov    %ecx,%esi
406758:	e8 5d ff ff ff       	call   0x4066ba
40675d:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
406762:	74 07                	je     0x40676b
406764:	56                   	push   %esi
406765:	e8 16 99 03 00       	call   0x440080
40676a:	59                   	pop    %ecx
40676b:	8b c6                	mov    %esi,%eax
40676d:	5e                   	pop    %esi
40676e:	c2 04 00             	ret    $0x4
406771:	56                   	push   %esi
406772:	ff 74 24 08          	push   0x8(%esp)
406776:	8b f1                	mov    %ecx,%esi
406778:	e8 44 ff ff ff       	call   0x4066c1
40677d:	8b 44 24 0c          	mov    0xc(%esp),%eax
406781:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
406787:	c7 06 e4 9c 48 00    	movl   $0x489ce4,(%esi)
40678d:	8b c6                	mov    %esi,%eax
40678f:	5e                   	pop    %esi
406790:	c2 08 00             	ret    $0x8
406793:	e9 1f 16 01 00       	jmp    0x417db7
406798:	e9 41 16 01 00       	jmp    0x417dde
40679d:	55                   	push   %ebp
40679e:	8b ec                	mov    %esp,%ebp
4067a0:	83 ec 24             	sub    $0x24,%esp
4067a3:	8b 45 1c             	mov    0x1c(%ebp),%eax
4067a6:	89 45 dc             	mov    %eax,-0x24(%ebp)
4067a9:	8b 45 18             	mov    0x18(%ebp),%eax
4067ac:	89 45 e0             	mov    %eax,-0x20(%ebp)
4067af:	8b 45 14             	mov    0x14(%ebp),%eax
4067b2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4067b5:	8b 45 10             	mov    0x10(%ebp),%eax
4067b8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4067bb:	8b 45 0c             	mov    0xc(%ebp),%eax
4067be:	48                   	dec    %eax
4067bf:	89 45 ec             	mov    %eax,-0x14(%ebp)
4067c2:	8b 45 08             	mov    0x8(%ebp),%eax
4067c5:	05 94 f8 ff ff       	add    $0xfffff894,%eax
4067ca:	89 45 f0             	mov    %eax,-0x10(%ebp)
4067cd:	8b 45 20             	mov    0x20(%ebp),%eax
4067d0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4067d3:	56                   	push   %esi
4067d4:	8d 45 dc             	lea    -0x24(%ebp),%eax
4067d7:	50                   	push   %eax
4067d8:	8b f1                	mov    %ecx,%esi
4067da:	e8 ee 19 01 00       	call   0x4181cd
4067df:	89 06                	mov    %eax,(%esi)
4067e1:	23 c2                	and    %edx,%eax
4067e3:	83 f8 ff             	cmp    $0xffffffff,%eax
4067e6:	59                   	pop    %ecx
4067e7:	89 56 04             	mov    %edx,0x4(%esi)
4067ea:	75 0a                	jne    0x4067f6
4067ec:	68 57 00 07 80       	push   $0x80070057
4067f1:	e8 f4 a9 ff ff       	call   0x4011ea
4067f6:	8b c6                	mov    %esi,%eax
4067f8:	5e                   	pop    %esi
4067f9:	c9                   	leave
4067fa:	c2 1c 00             	ret    $0x1c
4067fd:	55                   	push   %ebp
4067fe:	8b ec                	mov    %esp,%ebp
406800:	51                   	push   %ecx
406801:	51                   	push   %ecx
406802:	8b 45 08             	mov    0x8(%ebp),%eax
406805:	56                   	push   %esi
406806:	8b f1                	mov    %ecx,%esi
406808:	66 8b 08             	mov    (%eax),%cx
40680b:	66 81 f9 6c 07       	cmp    $0x76c,%cx
406810:	73 09                	jae    0x40681b
406812:	83 26 00             	andl   $0x0,(%esi)
406815:	83 66 04 00          	andl   $0x0,0x4(%esi)
406819:	eb 33                	jmp    0x40684e
40681b:	ff 75 0c             	push   0xc(%ebp)
40681e:	0f b7 50 0c          	movzwl 0xc(%eax),%edx
406822:	52                   	push   %edx
406823:	0f b7 50 0a          	movzwl 0xa(%eax),%edx
406827:	52                   	push   %edx
406828:	0f b7 50 08          	movzwl 0x8(%eax),%edx
40682c:	52                   	push   %edx
40682d:	0f b7 50 06          	movzwl 0x6(%eax),%edx
406831:	0f b7 40 02          	movzwl 0x2(%eax),%eax
406835:	52                   	push   %edx
406836:	50                   	push   %eax
406837:	0f b7 c1             	movzwl %cx,%eax
40683a:	50                   	push   %eax
40683b:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40683e:	e8 5a ff ff ff       	call   0x40679d
406843:	8b 45 f8             	mov    -0x8(%ebp),%eax
406846:	89 06                	mov    %eax,(%esi)
406848:	8b 45 fc             	mov    -0x4(%ebp),%eax
40684b:	89 46 04             	mov    %eax,0x4(%esi)
40684e:	8b c6                	mov    %esi,%eax
406850:	5e                   	pop    %esi
406851:	c9                   	leave
406852:	c2 08 00             	ret    $0x8
406855:	55                   	push   %ebp
406856:	8b ec                	mov    %esp,%ebp
406858:	83 ec 20             	sub    $0x20,%esp
40685b:	56                   	push   %esi
40685c:	8d 45 f0             	lea    -0x10(%ebp),%eax
40685f:	50                   	push   %eax
406860:	ff 75 08             	push   0x8(%ebp)
406863:	8b f1                	mov    %ecx,%esi
406865:	ff 15 28 03 4b 00    	call   *0x4b0328
40686b:	85 c0                	test   %eax,%eax
40686d:	74 12                	je     0x406881
40686f:	8d 45 e0             	lea    -0x20(%ebp),%eax
406872:	50                   	push   %eax
406873:	8d 45 f0             	lea    -0x10(%ebp),%eax
406876:	50                   	push   %eax
406877:	ff 15 2c 03 4b 00    	call   *0x4b032c
40687d:	85 c0                	test   %eax,%eax
40687f:	75 11                	jne    0x406892
406881:	83 26 00             	andl   $0x0,(%esi)
406884:	83 66 04 00          	andl   $0x0,0x4(%esi)
406888:	68 57 00 07 80       	push   $0x80070057
40688d:	e8 58 a9 ff ff       	call   0x4011ea
406892:	ff 75 0c             	push   0xc(%ebp)
406895:	8d 45 e0             	lea    -0x20(%ebp),%eax
406898:	50                   	push   %eax
406899:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40689c:	e8 5c ff ff ff       	call   0x4067fd
4068a1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4068a4:	89 06                	mov    %eax,(%esi)
4068a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4068a9:	89 46 04             	mov    %eax,0x4(%esi)
4068ac:	8b c6                	mov    %esi,%eax
4068ae:	5e                   	pop    %esi
4068af:	c9                   	leave
4068b0:	c2 08 00             	ret    $0x8
4068b3:	ff 74 24 04          	push   0x4(%esp)
4068b7:	e8 a9 80 03 00       	call   0x43e965
4068bc:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4068c0:	89 08                	mov    %ecx,(%eax)
4068c2:	c2 08 00             	ret    $0x8
4068c5:	6a 08                	push   $0x8
4068c7:	68 08 a0 48 00       	push   $0x48a008
4068cc:	e8 17 19 01 00       	call   0x4181e8
4068d1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4068d5:	83 c1 08             	add    $0x8,%ecx
4068d8:	51                   	push   %ecx
4068d9:	ff 15 18 03 4b 00    	call   *0x4b0318
4068df:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4068e3:	33 c0                	xor    %eax,%eax
4068e5:	40                   	inc    %eax
4068e6:	eb 0d                	jmp    0x4068f5
4068e8:	33 c0                	xor    %eax,%eax
4068ea:	40                   	inc    %eax
4068eb:	c3                   	ret
4068ec:	8b 65 e8             	mov    -0x18(%ebp),%esp
4068ef:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4068f3:	33 c0                	xor    %eax,%eax
4068f5:	e8 29 19 01 00       	call   0x418223
4068fa:	c3                   	ret
4068fb:	b8 2d 25 48 00       	mov    $0x48252d,%eax
406900:	e8 77 13 01 00       	call   0x417c7c
406905:	51                   	push   %ecx
406906:	56                   	push   %esi
406907:	8b f1                	mov    %ecx,%esi
406909:	6a 00                	push   $0x0
40690b:	89 75 f0             	mov    %esi,-0x10(%ebp)
40690e:	e8 98 33 00 00       	call   0x409cab
406913:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406917:	8b ce                	mov    %esi,%ecx
406919:	c7 06 18 a0 48 00    	movl   $0x48a018,(%esi)
40691f:	e8 a1 ff ff ff       	call   0x4068c5
406924:	85 c0                	test   %eax,%eax
406926:	75 05                	jne    0x40692d
406928:	e9 ea ea 02 00       	jmp    0x435417
40692d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406930:	8b c6                	mov    %esi,%eax
406932:	5e                   	pop    %esi
406933:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40693a:	c9                   	leave
40693b:	c3                   	ret
40693c:	33 c0                	xor    %eax,%eax
40693e:	40                   	inc    %eax
40693f:	c2 08 00             	ret    $0x8
406942:	56                   	push   %esi
406943:	8b f1                	mov    %ecx,%esi
406945:	8d 46 08             	lea    0x8(%esi),%eax
406948:	50                   	push   %eax
406949:	c7 06 18 a0 48 00    	movl   $0x48a018,(%esi)
40694f:	ff 15 14 03 4b 00    	call   *0x4b0314
406955:	8b ce                	mov    %esi,%ecx
406957:	5e                   	pop    %esi
406958:	e9 5d 33 00 00       	jmp    0x409cba
40695d:	6a 08                	push   $0x8
40695f:	68 30 a0 48 00       	push   $0x48a030
406964:	e8 7f 18 01 00       	call   0x4181e8
406969:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40696d:	83 c1 08             	add    $0x8,%ecx
406970:	51                   	push   %ecx
406971:	ff 15 10 03 4b 00    	call   *0x4b0310
406977:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40697b:	33 c0                	xor    %eax,%eax
40697d:	40                   	inc    %eax
40697e:	e8 a0 18 01 00       	call   0x418223
406983:	c3                   	ret
406984:	33 c0                	xor    %eax,%eax
406986:	40                   	inc    %eax
406987:	c3                   	ret
406988:	8b 65 e8             	mov    -0x18(%ebp),%esp
40698b:	e9 87 ea 02 00       	jmp    0x435417
406990:	e8 c8 ff ff ff       	call   0x40695d
406995:	c2 04 00             	ret    $0x4
406998:	83 c1 08             	add    $0x8,%ecx
40699b:	51                   	push   %ecx
40699c:	ff 15 0c 03 4b 00    	call   *0x4b030c
4069a2:	33 c0                	xor    %eax,%eax
4069a4:	40                   	inc    %eax
4069a5:	c3                   	ret
4069a6:	8b 41 04             	mov    0x4(%ecx),%eax
4069a9:	c3                   	ret
4069aa:	8b 41 0c             	mov    0xc(%ecx),%eax
4069ad:	c3                   	ret
4069ae:	8b 41 08             	mov    0x8(%ecx),%eax
4069b1:	c3                   	ret
4069b2:	8b 41 04             	mov    0x4(%ecx),%eax
4069b5:	c3                   	ret
4069b6:	8b 41 08             	mov    0x8(%ecx),%eax
4069b9:	c3                   	ret
4069ba:	56                   	push   %esi
4069bb:	8b f1                	mov    %ecx,%esi
4069bd:	e8 80 ff ff ff       	call   0x406942
4069c2:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
4069c7:	74 07                	je     0x4069d0
4069c9:	56                   	push   %esi
4069ca:	e8 b1 96 03 00       	call   0x440080
4069cf:	59                   	pop    %ecx
4069d0:	8b c6                	mov    %esi,%eax
4069d2:	5e                   	pop    %esi
4069d3:	c2 04 00             	ret    $0x4
4069d6:	8b 41 04             	mov    0x4(%ecx),%eax
4069d9:	c3                   	ret
4069da:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
4069df:	56                   	push   %esi
4069e0:	57                   	push   %edi
4069e1:	8b 7c 24 10          	mov    0x10(%esp),%edi
4069e5:	8b f1                	mov    %ecx,%esi
4069e7:	75 0e                	jne    0x4069f7
4069e9:	85 ff                	test   %edi,%edi
4069eb:	74 0a                	je     0x4069f7
4069ed:	68 57 00 07 80       	push   $0x80070057
4069f2:	e8 f3 a7 ff ff       	call   0x4011ea
4069f7:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4069fb:	8b 01                	mov    (%ecx),%eax
4069fd:	6a 01                	push   $0x1
4069ff:	57                   	push   %edi
406a00:	ff 10                	call   *(%eax)
406a02:	85 c0                	test   %eax,%eax
406a04:	75 05                	jne    0x406a0b
406a06:	e8 3e a8 ff ff       	call   0x401249
406a0b:	83 c0 10             	add    $0x10,%eax
406a0e:	57                   	push   %edi
406a0f:	8b ce                	mov    %esi,%ecx
406a11:	89 06                	mov    %eax,(%esi)
406a13:	e8 7d a7 ff ff       	call   0x401195
406a18:	57                   	push   %edi
406a19:	ff 74 24 10          	push   0x10(%esp)
406a1d:	ff 36                	push   (%esi)
406a1f:	e8 4c 0e 01 00       	call   0x417870
406a24:	83 c4 0c             	add    $0xc,%esp
406a27:	5f                   	pop    %edi
406a28:	8b c6                	mov    %esi,%eax
406a2a:	5e                   	pop    %esi
406a2b:	c2 0c 00             	ret    $0xc
406a2e:	55                   	push   %ebp
406a2f:	8b ec                	mov    %esp,%ebp
406a31:	51                   	push   %ecx
406a32:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406a36:	83 c1 10             	add    $0x10,%ecx
406a39:	51                   	push   %ecx
406a3a:	8b 4d 08             	mov    0x8(%ebp),%ecx
406a3d:	e8 90 a6 ff ff       	call   0x4010d2
406a42:	8b 45 08             	mov    0x8(%ebp),%eax
406a45:	c9                   	leave
406a46:	c2 04 00             	ret    $0x4
406a49:	56                   	push   %esi
406a4a:	8b f1                	mov    %ecx,%esi
406a4c:	e8 43 1d 06 00       	call   0x468794
406a51:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
406a56:	74 07                	je     0x406a5f
406a58:	56                   	push   %esi
406a59:	e8 22 96 03 00       	call   0x440080
406a5e:	59                   	pop    %ecx
406a5f:	8b c6                	mov    %esi,%eax
406a61:	5e                   	pop    %esi
406a62:	c2 04 00             	ret    $0x4
406a65:	8b 44 24 04          	mov    0x4(%esp),%eax
406a69:	8b 00                	mov    (%eax),%eax
406a6b:	ff 70 f4             	push   -0xc(%eax)
406a6e:	50                   	push   %eax
406a6f:	e8 c7 fb ff ff       	call   0x40663b
406a74:	c2 04 00             	ret    $0x4
406a77:	b8 e4 25 48 00       	mov    $0x4825e4,%eax
406a7c:	e8 fb 11 01 00       	call   0x417c7c
406a81:	51                   	push   %ecx
406a82:	53                   	push   %ebx
406a83:	56                   	push   %esi
406a84:	8b f1                	mov    %ecx,%esi
406a86:	8d 5e 04             	lea    0x4(%esi),%ebx
406a89:	57                   	push   %edi
406a8a:	8b cb                	mov    %ebx,%ecx
406a8c:	89 75 f0             	mov    %esi,-0x10(%ebp)
406a8f:	c7 06 a4 a1 48 00    	movl   $0x48a1a4,(%esi)
406a95:	e8 1a a6 ff ff       	call   0x4010b4
406a9a:	8b 7d 08             	mov    0x8(%ebp),%edi
406a9d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406aa1:	8d 47 04             	lea    0x4(%edi),%eax
406aa4:	50                   	push   %eax
406aa5:	8b cb                	mov    %ebx,%ecx
406aa7:	e8 47 a8 ff ff       	call   0x4012f3
406aac:	8b 47 08             	mov    0x8(%edi),%eax
406aaf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406ab2:	89 46 08             	mov    %eax,0x8(%esi)
406ab5:	5f                   	pop    %edi
406ab6:	8b c6                	mov    %esi,%eax
406ab8:	5e                   	pop    %esi
406ab9:	5b                   	pop    %ebx
406aba:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406ac1:	c9                   	leave