95aa63:	50                   	push   %eax
95aa64:	e8 fc 1b ad ff       	call   0x42c665
95aa69:	8b cf                	mov    %edi,%ecx
95aa6b:	ff 56 28             	call   *0x28(%esi)
95aa6e:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
95aa74:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
95aa7a:	8d 7d 90             	lea    -0x70(%ebp),%edi
95aa7d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aa7e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aa7f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aa80:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aa81:	e8 c7 80 ab ff       	call   0x412b4d
95aa86:	8b f8                	mov    %eax,%edi
95aa88:	8b 0f                	mov    (%edi),%ecx
95aa8a:	8b b1 dc 02 00 00    	mov    0x2dc(%ecx),%esi
95aa90:	8b ce                	mov    %esi,%ecx
95aa92:	e8 ce 1b ad ff       	call   0x42c665
95aa97:	8b cf                	mov    %edi,%ecx
95aa99:	ff d6                	call   *%esi
95aa9b:	01 45 90             	add    %eax,-0x70(%ebp)
95aa9e:	e8 aa 80 ab ff       	call   0x412b4d
95aaa3:	8b f8                	mov    %eax,%edi
95aaa5:	8b 0f                	mov    (%edi),%ecx
95aaa7:	8b b1 dc 02 00 00    	mov    0x2dc(%ecx),%esi
95aaad:	8b ce                	mov    %esi,%ecx
95aaaf:	e8 b1 1b ad ff       	call   0x42c665
95aab4:	8b cf                	mov    %edi,%ecx
95aab6:	ff d6                	call   *%esi
95aab8:	03 85 38 ff ff ff    	add    -0xc8(%ebp),%eax
95aabe:	8d 75 90             	lea    -0x70(%ebp),%esi
95aac1:	03 45 90             	add    -0x70(%ebp),%eax
95aac4:	8d 7d c0             	lea    -0x40(%ebp),%edi
95aac7:	89 45 98             	mov    %eax,-0x68(%ebp)
95aaca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aacb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aacc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aacd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aace:	e8 7a 80 ab ff       	call   0x412b4d
95aad3:	8b f8                	mov    %eax,%edi
95aad5:	8b 0f                	mov    (%edi),%ecx
95aad7:	8b b1 98 00 00 00    	mov    0x98(%ecx),%esi
95aadd:	8b ce                	mov    %esi,%ecx
95aadf:	e8 81 1b ad ff       	call   0x42c665
95aae4:	8b cf                	mov    %edi,%ecx
95aae6:	ff d6                	call   *%esi
95aae8:	85 c0                	test   %eax,%eax
95aaea:	74 45                	je     0x95ab31
95aaec:	8b b5 70 ff ff ff    	mov    -0x90(%ebp),%esi
95aaf2:	8d 7d c0             	lea    -0x40(%ebp),%edi
95aaf5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aaf6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aaf7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aaf8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
95aaf9:	e8 4f 80 ab ff       	call   0x412b4d
95aafe:	8b f8                	mov    %eax,%edi
95ab00:	8d 45 d0             	lea    -0x30(%ebp),%eax
95ab03:	50                   	push   %eax
95ab04:	8b 0f                	mov    (%edi),%ecx
95ab06:	8b b1 e4 02 00 00    	mov    0x2e4(%ecx),%esi
95ab0c:	8b ce                	mov    %esi,%ecx
95ab0e:	e8 52 1b ad ff       	call   0x42c665
95ab13:	8b cf                	mov    %edi,%ecx
95ab15:	ff d6                	call   *%esi
95ab17:	8b 45 d0             	mov    -0x30(%ebp),%eax
95ab1a:	01 45 c0             	add    %eax,-0x40(%ebp)
95ab1d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
95ab20:	01 45 c4             	add    %eax,-0x3c(%ebp)
95ab23:	8b 45 dc             	mov    -0x24(%ebp),%eax
95ab26:	29 45 cc             	sub    %eax,-0x34(%ebp)
95ab29:	8b 45 98             	mov    -0x68(%ebp),%eax
95ab2c:	89 45 c8             	mov    %eax,-0x38(%ebp)
95ab2f:	eb 0e                	jmp    0x95ab3f
95ab31:	6a ff                	push   $0xffffffff
95ab33:	6a 01                	push   $0x1
95ab35:	8d 45 c0             	lea    -0x40(%ebp),%eax
95ab38:	50                   	push   %eax
95ab39:	ff 15 ec 3d d8 00    	call   *0xd83dec
95ab3f:	83 3d b8 ef d5 00 00 	cmpl   $0x0,0xd5efb8
95ab46:	74 46                	je     0x95ab8e
95ab48:	ff 73 20             	push   0x20(%ebx)
95ab4b:	e8 ce a3 ac ff       	call   0x424f1e
95ab50:	85 c0                	test   %eax,%eax
95ab52:	74 3a                	je     0x95ab8e
95ab54:	ff 73 6c             	push   0x6c(%ebx)
95ab57:	68 a8 ed d5 00       	push   $0xd5eda8
95ab5c:	e8 a9 b4 aa ff       	call   0x40600a
95ab61:	59                   	pop    %ecx
95ab62:	59                   	pop    %ecx
95ab63:	85 c0                	test   %eax,%eax
95ab65:	74 27                	je     0x95ab8e
95ab67:	ff 70 20             	push   0x20(%eax)
95ab6a:	ff 15 30 40 d8 00    	call   *0xd84030
95ab70:	50                   	push   %eax
95ab71:	e8 18 ac ac ff       	call   0x42578e
95ab76:	50                   	push   %eax
95ab77:	68 80 eb d5 00       	push   $0xd5eb80
95ab7c:	e8 89 b4 aa ff       	call   0x40600a
95ab81:	59                   	pop    %ecx
95ab82:	59                   	pop    %ecx
95ab83:	85 c0                	test   %eax,%eax
95ab85:	74 07                	je     0x95ab8e
95ab87:	8b c8                	mov    %eax,%ecx
95ab89:	e8 84 1a ab ff       	call   0x40c612
95ab8e:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
95ab94:	85 ff                	test   %edi,%edi
95ab96:	75 13                	jne    0x95abab
95ab98:	e8 b0 7f ab ff       	call   0x412b4d
95ab9d:	39 78 5c             	cmp    %edi,0x5c(%eax)
95aba0:	74 09                	je     0x95abab
95aba2:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
95aba9:	eb 04                	jmp    0x95abaf
95abab:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
95abaf:	8b cb                	mov    %ebx,%ecx
95abb1:	e8 cf 69 ac ff       	call   0x421585
95abb6:	85 c0                	test   %eax,%eax
95abb8:	0f 85 9e 00 00 00    	jne    0x95ac5c
95abbe:	39 85 44 ff ff ff    	cmp    %eax,-0xbc(%ebp)
95abc4:	0f 85 92 00 00 00    	jne    0x95ac5c
95abca:	8b 43 0c             	mov    0xc(%ebx),%eax
95abcd:	33 d2                	xor    %edx,%edx
95abcf:	8b 4b 04             	mov    0x4(%ebx),%ecx
95abd2:	42                   	inc    %edx
95abd3:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
95abd7:	89 53 0c             	mov    %edx,0xc(%ebx)
95abda:	89 53 04             	mov    %edx,0x4(%ebx)
95abdd:	7d 10                	jge    0x95abef
95abdf:	83 63 04 00          	andl   $0x0,0x4(%ebx)
95abe3:	83 7b 34 00          	cmpl   $0x0,0x34(%ebx)
95abe7:	7d 06                	jge    0x95abef
95abe9:	89 43 0c             	mov    %eax,0xc(%ebx)
95abec:	89 4b 04             	mov    %ecx,0x4(%ebx)
95abef:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
95abf3:	8b 75 88             	mov    -0x78(%ebp),%esi
95abf6:	74 67                	je     0x95ac5f
95abf8:	a1 b8 d2 d7 00       	mov    0xd7d2b8,%eax
95abfd:	3b f0                	cmp    %eax,%esi
95abff:	74 5e                	je     0x95ac5f
95ac01:	8b c8                	mov    %eax,%ecx
95ac03:	89 8d 50 ff ff ff    	mov    %ecx,-0xb0(%ebp)
95ac09:	85 c9                	test   %ecx,%ecx
95ac0b:	74 52                	je     0x95ac5f
95ac0d:	33 c9                	xor    %ecx,%ecx
95ac0f:	33 d2                	xor    %edx,%edx
95ac11:	85 f6                	test   %esi,%esi
95ac13:	74 2a                	je     0x95ac3f
95ac15:	8b 9d 50 ff ff ff    	mov    -0xb0(%ebp),%ebx
95ac1b:	8b bd 50 ff ff ff    	mov    -0xb0(%ebp),%edi
95ac21:	8b 46 54             	mov    0x54(%esi),%eax
95ac24:	3b 43 54             	cmp    0x54(%ebx),%eax
95ac27:	8b 7f 58             	mov    0x58(%edi),%edi
95ac2a:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
95ac2d:	75 05                	jne    0x95ac34
95ac2f:	39 7e 58             	cmp    %edi,0x58(%esi)
95ac32:	74 05                	je     0x95ac39
95ac34:	8b 56 58             	mov    0x58(%esi),%edx
95ac37:	8b c8                	mov    %eax,%ecx
95ac39:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
95ac3f:	8b b5 50 ff ff ff    	mov    -0xb0(%ebp),%esi
95ac45:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
95ac4b:	6a 00                	push   $0x0
95ac4d:	52                   	push   %edx
95ac4e:	51                   	push   %ecx
95ac4f:	50                   	push   %eax
95ac50:	8b ce                	mov    %esi,%ecx
95ac52:	e8 4c 0d ae ff       	call   0x43b9a3
95ac57:	89 75 88             	mov    %esi,-0x78(%ebp)
95ac5a:	eb 03                	jmp    0x95ac5f
95ac5c:	8b 75 88             	mov    -0x78(%ebp),%esi
95ac5f:	83 65 80 00          	andl   $0x0,-0x80(%ebp)
95ac63:	83 a5 2c ff ff ff 00 	andl   $0x0,-0xd4(%ebp)
95ac6a:	c7 85 28 ff ff ff 2c 	movl   $0xc3872c,-0xd8(%ebp)
95ac71:	87 c3 00
95ac74:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
95ac78:	8d 45 90             	lea    -0x70(%ebp),%eax
95ac7b:	50                   	push   %eax
95ac7c:	ff 15 40 32 d8 00    	call   *0xd83240
95ac82:	50                   	push   %eax
95ac83:	8d 8d 28 ff ff ff    	lea    -0xd8(%ebp),%ecx
95ac89:	e8 e4 b8 ab ff       	call   0x416572
95ac8e:	83 bd 78 ff ff ff 00 	cmpl   $0x0,-0x88(%ebp)
95ac95:	74 1a                	je     0x95acb1
95ac97:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
95ac9b:	75 14                	jne    0x95acb1
95ac9d:	6a 01                	push   $0x1
95ac9f:	57                   	push   %edi
95aca0:	8b 7d 8c             	mov    -0x74(%ebp),%edi
95aca3:	8d 45 c0             	lea    -0x40(%ebp),%eax
95aca6:	50                   	push   %eax
95aca7:	57                   	push   %edi
95aca8:	8b cb                	mov    %ebx,%ecx
95acaa:	e8 76 3f ae ff       	call   0x43ec25
95acaf:	eb 03                	jmp    0x95acb4
95acb1:	8b 7d 8c             	mov    -0x74(%ebp),%edi
95acb4:	83 bd 60 ff ff ff 00 	cmpl   $0x0,-0xa0(%ebp)
95acbb:	75 0f                	jne    0x95accc
95acbd:	8b cb                	mov    %ebx,%ecx
95acbf:	e8 c1 68 ac ff       	call   0x421585
95acc4:	85 c0                	test   %eax,%eax
95acc6:	74 04                	je     0x95accc
95acc8:	85 f6                	test   %esi,%esi
95acca:	75 0d                	jne    0x95acd9
95accc:	83 bd 44 ff ff ff 00 	cmpl   $0x0,-0xbc(%ebp)
95acd3:	0f 84 22 03 00 00    	je     0x95affb
95acd9:	83 bd 7c ff ff ff 00 	cmpl   $0x0,-0x84(%ebp)
95ace0:	74 36                	je     0x95ad18
95ace2:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
95ace6:	75 30                	jne    0x95ad18
95ace8:	e8 60 7e ab ff       	call   0x412b4d
95aced:	83 78 54 00          	cmpl   $0x0,0x54(%eax)
95acf1:	74 25                	je     0x95ad18
95acf3:	e8 3e d6 ab ff       	call   0x418336
95acf8:	8b c8                	mov    %eax,%ecx
95acfa:	e8 7c 54 ac ff       	call   0x42017b
95acff:	85 c0                	test   %eax,%eax
95ad01:	75 15                	jne    0x95ad18
95ad03:	f7 43 24 00 00 05 00 	testl  $0x50000,0x24(%ebx)
95ad0a:	75 0c                	jne    0x95ad18
95ad0c:	c7 85 60 ff ff ff 01 	movl   $0x1,-0xa0(%ebp)
95ad13:	00 00 00
95ad16:	eb 07                	jmp    0x95ad1f
95ad18:	83 a5 60 ff ff ff 00 	andl   $0x0,-0xa0(%ebp)
95ad1f:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
95ad25:	8b cf                	mov    %edi,%ecx
95ad27:	50                   	push   %eax
95ad28:	e8 15 b0 ac ff       	call   0x425d42
95ad2d:	8b 45 9c             	mov    -0x64(%ebp),%eax
95ad30:	8b 75 94             	mov    -0x6c(%ebp),%esi
95ad33:	2b c6                	sub    %esi,%eax
95ad35:	2b 85 3c ff ff ff    	sub    -0xc4(%ebp),%eax
95ad3b:	8b 4b 24             	mov    0x24(%ebx),%ecx
95ad3e:	99                   	cltd
95ad3f:	81 e1 00 00 06 00    	and    $0x60000,%ecx
95ad45:	2b c2                	sub    %edx,%eax
95ad47:	d1 f8                	sar    $1,%eax
95ad49:	89 45 80             	mov    %eax,-0x80(%ebp)
95ad4c:	8b 45 98             	mov    -0x68(%ebp),%eax
95ad4f:	2b 85 38 ff ff ff    	sub    -0xc8(%ebp),%eax
95ad55:	2b 45 90             	sub    -0x70(%ebp),%eax
95ad58:	99                   	cltd
95ad59:	2b c2                	sub    %edx,%eax
95ad5b:	d1 f8                	sar    $1,%eax
95ad5d:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
95ad63:	81 f9 00 00 04 00    	cmp    $0x40000,%ecx
95ad69:	0f 85 22 01 00 00    	jne    0x95ae91
95ad6f:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
95ad73:	0f 84 18 01 00 00    	je     0x95ae91
95ad79:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
95ad7d:	0f 85 0e 01 00 00    	jne    0x95ae91
95ad83:	8b 45 90             	mov    -0x70(%ebp),%eax
95ad86:	03 85 34 ff ff ff    	add    -0xcc(%ebp),%eax
95ad8c:	8b 55 80             	mov    -0x80(%ebp),%edx
95ad8f:	8b 7d 8c             	mov    -0x74(%ebp),%edi
95ad92:	89 45 d0             	mov    %eax,-0x30(%ebp)
95ad95:	03 85 38 ff ff ff    	add    -0xc8(%ebp),%eax
95ad9b:	89 45 d8             	mov    %eax,-0x28(%ebp)
95ad9e:	8d 0c 32             	lea    (%edx,%esi,1),%ecx
95ada1:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
95ada7:	03 c1                	add    %ecx,%eax
95ada9:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
95adac:	89 45 dc             	mov    %eax,-0x24(%ebp)
95adaf:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
95adb5:	85 c0                	test   %eax,%eax
95adb7:	74 12                	je     0x95adcb
95adb9:	50                   	push   %eax
95adba:	8d 45 d0             	lea    -0x30(%ebp),%eax
95adbd:	8b cb                	mov    %ebx,%ecx
95adbf:	50                   	push   %eax
95adc0:	57                   	push   %edi
95adc1:	e8 2f 65 ad ff       	call   0x4312f5
95adc6:	e9 bb 00 00 00       	jmp    0x95ae86
95adcb:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
95add1:	85 c0                	test   %eax,%eax
95add3:	74 11                	je     0x95ade6
95add5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
95add8:	51                   	push   %ecx
95add9:	57                   	push   %edi
95adda:	8b c8                	mov    %eax,%ecx
95addc:	e8 b8 69 aa ff       	call   0x401799
95ade1:	e9 a0 00 00 00       	jmp    0x95ae86
95ade6:	83 bd 60 ff ff ff 00 	cmpl   $0x0,-0xa0(%ebp)
95aded:	74 57                	je     0x95ae46
95adef:	6a 01                	push   $0x1
95adf1:	6a 01                	push   $0x1
95adf3:	8d 45 90             	lea    -0x70(%ebp),%eax
95adf6:	50                   	push   %eax
95adf7:	ff 15 4c 40 d8 00    	call   *0xd8404c
95adfd:	33 c9                	xor    %ecx,%ecx
95adff:	39 4b 04             	cmp    %ecx,0x4(%ebx)
95ae02:	74 05                	je     0x95ae09
95ae04:	8b 43 38             	mov    0x38(%ebx),%eax
95ae07:	eb 03                	jmp    0x95ae0c
95ae09:	8b 43 34             	mov    0x34(%ebx),%eax
95ae0c:	68 ff 00 00 00       	push   $0xff
95ae11:	51                   	push   %ecx
95ae12:	6a 01                	push   $0x1
95ae14:	51                   	push   %ecx
95ae15:	51                   	push   %ecx
95ae16:	51                   	push   %ecx
95ae17:	8b 4d 88             	mov    -0x78(%ebp),%ecx
95ae1a:	50                   	push   %eax
95ae1b:	8b 45 94             	mov    -0x6c(%ebp),%eax
95ae1e:	03 45 80             	add    -0x80(%ebp),%eax
95ae21:	50                   	push   %eax
95ae22:	8b 45 90             	mov    -0x70(%ebp),%eax
95ae25:	03 85 34 ff ff ff    	add    -0xcc(%ebp),%eax
95ae2b:	50                   	push   %eax
95ae2c:	57                   	push   %edi
95ae2d:	e8 79 0f ac ff       	call   0x41bdab
95ae32:	6a fe                	push   $0xfffffffe
95ae34:	6a fe                	push   $0xfffffffe
95ae36:	8d 45 90             	lea    -0x70(%ebp),%eax
95ae39:	50                   	push   %eax
95ae3a:	ff 15 4c 40 d8 00    	call   *0xd8404c
95ae40:	8b 75 94             	mov    -0x6c(%ebp),%esi
95ae43:	8b 55 80             	mov    -0x80(%ebp),%edx
95ae46:	33 c0                	xor    %eax,%eax
95ae48:	39 85 68 ff ff ff    	cmp    %eax,-0x98(%ebp)
95ae4e:	0f 95 c0             	setne  %al
95ae51:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
95ae55:	74 05                	je     0x95ae5c
95ae57:	8b 4b 38             	mov    0x38(%ebx),%ecx
95ae5a:	eb 03                	jmp    0x95ae5f
95ae5c:	8b 4b 34             	mov    0x34(%ebx),%ecx
95ae5f:	68 ff 00 00 00       	push   $0xff
95ae64:	ff 75 ec             	push   -0x14(%ebp)
95ae67:	6a 00                	push   $0x0
95ae69:	6a 00                	push   $0x0
95ae6b:	50                   	push   %eax
95ae6c:	6a 00                	push   $0x0
95ae6e:	8d 04 32             	lea    (%edx,%esi,1),%eax
95ae71:	51                   	push   %ecx
95ae72:	50                   	push   %eax
95ae73:	8b 45 90             	mov    -0x70(%ebp),%eax
95ae76:	03 85 34 ff ff ff    	add    -0xcc(%ebp),%eax
95ae7c:	8b 4d 88             	mov    -0x78(%ebp),%ecx
95ae7f:	50                   	push   %eax
95ae80:	57                   	push   %edi
95ae81:	e8 25 0f ac ff       	call   0x41bdab
95ae86:	33 c0                	xor    %eax,%eax
95ae88:	40                   	inc    %eax
95ae89:	89 45 80             	mov    %eax,-0x80(%ebp)
95ae8c:	e9 6d 01 00 00       	jmp    0x95affe
95ae91:	8b 45 90             	mov    -0x70(%ebp),%eax
95ae94:	03 85 34 ff ff ff    	add    -0xcc(%ebp),%eax
95ae9a:	8b 55 80             	mov    -0x80(%ebp),%edx
95ae9d:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
95aea0:	89 45 80             	mov    %eax,-0x80(%ebp)
95aea3:	89 45 d0             	mov    %eax,-0x30(%ebp)
95aea6:	03 85 38 ff ff ff    	add    -0xc8(%ebp),%eax
95aeac:	8d 0c 32             	lea    (%edx,%esi,1),%ecx