408906:	ff d6                	call   *%esi
408908:	8b f0                	mov    %eax,%esi
40890a:	81 ff 0a 00 03 00    	cmp    $0x3000a,%edi
408910:	7f 5f                	jg     0x408971
408912:	81 ff 05 00 03 00    	cmp    $0x30005,%edi
408918:	7d 2c                	jge    0x408946
40891a:	81 ff 05 00 01 00    	cmp    $0x10005,%edi
408920:	7c 61                	jl     0x408983
408922:	81 ff 0a 00 01 00    	cmp    $0x1000a,%edi
408928:	7e 1c                	jle    0x408946
40892a:	81 ff 0b 00 01 00    	cmp    $0x1000b,%edi
408930:	0f 84 96 00 00 00    	je     0x4089cc
408936:	81 ff 0c 00 01 00    	cmp    $0x1000c,%edi
40893c:	74 67                	je     0x4089a5
40893e:	81 ff 0d 00 01 00    	cmp    $0x1000d,%edi
408944:	eb 3b                	jmp    0x408981
408946:	56                   	push   %esi
408947:	ff 75 10             	push   0x10(%ebp)
40894a:	ff 75 08             	push   0x8(%ebp)
40894d:	ff 75 0c             	push   0xc(%ebp)
408950:	ff 75 fc             	push   -0x4(%ebp)
408953:	6a 7f                	push   $0x7f
408955:	ff 15 28 b1 44 00    	call   *0x44b128
40895b:	ff 75 14             	push   0x14(%ebp)
40895e:	99                   	cltd
40895f:	53                   	push   %ebx
408960:	6a 02                	push   $0x2
408962:	52                   	push   %edx
408963:	50                   	push   %eax
408964:	57                   	push   %edi
408965:	e8 1c fe ff ff       	call   0x408786
40896a:	8b d8                	mov    %eax,%ebx
40896c:	e9 97 00 00 00       	jmp    0x408a08
408971:	81 ef 0b 00 03 00    	sub    $0x3000b,%edi
408977:	74 53                	je     0x4089cc
408979:	83 ef 01             	sub    $0x1,%edi
40897c:	74 27                	je     0x4089a5
40897e:	83 ef 01             	sub    $0x1,%edi
408981:	74 07                	je     0x40898a
408983:	bb 57 00 07 80       	mov    $0x80070057,%ebx
408988:	eb 7e                	jmp    0x408a08
40898a:	8b 45 08             	mov    0x8(%ebp),%eax
40898d:	3b c6                	cmp    %esi,%eax
40898f:	7c 10                	jl     0x4089a1
408991:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408994:	2b c6                	sub    %esi,%eax
408996:	56                   	push   %esi
408997:	ff 75 10             	push   0x10(%ebp)
40899a:	56                   	push   %esi
40899b:	8d 04 41             	lea    (%ecx,%eax,2),%eax
40899e:	50                   	push   %eax
40899f:	eb 11                	jmp    0x4089b2
4089a1:	8b cb                	mov    %ebx,%ecx
4089a3:	eb 20                	jmp    0x4089c5
4089a5:	39 75 08             	cmp    %esi,0x8(%ebp)
4089a8:	7c f7                	jl     0x4089a1
4089aa:	56                   	push   %esi
4089ab:	ff 75 10             	push   0x10(%ebp)
4089ae:	56                   	push   %esi
4089af:	ff 75 0c             	push   0xc(%ebp)
4089b2:	ff 75 fc             	push   -0x4(%ebp)
4089b5:	6a 7f                	push   $0x7f
4089b7:	ff 15 28 b1 44 00    	call   *0x44b128
4089bd:	83 f8 02             	cmp    $0x2,%eax
4089c0:	75 df                	jne    0x4089a1
4089c2:	33 c9                	xor    %ecx,%ecx
4089c4:	41                   	inc    %ecx
4089c5:	8b 45 14             	mov    0x14(%ebp),%eax
4089c8:	89 08                	mov    %ecx,(%eax)
4089ca:	eb 3c                	jmp    0x408a08
4089cc:	8b 7d 08             	mov    0x8(%ebp),%edi
4089cf:	3b f7                	cmp    %edi,%esi
4089d1:	7f 30                	jg     0x408a03
4089d3:	8b 45 0c             	mov    0xc(%ebp),%eax
4089d6:	89 75 08             	mov    %esi,0x8(%ebp)
4089d9:	56                   	push   %esi
4089da:	ff 75 10             	push   0x10(%ebp)
4089dd:	56                   	push   %esi
4089de:	50                   	push   %eax
4089df:	ff 75 fc             	push   -0x4(%ebp)
4089e2:	6a 7f                	push   $0x7f
4089e4:	ff 15 28 b1 44 00    	call   *0x44b128
4089ea:	83 f8 02             	cmp    $0x2,%eax
4089ed:	74 d3                	je     0x4089c2
4089ef:	8b 45 0c             	mov    0xc(%ebp),%eax
4089f2:	8b 4d 08             	mov    0x8(%ebp),%ecx
4089f5:	83 c0 02             	add    $0x2,%eax
4089f8:	41                   	inc    %ecx
4089f9:	89 45 0c             	mov    %eax,0xc(%ebp)
4089fc:	89 4d 08             	mov    %ecx,0x8(%ebp)
4089ff:	3b cf                	cmp    %edi,%ecx
408a01:	7e d6                	jle    0x4089d9
408a03:	8b 45 14             	mov    0x14(%ebp),%eax
408a06:	89 18                	mov    %ebx,(%eax)
408a08:	5f                   	pop    %edi
408a09:	5e                   	pop    %esi
408a0a:	8b c3                	mov    %ebx,%eax
408a0c:	5b                   	pop    %ebx
408a0d:	8b e5                	mov    %ebp,%esp
408a0f:	5d                   	pop    %ebp
408a10:	c2 10 00             	ret    $0x10
408a13:	55                   	push   %ebp
408a14:	8b ec                	mov    %esp,%ebp
408a16:	83 ec 28             	sub    $0x28,%esp
408a19:	53                   	push   %ebx
408a1a:	56                   	push   %esi
408a1b:	57                   	push   %edi
408a1c:	33 db                	xor    %ebx,%ebx
408a1e:	0f 57 c0             	xorps  %xmm0,%xmm0
408a21:	6a 02                	push   $0x2
408a23:	58                   	pop    %eax
408a24:	8b f3                	mov    %ebx,%esi
408a26:	66 0f 13 45 e8       	movlpd %xmm0,-0x18(%ebp)
408a2b:	66 0f 13 45 f0       	movlpd %xmm0,-0x10(%ebp)
408a30:	89 5d fc             	mov    %ebx,-0x4(%ebp)
408a33:	66 0f 13 45 d8       	movlpd %xmm0,-0x28(%ebp)
408a38:	66 0f 13 45 e0       	movlpd %xmm0,-0x20(%ebp)
408a3d:	89 5d f8             	mov    %ebx,-0x8(%ebp)
408a40:	39 45 1c             	cmp    %eax,0x1c(%ebp)
408a43:	0f 85 6e 01 00 00    	jne    0x408bb7
408a49:	39 45 34             	cmp    %eax,0x34(%ebp)
408a4c:	75 55                	jne    0x408aa3
408a4e:	8d 45 fc             	lea    -0x4(%ebp),%eax
408a51:	50                   	push   %eax
408a52:	8d 45 0c             	lea    0xc(%ebp),%eax
408a55:	50                   	push   %eax
408a56:	e8 85 76 01 00       	call   0x4200e0
408a5b:	8b f0                	mov    %eax,%esi
408a5d:	85 f6                	test   %esi,%esi
408a5f:	79 12                	jns    0x408a73
408a61:	68 00 e0 44 00       	push   $0x44e000
408a66:	56                   	push   %esi
408a67:	e8 c3 76 03 00       	call   0x44012f
408a6c:	59                   	pop    %ecx
408a6d:	59                   	pop    %ecx
408a6e:	e9 83 00 00 00       	jmp    0x408af6
408a73:	8d 45 f8             	lea    -0x8(%ebp),%eax
408a76:	50                   	push   %eax
408a77:	8d 45 24             	lea    0x24(%ebp),%eax
408a7a:	50                   	push   %eax
408a7b:	e8 60 76 01 00       	call   0x4200e0
408a80:	8b f0                	mov    %eax,%esi
408a82:	85 f6                	test   %esi,%esi
408a84:	79 07                	jns    0x408a8d
408a86:	68 20 e0 44 00       	push   $0x44e020
408a8b:	eb d9                	jmp    0x408a66
408a8d:	ff 75 3c             	push   0x3c(%ebp)
408a90:	ff 75 f8             	push   -0x8(%ebp)
408a93:	ff 75 fc             	push   -0x4(%ebp)
408a96:	ff 75 08             	push   0x8(%ebp)
408a99:	e8 40 fe ff ff       	call   0x4088de
408a9e:	e9 0d 01 00 00       	jmp    0x408bb0
408aa3:	83 7d 34 03          	cmpl   $0x3,0x34(%ebp)
408aa7:	0f 85 b2 00 00 00    	jne    0x408b5f
408aad:	8d 45 e0             	lea    -0x20(%ebp),%eax
408ab0:	50                   	push   %eax
408ab1:	8d 45 24             	lea    0x24(%ebp),%eax
408ab4:	50                   	push   %eax
408ab5:	e8 16 77 01 00       	call   0x4201d0
408aba:	8b f0                	mov    %eax,%esi
408abc:	85 f6                	test   %esi,%esi
408abe:	0f 88 c2 01 00 00    	js     0x408c86
408ac4:	8d 45 f0             	lea    -0x10(%ebp),%eax
408ac7:	50                   	push   %eax
408ac8:	8d 45 0c             	lea    0xc(%ebp),%eax
408acb:	50                   	push   %eax
408acc:	e8 ff 76 01 00       	call   0x4201d0
408ad1:	8b f0                	mov    %eax,%esi
408ad3:	85 f6                	test   %esi,%esi
408ad5:	79 6f                	jns    0x408b46
408ad7:	81 fe 05 00 02 80    	cmp    $0x80020005,%esi
408add:	0f 85 82 01 00 00    	jne    0x408c65
408ae3:	8b f3                	mov    %ebx,%esi
408ae5:	8b 45 3c             	mov    0x3c(%ebp),%eax
408ae8:	33 c9                	xor    %ecx,%ecx
408aea:	81 7d 08 0a 00 01 00 	cmpl   $0x1000a,0x8(%ebp)
408af1:	0f 94 c1             	sete   %cl
408af4:	89 08                	mov    %ecx,(%eax)
408af6:	6a 08                	push   $0x8
408af8:	5f                   	pop    %edi
408af9:	8b cf                	mov    %edi,%ecx
408afb:	8d 45 f0             	lea    -0x10(%ebp),%eax
408afe:	88 18                	mov    %bl,(%eax)
408b00:	40                   	inc    %eax
408b01:	83 e9 01             	sub    $0x1,%ecx
408b04:	75 f8                	jne    0x408afe
408b06:	8b cf                	mov    %edi,%ecx
408b08:	8d 45 e8             	lea    -0x18(%ebp),%eax
408b0b:	88 18                	mov    %bl,(%eax)
408b0d:	40                   	inc    %eax
408b0e:	83 e9 01             	sub    $0x1,%ecx
408b11:	75 f8                	jne    0x408b0b
408b13:	ff 75 fc             	push   -0x4(%ebp)
408b16:	e8 78 9c ff ff       	call   0x402793
408b1b:	8b cf                	mov    %edi,%ecx
408b1d:	8d 45 e0             	lea    -0x20(%ebp),%eax
408b20:	88 18                	mov    %bl,(%eax)
408b22:	40                   	inc    %eax
408b23:	83 e9 01             	sub    $0x1,%ecx
408b26:	75 f8                	jne    0x408b20
408b28:	8d 45 d8             	lea    -0x28(%ebp),%eax
408b2b:	88 18                	mov    %bl,(%eax)
408b2d:	40                   	inc    %eax
408b2e:	83 ef 01             	sub    $0x1,%edi
408b31:	75 f8                	jne    0x408b2b
408b33:	ff 75 f8             	push   -0x8(%ebp)
408b36:	e8 58 9c ff ff       	call   0x402793
408b3b:	5f                   	pop    %edi
408b3c:	8b c6                	mov    %esi,%eax
408b3e:	5e                   	pop    %esi
408b3f:	5b                   	pop    %ebx
408b40:	8b e5                	mov    %ebp,%esp
408b42:	5d                   	pop    %ebp
408b43:	c2 38 00             	ret    $0x38
408b46:	ff 75 3c             	push   0x3c(%ebp)
408b49:	ff 75 e4             	push   -0x1c(%ebp)
408b4c:	ff 75 e0             	push   -0x20(%ebp)
408b4f:	ff 75 f4             	push   -0xc(%ebp)
408b52:	ff 75 f0             	push   -0x10(%ebp)
408b55:	ff 75 08             	push   0x8(%ebp)
408b58:	e8 74 01 00 00       	call   0x408cd1
408b5d:	eb 51                	jmp    0x408bb0
408b5f:	83 7d 34 01          	cmpl   $0x1,0x34(%ebp)
408b63:	75 80                	jne    0x408ae5
408b65:	8d 45 d8             	lea    -0x28(%ebp),%eax
408b68:	50                   	push   %eax
408b69:	8d 45 24             	lea    0x24(%ebp),%eax
408b6c:	50                   	push   %eax
408b6d:	e8 f8 74 01 00       	call   0x42006a
408b72:	8b f0                	mov    %eax,%esi
408b74:	85 f6                	test   %esi,%esi
408b76:	78 7f                	js     0x408bf7
408b78:	8d 45 e8             	lea    -0x18(%ebp),%eax
408b7b:	50                   	push   %eax
408b7c:	8d 45 0c             	lea    0xc(%ebp),%eax
408b7f:	50                   	push   %eax
408b80:	e8 e5 74 01 00       	call   0x42006a
408b85:	8b f0                	mov    %eax,%esi
408b87:	85 f6                	test   %esi,%esi
408b89:	79 0e                	jns    0x408b99
408b8b:	81 fe 05 00 02 80    	cmp    $0x80020005,%esi
408b91:	0f 84 4c ff ff ff    	je     0x408ae3
408b97:	eb 41                	jmp    0x408bda
408b99:	ff 75 3c             	push   0x3c(%ebp)
408b9c:	ff 75 dc             	push   -0x24(%ebp)
408b9f:	ff 75 d8             	push   -0x28(%ebp)
408ba2:	ff 75 ec             	push   -0x14(%ebp)
408ba5:	ff 75 e8             	push   -0x18(%ebp)
408ba8:	ff 75 08             	push   0x8(%ebp)
408bab:	e8 d6 fb ff ff       	call   0x408786
408bb0:	8b f0                	mov    %eax,%esi
408bb2:	e9 3f ff ff ff       	jmp    0x408af6
408bb7:	83 7d 1c 01          	cmpl   $0x1,0x1c(%ebp)
408bbb:	0f 85 81 00 00 00    	jne    0x408c42
408bc1:	83 7d 34 01          	cmpl   $0x1,0x34(%ebp)
408bc5:	75 3a                	jne    0x408c01
408bc7:	8d 45 e8             	lea    -0x18(%ebp),%eax
408bca:	50                   	push   %eax
408bcb:	8d 45 0c             	lea    0xc(%ebp),%eax
408bce:	50                   	push   %eax
408bcf:	e8 96 74 01 00       	call   0x42006a
408bd4:	8b f0                	mov    %eax,%esi
408bd6:	85 f6                	test   %esi,%esi
408bd8:	79 0a                	jns    0x408be4
408bda:	68 40 e0 44 00       	push   $0x44e040
408bdf:	e9 82 fe ff ff       	jmp    0x408a66
408be4:	8d 45 d8             	lea    -0x28(%ebp),%eax
408be7:	50                   	push   %eax
408be8:	8d 45 24             	lea    0x24(%ebp),%eax
408beb:	50                   	push   %eax
408bec:	e8 79 74 01 00       	call   0x42006a
408bf1:	8b f0                	mov    %eax,%esi
408bf3:	85 f6                	test   %esi,%esi
408bf5:	79 a2                	jns    0x408b99
408bf7:	68 60 e0 44 00       	push   $0x44e060
408bfc:	e9 65 fe ff ff       	jmp    0x408a66
408c01:	39 45 34             	cmp    %eax,0x34(%ebp)
408c04:	0f 85 db fe ff ff    	jne    0x408ae5
408c0a:	8d 45 e8             	lea    -0x18(%ebp),%eax
408c0d:	50                   	push   %eax
408c0e:	8d 45 0c             	lea    0xc(%ebp),%eax
408c11:	50                   	push   %eax
408c12:	e8 53 74 01 00       	call   0x42006a
408c17:	8b f0                	mov    %eax,%esi
408c19:	85 f6                	test   %esi,%esi
408c1b:	78 bd                	js     0x408bda
408c1d:	8d 45 d8             	lea    -0x28(%ebp),%eax
408c20:	50                   	push   %eax
408c21:	8d 45 24             	lea    0x24(%ebp),%eax
408c24:	50                   	push   %eax
408c25:	e8 40 74 01 00       	call   0x42006a
408c2a:	8b f0                	mov    %eax,%esi
408c2c:	85 f6                	test   %esi,%esi
408c2e:	0f 89 65 ff ff ff    	jns    0x408b99
408c34:	81 fe 05 00 02 80    	cmp    $0x80020005,%esi
408c3a:	0f 84 a3 fe ff ff    	je     0x408ae3
408c40:	eb b5                	jmp    0x408bf7
408c42:	83 7d 1c 03          	cmpl   $0x3,0x1c(%ebp)
408c46:	0f 85 99 fe ff ff    	jne    0x408ae5
408c4c:	83 7d 34 03          	cmpl   $0x3,0x34(%ebp)
408c50:	75 3e                	jne    0x408c90
408c52:	8d 45 f0             	lea    -0x10(%ebp),%eax
408c55:	50                   	push   %eax
408c56:	8d 45 0c             	lea    0xc(%ebp),%eax
408c59:	50                   	push   %eax
408c5a:	e8 71 75 01 00       	call   0x4201d0
408c5f:	8b f0                	mov    %eax,%esi
408c61:	85 f6                	test   %esi,%esi
408c63:	79 0a                	jns    0x408c6f
408c65:	68 80 e0 44 00       	push   $0x44e080
408c6a:	e9 f7 fd ff ff       	jmp    0x408a66
408c6f:	8d 45 e0             	lea    -0x20(%ebp),%eax
408c72:	50                   	push   %eax
408c73:	8d 45 24             	lea    0x24(%ebp),%eax
408c76:	50                   	push   %eax
408c77:	e8 54 75 01 00       	call   0x4201d0
408c7c:	8b f0                	mov    %eax,%esi
408c7e:	85 f6                	test   %esi,%esi
408c80:	0f 89 c0 fe ff ff    	jns    0x408b46
408c86:	68 a0 e0 44 00       	push   $0x44e0a0
408c8b:	e9 d6 fd ff ff       	jmp    0x408a66
408c90:	39 45 34             	cmp    %eax,0x34(%ebp)
408c93:	0f 85 4c fe ff ff    	jne    0x408ae5
408c99:	8d 45 f0             	lea    -0x10(%ebp),%eax
408c9c:	50                   	push   %eax
408c9d:	8d 45 0c             	lea    0xc(%ebp),%eax
408ca0:	50                   	push   %eax
408ca1:	e8 2a 75 01 00       	call   0x4201d0
408ca6:	8b f0                	mov    %eax,%esi
408ca8:	85 f6                	test   %esi,%esi
408caa:	78 b9                	js     0x408c65
408cac:	8d 45 e0             	lea    -0x20(%ebp),%eax
408caf:	50                   	push   %eax
408cb0:	8d 45 24             	lea    0x24(%ebp),%eax
408cb3:	50                   	push   %eax
408cb4:	e8 17 75 01 00       	call   0x4201d0
408cb9:	8b f0                	mov    %eax,%esi
408cbb:	85 f6                	test   %esi,%esi
408cbd:	0f 89 83 fe ff ff    	jns    0x408b46
408cc3:	81 fe 05 00 02 80    	cmp    $0x80020005,%esi
408cc9:	0f 84 14 fe ff ff    	je     0x408ae3
408ccf:	eb b5                	jmp    0x408c86
408cd1:	55                   	push   %ebp
408cd2:	8b ec                	mov    %esp,%ebp
408cd4:	8b 45 08             	mov    0x8(%ebp),%eax
408cd7:	33 d2                	xor    %edx,%edx
408cd9:	05 fb ff fe ff       	add    $0xfffefffb,%eax
408cde:	83 f8 08             	cmp    $0x8,%eax
408ce1:	0f 87 cc 00 00 00    	ja     0x408db3
408ce7:	ff 24 85 c1 8d 40 00 	jmp    *0x408dc1(,%eax,4)