4065b7:	68 80 38 40 00       	push   $0x403880
4065bc:	e8 df 06 00 00       	call   0x406ca0
4065c1:	89 45 bc             	mov    %eax,-0x44(%ebp)
4065c4:	8d 45 bc             	lea    -0x44(%ebp),%eax
4065c7:	50                   	push   %eax
4065c8:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4065ce:	50                   	push   %eax
4065cf:	e8 3c af ff ff       	call   0x401510
4065d4:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4065da:	50                   	push   %eax
4065db:	ff 75 e4             	push   -0x1c(%ebp)
4065de:	e8 be 6b 00 00       	call   0x40d1a1
4065e3:	a3 04 11 46 00       	mov    %eax,0x461104
4065e8:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
4065ee:	50                   	push   %eax
4065ef:	6a 00                	push   $0x0
4065f1:	e8 14 af ff ff       	call   0x40150a
4065f6:	6a 00                	push   $0x0
4065f8:	6a 0f                	push   $0xf
4065fa:	6a 01                	push   $0x1
4065fc:	6a 03                	push   $0x3
4065fe:	8d 45 e0             	lea    -0x20(%ebp),%eax
406601:	50                   	push   %eax
406602:	6a 04                	push   $0x4
406604:	68 80 00 00 00       	push   $0x80
406609:	e8 f6 ae ff ff       	call   0x401504
40660e:	83 c4 1c             	add    $0x1c,%esp
406611:	68 d0 38 40 00       	push   $0x4038d0
406616:	68 c0 38 40 00       	push   $0x4038c0
40661b:	e8 d2 ae ff ff       	call   0x4014f2
406620:	50                   	push   %eax
406621:	8d 45 c4             	lea    -0x3c(%ebp),%eax
406624:	50                   	push   %eax
406625:	e8 d4 ae ff ff       	call   0x4014fe
40662a:	50                   	push   %eax
40662b:	e8 c8 ae ff ff       	call   0x4014f8
406630:	50                   	push   %eax
406631:	8d 45 cc             	lea    -0x34(%ebp),%eax
406634:	50                   	push   %eax
406635:	e8 c4 ae ff ff       	call   0x4014fe
40663a:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40663d:	e8 aa ae ff ff       	call   0x4014ec
406642:	ff 75 cc             	push   -0x34(%ebp)
406645:	8d 45 c4             	lea    -0x3c(%ebp),%eax
406648:	50                   	push   %eax
406649:	e8 98 ae ff ff       	call   0x4014e6
40664e:	50                   	push   %eax
40664f:	e8 62 ae ff ff       	call   0x4014b6
406654:	89 45 d0             	mov    %eax,-0x30(%ebp)
406657:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
40665a:	e8 8d ae ff ff       	call   0x4014ec
40665f:	8d 45 d0             	lea    -0x30(%ebp),%eax
406662:	50                   	push   %eax
406663:	e8 4e ae ff ff       	call   0x4014b6
406668:	50                   	push   %eax
406669:	ff 75 d0             	push   -0x30(%ebp)
40666c:	e8 d1 fd ff ff       	call   0x406442
406671:	8b 45 e0             	mov    -0x20(%ebp),%eax
406674:	f7 d0                	not    %eax
406676:	f7 d0                	not    %eax
406678:	50                   	push   %eax
406679:	e8 d3 fd ff ff       	call   0x406451
40667e:	48                   	dec    %eax
40667f:	89 45 a8             	mov    %eax,-0x58(%ebp)
406682:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
406689:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40668d:	eb 09                	jmp    0x406698
40668f:	8b 45 e8             	mov    -0x18(%ebp),%eax
406692:	03 45 ac             	add    -0x54(%ebp),%eax
406695:	89 45 e8             	mov    %eax,-0x18(%ebp)
406698:	8b 45 e8             	mov    -0x18(%ebp),%eax
40669b:	3b 45 a8             	cmp    -0x58(%ebp),%eax
40669e:	7f 44                	jg     0x4066e4
4066a0:	ff 75 e0             	push   -0x20(%ebp)
4066a3:	8d 45 c8             	lea    -0x38(%ebp),%eax
4066a6:	50                   	push   %eax
4066a7:	e8 34 ae ff ff       	call   0x4014e0
4066ac:	8b 45 c8             	mov    -0x38(%ebp),%eax
4066af:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4066b2:	2b 48 14             	sub    0x14(%eax),%ecx
4066b5:	8b 45 c8             	mov    -0x38(%ebp),%eax
4066b8:	8b 40 0c             	mov    0xc(%eax),%eax
4066bb:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4066be:	50                   	push   %eax
4066bf:	e8 f2 ad ff ff       	call   0x4014b6
4066c4:	89 45 bc             	mov    %eax,-0x44(%ebp)
4066c7:	8d 45 c8             	lea    -0x38(%ebp),%eax
4066ca:	50                   	push   %eax
4066cb:	e8 0a ae ff ff       	call   0x4014da
4066d0:	ff 75 bc             	push   -0x44(%ebp)
4066d3:	8b 45 e8             	mov    -0x18(%ebp),%eax
4066d6:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4066d9:	8d 04 81             	lea    (%ecx,%eax,4),%eax
4066dc:	50                   	push   %eax
4066dd:	e8 60 fd ff ff       	call   0x406442
4066e2:	eb ab                	jmp    0x40668f
4066e4:	ff 75 cc             	push   -0x34(%ebp)
4066e7:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4066ea:	50                   	push   %eax
4066eb:	e8 f6 ad ff ff       	call   0x4014e6
4066f0:	50                   	push   %eax
4066f1:	e8 c0 ad ff ff       	call   0x4014b6
4066f6:	89 45 d0             	mov    %eax,-0x30(%ebp)
4066f9:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4066fc:	e8 eb ad ff ff       	call   0x4014ec
406701:	8d 45 d4             	lea    -0x2c(%ebp),%eax
406704:	50                   	push   %eax
406705:	e8 ac ad ff ff       	call   0x4014b6
40670a:	89 45 bc             	mov    %eax,-0x44(%ebp)
40670d:	6a 04                	push   $0x4
40670f:	ff 75 d0             	push   -0x30(%ebp)
406712:	ff 75 bc             	push   -0x44(%ebp)
406715:	e8 45 fd ff ff       	call   0x40645f
40671a:	ff 75 e0             	push   -0x20(%ebp)
40671d:	8d 45 c8             	lea    -0x38(%ebp),%eax
406720:	50                   	push   %eax
406721:	e8 ba ad ff ff       	call   0x4014e0
406726:	8b 45 c8             	mov    -0x38(%ebp),%eax
406729:	33 c9                	xor    %ecx,%ecx
40672b:	2b 48 14             	sub    0x14(%eax),%ecx
40672e:	8b 45 c8             	mov    -0x38(%ebp),%eax
406731:	8b 40 0c             	mov    0xc(%eax),%eax
406734:	8d 04 88             	lea    (%eax,%ecx,4),%eax
406737:	50                   	push   %eax
406738:	e8 79 ad ff ff       	call   0x4014b6
40673d:	89 45 bc             	mov    %eax,-0x44(%ebp)
406740:	8d 45 c8             	lea    -0x38(%ebp),%eax
406743:	50                   	push   %eax
406744:	e8 91 ad ff ff       	call   0x4014da
406749:	8b 45 bc             	mov    -0x44(%ebp),%eax
40674c:	89 45 b8             	mov    %eax,-0x48(%ebp)
40674f:	8d 45 b8             	lea    -0x48(%ebp),%eax
406752:	50                   	push   %eax
406753:	e8 5e ad ff ff       	call   0x4014b6
406758:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40675b:	ff 75 d0             	push   -0x30(%ebp)
40675e:	ff 75 b4             	push   -0x4c(%ebp)
406761:	e8 dc fc ff ff       	call   0x406442
406766:	8b 45 e0             	mov    -0x20(%ebp),%eax
406769:	6a 0b                	push   $0xb
40676b:	59                   	pop    %ecx
40676c:	2b 48 14             	sub    0x14(%eax),%ecx
40676f:	8b 45 e0             	mov    -0x20(%ebp),%eax
406772:	8b 40 0c             	mov    0xc(%eax),%eax
406775:	8b 15 04 11 46 00    	mov    0x461104,%edx
40677b:	89 14 88             	mov    %edx,(%eax,%ecx,4)
40677e:	6a 00                	push   $0x0
406780:	6a 10                	push   $0x10
406782:	6a 01                	push   $0x1
406784:	6a 03                	push   $0x3
406786:	8d 45 dc             	lea    -0x24(%ebp),%eax
406789:	50                   	push   %eax
40678a:	6a 04                	push   $0x4
40678c:	68 80 00 00 00       	push   $0x80
406791:	e8 6e ad ff ff       	call   0x401504
406796:	83 c4 1c             	add    $0x1c,%esp
406799:	8d 45 ec             	lea    -0x14(%ebp),%eax
40679c:	50                   	push   %eax
40679d:	e8 14 ad ff ff       	call   0x4014b6
4067a2:	50                   	push   %eax
4067a3:	8b 45 dc             	mov    -0x24(%ebp),%eax
4067a6:	f7 d0                	not    %eax
4067a8:	f7 d0                	not    %eax
4067aa:	83 c0 0c             	add    $0xc,%eax
4067ad:	50                   	push   %eax
4067ae:	e8 8f fc ff ff       	call   0x406442
4067b3:	c7 45 bc 40 00 00 00 	movl   $0x40,-0x44(%ebp)
4067ba:	8d 45 bc             	lea    -0x44(%ebp),%eax
4067bd:	50                   	push   %eax
4067be:	e8 f3 ac ff ff       	call   0x4014b6
4067c3:	89 45 b8             	mov    %eax,-0x48(%ebp)
4067c6:	8b 45 dc             	mov    -0x24(%ebp),%eax
4067c9:	f7 d0                	not    %eax
4067cb:	f7 d0                	not    %eax
4067cd:	83 c0 0c             	add    $0xc,%eax
4067d0:	50                   	push   %eax
4067d1:	ff 75 b8             	push   -0x48(%ebp)
4067d4:	e8 69 fc ff ff       	call   0x406442
4067d9:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
4067dd:	ff 75 dc             	push   -0x24(%ebp)
4067e0:	8d 45 c8             	lea    -0x38(%ebp),%eax
4067e3:	50                   	push   %eax
4067e4:	e8 f7 ac ff ff       	call   0x4014e0
4067e9:	8d 45 bc             	lea    -0x44(%ebp),%eax
4067ec:	50                   	push   %eax
4067ed:	8b 45 c8             	mov    -0x38(%ebp),%eax
4067f0:	33 c9                	xor    %ecx,%ecx
4067f2:	2b 48 14             	sub    0x14(%eax),%ecx
4067f5:	8b 45 c8             	mov    -0x38(%ebp),%eax
4067f8:	8b 40 0c             	mov    0xc(%eax),%eax
4067fb:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4067fe:	50                   	push   %eax
4067ff:	6a 20                	push   $0x20
406801:	8b 45 cc             	mov    -0x34(%ebp),%eax
406804:	8b 00                	mov    (%eax),%eax
406806:	ff 75 cc             	push   -0x34(%ebp)
406809:	ff 50 2c             	call   *0x2c(%eax)
40680c:	db e2                	fnclex
40680e:	89 45 b0             	mov    %eax,-0x50(%ebp)
406811:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
406815:	7d 1a                	jge    0x406831
406817:	6a 2c                	push   $0x2c
406819:	68 d0 38 40 00       	push   $0x4038d0
40681e:	ff 75 cc             	push   -0x34(%ebp)
406821:	ff 75 b0             	push   -0x50(%ebp)
406824:	e8 ab ac ff ff       	call   0x4014d4
406829:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
40682f:	eb 07                	jmp    0x406838
406831:	83 a5 70 ff ff ff 00 	andl   $0x0,-0x90(%ebp)
406838:	8d 45 c8             	lea    -0x38(%ebp),%eax
40683b:	50                   	push   %eax
40683c:	e8 99 ac ff ff       	call   0x4014da
406841:	8d 45 ec             	lea    -0x14(%ebp),%eax
406844:	50                   	push   %eax
406845:	e8 6c ac ff ff       	call   0x4014b6
40684a:	89 45 bc             	mov    %eax,-0x44(%ebp)
40684d:	8b 45 dc             	mov    -0x24(%ebp),%eax
406850:	f7 d0                	not    %eax
406852:	f7 d0                	not    %eax
406854:	83 c0 0c             	add    $0xc,%eax
406857:	50                   	push   %eax
406858:	ff 75 bc             	push   -0x44(%ebp)
40685b:	e8 e2 fb ff ff       	call   0x406442
406860:	8b 45 dc             	mov    -0x24(%ebp),%eax
406863:	f7 d0                	not    %eax
406865:	f7 d0                	not    %eax
406867:	50                   	push   %eax
406868:	e8 e4 fb ff ff       	call   0x406451
40686d:	48                   	dec    %eax
40686e:	89 45 a0             	mov    %eax,-0x60(%ebp)
406871:	c7 45 a4 01 00 00 00 	movl   $0x1,-0x5c(%ebp)
406878:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40687c:	eb 09                	jmp    0x406887
40687e:	8b 45 e8             	mov    -0x18(%ebp),%eax
406881:	03 45 a4             	add    -0x5c(%ebp),%eax
406884:	89 45 e8             	mov    %eax,-0x18(%ebp)
406887:	8b 45 e8             	mov    -0x18(%ebp),%eax
40688a:	3b 45 a0             	cmp    -0x60(%ebp),%eax
40688d:	7f 45                	jg     0x4068d4
40688f:	ff 75 dc             	push   -0x24(%ebp)
406892:	8d 45 c8             	lea    -0x38(%ebp),%eax
406895:	50                   	push   %eax
406896:	e8 45 ac ff ff       	call   0x4014e0
40689b:	8b 45 c8             	mov    -0x38(%ebp),%eax
40689e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4068a1:	2b 48 14             	sub    0x14(%eax),%ecx
4068a4:	8b 45 c8             	mov    -0x38(%ebp),%eax
4068a7:	8b 40 0c             	mov    0xc(%eax),%eax
4068aa:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4068ad:	50                   	push   %eax
4068ae:	e8 03 ac ff ff       	call   0x4014b6
4068b3:	89 45 bc             	mov    %eax,-0x44(%ebp)
4068b6:	8d 45 c8             	lea    -0x38(%ebp),%eax
4068b9:	50                   	push   %eax
4068ba:	e8 1b ac ff ff       	call   0x4014da
4068bf:	ff 75 bc             	push   -0x44(%ebp)
4068c2:	8b 45 e8             	mov    -0x18(%ebp),%eax
4068c5:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4068c8:	8d 44 81 04          	lea    0x4(%ecx,%eax,4),%eax
4068cc:	50                   	push   %eax
4068cd:	e8 70 fb ff ff       	call   0x406442
4068d2:	eb aa                	jmp    0x40687e
4068d4:	c7 45 bc 8b 44 24 04 	movl   $0x424448b,-0x44(%ebp)
4068db:	8d 45 bc             	lea    -0x44(%ebp),%eax
4068de:	50                   	push   %eax
4068df:	e8 d2 ab ff ff       	call   0x4014b6
4068e4:	89 45 b8             	mov    %eax,-0x48(%ebp)
4068e7:	8b 45 d0             	mov    -0x30(%ebp),%eax
4068ea:	83 c0 04             	add    $0x4,%eax
4068ed:	50                   	push   %eax
4068ee:	ff 75 b8             	push   -0x48(%ebp)
4068f1:	e8 4c fb ff ff       	call   0x406442
4068f6:	c7 45 bc 8b 00 8b 40 	movl   $0x408b008b,-0x44(%ebp)
4068fd:	8d 45 bc             	lea    -0x44(%ebp),%eax
406900:	50                   	push   %eax
406901:	e8 b0 ab ff ff       	call   0x4014b6
406906:	89 45 b8             	mov    %eax,-0x48(%ebp)
406909:	8b 45 d0             	mov    -0x30(%ebp),%eax
40690c:	83 c0 08             	add    $0x8,%eax
40690f:	50                   	push   %eax
406910:	ff 75 b8             	push   -0x48(%ebp)
406913:	e8 2a fb ff ff       	call   0x406442
406918:	c7 45 bc 2c 83 c4 20 	movl   $0x20c4832c,-0x44(%ebp)
40691f:	8d 45 bc             	lea    -0x44(%ebp),%eax
406922:	50                   	push   %eax
406923:	e8 8e ab ff ff       	call   0x4014b6
406928:	89 45 b8             	mov    %eax,-0x48(%ebp)
40692b:	8b 45 d0             	mov    -0x30(%ebp),%eax
40692e:	83 c0 0c             	add    $0xc,%eax
406931:	50                   	push   %eax
406932:	ff 75 b8             	push   -0x48(%ebp)
406935:	e8 08 fb ff ff       	call   0x406442
40693a:	c7 45 bc ff 74 24 e0 	movl   $0xe02474ff,-0x44(%ebp)
406941:	8d 45 bc             	lea    -0x44(%ebp),%eax
406944:	50                   	push   %eax
406945:	e8 6c ab ff ff       	call   0x4014b6
40694a:	89 45 b8             	mov    %eax,-0x48(%ebp)
40694d:	8b 45 d0             	mov    -0x30(%ebp),%eax
406950:	83 c0 10             	add    $0x10,%eax
406953:	50                   	push   %eax
406954:	ff 75 b8             	push   -0x48(%ebp)
406957:	e8 e6 fa ff ff       	call   0x406442
40695c:	c7 45 bc ff e0 00 00 	movl   $0xe0ff,-0x44(%ebp)
406963:	8d 45 bc             	lea    -0x44(%ebp),%eax
406966:	50                   	push   %eax
406967:	e8 4a ab ff ff       	call   0x4014b6
40696c:	89 45 b8             	mov    %eax,-0x48(%ebp)
40696f:	8b 45 d0             	mov    -0x30(%ebp),%eax
406972:	83 c0 14             	add    $0x14,%eax
406975:	50                   	push   %eax
406976:	ff 75 b8             	push   -0x48(%ebp)
406979:	e8 c4 fa ff ff       	call   0x406442
40697e:	8b 45 d0             	mov    -0x30(%ebp),%eax
406981:	83 c0 04             	add    $0x4,%eax
406984:	8b 4d e0             	mov    -0x20(%ebp),%ecx
406987:	6a 08                	push   $0x8
406989:	5a                   	pop    %edx
40698a:	2b 51 14             	sub    0x14(%ecx),%edx
40698d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
406990:	8b 49 0c             	mov    0xc(%ecx),%ecx
406993:	89 04 91             	mov    %eax,(%ecx,%edx,4)
406996:	66 83 65 c0 00       	andw   $0x0,-0x40(%ebp)
40699b:	8d 45 c0             	lea    -0x40(%ebp),%eax
40699e:	50                   	push   %eax
40699f:	6a 40                	push   $0x40
4069a1:	6a 08                	push   $0x8
4069a3:	ff 35 00 11 46 00    	push   0x461100
4069a9:	6a 00                	push   $0x0
4069ab:	6a 00                	push   $0x0
4069ad:	6a 00                	push   $0x0
4069af:	6a 00                	push   $0x0
4069b1:	6a 00                	push   $0x0
4069b3:	6a 00                	push   $0x0
4069b5:	8b 45 cc             	mov    -0x34(%ebp),%eax
4069b8:	8b 00                	mov    (%eax),%eax
4069ba:	ff 75 cc             	push   -0x34(%ebp)
4069bd:	ff 50 20             	call   *0x20(%eax)
4069c0:	db e2                	fnclex
4069c2:	89 45 b0             	mov    %eax,-0x50(%ebp)
4069c5:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
4069c9:	7d 1a                	jge    0x4069e5
4069cb:	6a 20                	push   $0x20
4069cd:	68 d0 38 40 00       	push   $0x4038d0
4069d2:	ff 75 cc             	push   -0x34(%ebp)
4069d5:	ff 75 b0             	push   -0x50(%ebp)
4069d8:	e8 f7 aa ff ff       	call   0x4014d4
4069dd:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
4069e3:	eb 07                	jmp    0x4069ec
4069e5:	83 a5 6c ff ff ff 00 	andl   $0x0,-0x94(%ebp)
4069ec:	8b 45 dc             	mov    -0x24(%ebp),%eax