96de18:	53                   	push   %ebx
96de19:	8b d9                	mov    %ecx,%ebx
96de1b:	89 45 d8             	mov    %eax,-0x28(%ebp)
96de1e:	56                   	push   %esi
96de1f:	8b 75 0c             	mov    0xc(%ebp),%esi
96de22:	57                   	push   %edi
96de23:	8b 43 08             	mov    0x8(%ebx),%eax
96de26:	83 63 08 00          	andl   $0x0,0x8(%ebx)
96de2a:	8b 53 04             	mov    0x4(%ebx),%edx
96de2d:	89 5d d0             	mov    %ebx,-0x30(%ebp)
96de30:	89 75 c0             	mov    %esi,-0x40(%ebp)
96de33:	89 45 ac             	mov    %eax,-0x54(%ebp)
96de36:	c7 45 d4 c0 d3 d7 00 	movl   $0xd7d3c0,-0x2c(%ebp)
96de3d:	85 d2                	test   %edx,%edx
96de3f:	74 0a                	je     0x96de4b
96de41:	a1 b8 d2 d7 00       	mov    0xd7d2b8,%eax
96de46:	89 45 d4             	mov    %eax,-0x2c(%ebp)
96de49:	eb 14                	jmp    0x96de5f
96de4b:	a1 f4 d5 d7 00       	mov    0xd7d5f4,%eax
96de50:	3b 05 c4 d3 d7 00    	cmp    0xd7d3c4,%eax
96de56:	75 07                	jne    0x96de5f
96de58:	c7 45 d4 f0 d5 d7 00 	movl   $0xd7d5f0,-0x2c(%ebp)
96de5f:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
96de63:	8b 0d f0 f1 d7 00    	mov    0xd7f1f0,%ecx
96de69:	85 c9                	test   %ecx,%ecx
96de6b:	74 0f                	je     0x96de7c
96de6d:	85 d2                	test   %edx,%edx
96de6f:	75 0b                	jne    0x96de7c
96de71:	ff 73 20             	push   0x20(%ebx)
96de74:	e8 be 63 a9 ff       	call   0x404237
96de79:	89 45 bc             	mov    %eax,-0x44(%ebp)
96de7c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
96de7f:	50                   	push   %eax
96de80:	e8 1a 51 a9 ff       	call   0x402f9f
96de85:	8b 45 c4             	mov    -0x3c(%ebp),%eax
96de88:	8d 7d 9c             	lea    -0x64(%ebp),%edi
96de8b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96de8c:	83 c0 06             	add    $0x6,%eax
96de8f:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
96de93:	89 45 cc             	mov    %eax,-0x34(%ebp)
96de96:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96de97:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96de98:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96de99:	0f 84 ac 00 00 00    	je     0x96df4b
96de9f:	e8 a9 4c aa ff       	call   0x412b4d
96dea4:	8b f8                	mov    %eax,%edi
96dea6:	8b 0f                	mov    (%edi),%ecx
96dea8:	8b b1 98 00 00 00    	mov    0x98(%ecx),%esi
96deae:	8b ce                	mov    %esi,%ecx
96deb0:	e8 b0 e7 ab ff       	call   0x42c665
96deb5:	8b cf                	mov    %edi,%ecx
96deb7:	ff d6                	call   *%esi
96deb9:	85 c0                	test   %eax,%eax
96debb:	0f 85 8a 00 00 00    	jne    0x96df4b
96dec1:	39 43 04             	cmp    %eax,0x4(%ebx)
96dec4:	74 05                	je     0x96decb
96dec6:	8b 43 38             	mov    0x38(%ebx),%eax
96dec9:	eb 03                	jmp    0x96dece
96decb:	8b 43 34             	mov    0x34(%ebx),%eax
96dece:	85 c0                	test   %eax,%eax
96ded0:	78 79                	js     0x96df4b
96ded2:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
96ded6:	74 73                	je     0x96df4b
96ded8:	8b 75 c0             	mov    -0x40(%ebp),%esi
96dedb:	8d 7d ec             	lea    -0x14(%ebp),%edi
96dede:	8b 45 9c             	mov    -0x64(%ebp),%eax
96dee1:	03 45 cc             	add    -0x34(%ebp),%eax
96dee4:	89 45 9c             	mov    %eax,-0x64(%ebp)
96dee7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96dee8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96dee9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96deea:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96deeb:	89 45 f4             	mov    %eax,-0xc(%ebp)
96deee:	e8 5a 4c aa ff       	call   0x412b4d
96def3:	8b 55 d8             	mov    -0x28(%ebp),%edx
96def6:	8d 75 ec             	lea    -0x14(%ebp),%esi
96def9:	6a 02                	push   $0x2
96defb:	83 ec 10             	sub    $0x10,%esp
96defe:	8b d8                	mov    %eax,%ebx
96df00:	8b fc                	mov    %esp,%edi
96df02:	8b 0b                	mov    (%ebx),%ecx
96df04:	ff 75 d0             	push   -0x30(%ebp)
96df07:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df08:	52                   	push   %edx
96df09:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df0a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df0b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df0c:	8b b1 84 00 00 00    	mov    0x84(%ecx),%esi
96df12:	8b ce                	mov    %esi,%ecx
96df14:	e8 4c e7 ab ff       	call   0x42c665
96df19:	8b cb                	mov    %ebx,%ecx
96df1b:	ff d6                	call   *%esi
96df1d:	e8 2b 4c aa ff       	call   0x412b4d
96df22:	6a 02                	push   $0x2
96df24:	83 ec 10             	sub    $0x10,%esp
96df27:	8d 75 ec             	lea    -0x14(%ebp),%esi
96df2a:	8b fc                	mov    %esp,%edi
96df2c:	8b d8                	mov    %eax,%ebx
96df2e:	ff 75 d0             	push   -0x30(%ebp)
96df31:	8b 0b                	mov    (%ebx),%ecx
96df33:	ff 75 d8             	push   -0x28(%ebp)
96df36:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df37:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df38:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df39:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df3a:	8b b1 88 00 00 00    	mov    0x88(%ecx),%esi
96df40:	8b ce                	mov    %esi,%ecx
96df42:	e8 1e e7 ab ff       	call   0x42c665
96df47:	8b cb                	mov    %ebx,%ecx
96df49:	ff d6                	call   *%esi
96df4b:	e8 fd 4b aa ff       	call   0x412b4d
96df50:	ff 75 10             	push   0x10(%ebp)
96df53:	8d 75 9c             	lea    -0x64(%ebp),%esi
96df56:	8b d8                	mov    %eax,%ebx
96df58:	83 ec 10             	sub    $0x10,%esp
96df5b:	8b fc                	mov    %esp,%edi
96df5d:	8b 0b                	mov    (%ebx),%ecx
96df5f:	ff 75 d8             	push   -0x28(%ebp)
96df62:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df63:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df64:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df65:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df66:	8b b1 38 01 00 00    	mov    0x138(%ecx),%esi
96df6c:	8b ce                	mov    %esi,%ecx
96df6e:	e8 f2 e6 ab ff       	call   0x42c665
96df73:	8b cb                	mov    %ebx,%ecx
96df75:	ff d6                	call   *%esi
96df77:	8b 75 c0             	mov    -0x40(%ebp),%esi
96df7a:	8d 7d dc             	lea    -0x24(%ebp),%edi
96df7d:	8b 5d d0             	mov    -0x30(%ebp),%ebx
96df80:	89 45 a8             	mov    %eax,-0x58(%ebp)
96df83:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df84:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df85:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df86:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96df87:	8b 4d dc             	mov    -0x24(%ebp),%ecx
96df8a:	83 c1 0a             	add    $0xa,%ecx
96df8d:	03 4d c4             	add    -0x3c(%ebp),%ecx
96df90:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
96df94:	89 4d dc             	mov    %ecx,-0x24(%ebp)
96df97:	74 05                	je     0x96df9e
96df99:	8b 43 38             	mov    0x38(%ebx),%eax
96df9c:	eb 03                	jmp    0x96dfa1
96df9e:	8b 43 34             	mov    0x34(%ebx),%eax
96dfa1:	85 c0                	test   %eax,%eax
96dfa3:	0f 88 d9 01 00 00    	js     0x96e182
96dfa9:	8b 75 d4             	mov    -0x2c(%ebp),%esi
96dfac:	85 f6                	test   %esi,%esi
96dfae:	0f 84 ce 01 00 00    	je     0x96e182
96dfb4:	8b 4d bc             	mov    -0x44(%ebp),%ecx
96dfb7:	85 c9                	test   %ecx,%ecx
96dfb9:	74 27                	je     0x96dfe2
96dfbb:	8b 75 c0             	mov    -0x40(%ebp),%esi
96dfbe:	8d 7d ec             	lea    -0x14(%ebp),%edi
96dfc1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96dfc2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96dfc3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96dfc4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
96dfc5:	8b 45 ec             	mov    -0x14(%ebp),%eax
96dfc8:	8b 75 cc             	mov    -0x34(%ebp),%esi
96dfcb:	03 c6                	add    %esi,%eax
96dfcd:	8b 7d d8             	mov    -0x28(%ebp),%edi
96dfd0:	89 45 f4             	mov    %eax,-0xc(%ebp)
96dfd3:	8d 45 ec             	lea    -0x14(%ebp),%eax
96dfd6:	50                   	push   %eax
96dfd7:	57                   	push   %edi
96dfd8:	e8 bc 37 a9 ff       	call   0x401799
96dfdd:	e9 a6 01 00 00       	jmp    0x96e188
96dfe2:	8b 7d 10             	mov    0x10(%ebp),%edi
96dfe5:	85 ff                	test   %edi,%edi
96dfe7:	75 31                	jne    0x96e01a
96dfe9:	e8 5f 4b aa ff       	call   0x412b4d
96dfee:	39 78 5c             	cmp    %edi,0x5c(%eax)
96dff1:	74 27                	je     0x96e01a
96dff3:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
96dffa:	83 65 b4 00          	andl   $0x0,-0x4c(%ebp)
96dffe:	33 ff                	xor    %edi,%edi
96e000:	21 7d bc             	and    %edi,-0x44(%ebp)
96e003:	e8 2e a3 aa ff       	call   0x418336
96e008:	d9 e8                	fld1
96e00a:	39 b8 e8 01 00 00    	cmp    %edi,0x1e8(%eax)
96e010:	74 34                	je     0x96e046
96e012:	dd 80 e0 01 00 00    	fldl   0x1e0(%eax)
96e018:	eb 2e                	jmp    0x96e048
96e01a:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
96e01e:	85 ff                	test   %edi,%edi
96e020:	74 d8                	je     0x96dffa
96e022:	e8 26 4b aa ff       	call   0x412b4d
96e027:	83 78 54 00          	cmpl   $0x0,0x54(%eax)
96e02b:	74 cd                	je     0x96dffa
96e02d:	e8 04 a3 aa ff       	call   0x418336
96e032:	8b c8                	mov    %eax,%ecx
96e034:	e8 42 21 ab ff       	call   0x42017b
96e039:	85 c0                	test   %eax,%eax
96e03b:	75 bd                	jne    0x96dffa
96e03d:	c7 45 b4 01 00 00 00 	movl   $0x1,-0x4c(%ebp)
96e044:	eb b8                	jmp    0x96dffe
96e046:	d9 c0                	fld    %st(0)
96e048:	da e9                	fucompp
96e04a:	df e0                	fnstsw %ax
96e04c:	f6 c4 44             	test   $0x44,%ah
96e04f:	7b 10                	jnp    0x96e061
96e051:	39 3d 98 d2 d7 00    	cmp    %edi,0xd7d298
96e057:	75 08                	jne    0x96e061
96e059:	8b 7d c4             	mov    -0x3c(%ebp),%edi
96e05c:	8b 45 c8             	mov    -0x38(%ebp),%eax
96e05f:	eb 1c                	jmp    0x96e07d
96e061:	39 7b 04             	cmp    %edi,0x4(%ebx)
96e064:	74 14                	je     0x96e07a
96e066:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
96e069:	8b 45 c8             	mov    -0x38(%ebp),%eax
96e06c:	3b 4e 54             	cmp    0x54(%esi),%ecx
96e06f:	75 05                	jne    0x96e076
96e071:	3b 46 58             	cmp    0x58(%esi),%eax
96e074:	74 04                	je     0x96e07a
96e076:	8b f9                	mov    %ecx,%edi
96e078:	eb 03                	jmp    0x96e07d
96e07a:	8b 45 bc             	mov    -0x44(%ebp),%eax
96e07d:	ff 75 d0             	push   -0x30(%ebp)
96e080:	8b ce                	mov    %esi,%ecx
96e082:	50                   	push   %eax
96e083:	57                   	push   %edi
96e084:	8d 45 f0             	lea    -0x10(%ebp),%eax
96e087:	50                   	push   %eax
96e088:	e8 16 d9 ac ff       	call   0x43b9a3
96e08d:	8b 4d c0             	mov    -0x40(%ebp),%ecx
96e090:	8b 01                	mov    (%ecx),%eax
96e092:	8b 79 04             	mov    0x4(%ecx),%edi
96e095:	83 c0 03             	add    $0x3,%eax
96e098:	89 45 d4             	mov    %eax,-0x2c(%ebp)
96e09b:	83 c7 03             	add    $0x3,%edi
96e09e:	e8 93 a2 aa ff       	call   0x418336
96e0a3:	83 b8 e8 01 00 00 00 	cmpl   $0x0,0x1e8(%eax)
96e0aa:	74 0a                	je     0x96e0b6
96e0ac:	dd 80 e0 01 00 00    	fldl   0x1e0(%eax)
96e0b2:	d9 e8                	fld1
96e0b4:	eb 06                	jmp    0x96e0bc
96e0b6:	d9 e8                	fld1
96e0b8:	d9 c0                	fld    %st(0)
96e0ba:	d9 c9                	fxch   %st(1)
96e0bc:	da e9                	fucompp
96e0be:	df e0                	fnstsw %ax
96e0c0:	f6 c4 44             	test   $0x44,%ah
96e0c3:	7b 46                	jnp    0x96e10b
96e0c5:	83 3d 98 d2 d7 00 00 	cmpl   $0x0,0xd7d298
96e0cc:	74 3d                	je     0x96e10b
96e0ce:	8b 45 c4             	mov    -0x3c(%ebp),%eax
96e0d1:	2b 46 54             	sub    0x54(%esi),%eax
96e0d4:	99                   	cltd
96e0d5:	2b c2                	sub    %edx,%eax
96e0d7:	d1 f8                	sar    $1,%eax
96e0d9:	79 04                	jns    0x96e0df
96e0db:	33 c0                	xor    %eax,%eax
96e0dd:	eb 0b                	jmp    0x96e0ea
96e0df:	8b 45 c4             	mov    -0x3c(%ebp),%eax
96e0e2:	2b 46 54             	sub    0x54(%esi),%eax
96e0e5:	99                   	cltd
96e0e6:	2b c2                	sub    %edx,%eax
96e0e8:	d1 f8                	sar    $1,%eax
96e0ea:	01 45 d4             	add    %eax,-0x2c(%ebp)
96e0ed:	8b 45 c8             	mov    -0x38(%ebp),%eax
96e0f0:	2b 46 58             	sub    0x58(%esi),%eax
96e0f3:	99                   	cltd
96e0f4:	2b c2                	sub    %edx,%eax
96e0f6:	d1 f8                	sar    $1,%eax
96e0f8:	79 04                	jns    0x96e0fe
96e0fa:	33 c0                	xor    %eax,%eax
96e0fc:	eb 0b                	jmp    0x96e109
96e0fe:	8b 45 c8             	mov    -0x38(%ebp),%eax
96e101:	2b 46 58             	sub    0x58(%esi),%eax
96e104:	99                   	cltd
96e105:	2b c2                	sub    %edx,%eax
96e107:	d1 f8                	sar    $1,%eax
96e109:	03 f8                	add    %eax,%edi
96e10b:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
96e10f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
96e112:	74 38                	je     0x96e14c
96e114:	40                   	inc    %eax
96e115:	47                   	inc    %edi
96e116:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
96e11a:	89 45 d4             	mov    %eax,-0x2c(%ebp)
96e11d:	74 05                	je     0x96e124
96e11f:	8b 4b 38             	mov    0x38(%ebx),%ecx
96e122:	eb 03                	jmp    0x96e127
96e124:	8b 4b 34             	mov    0x34(%ebx),%ecx
96e127:	68 ff 00 00 00       	push   $0xff
96e12c:	6a 00                	push   $0x0
96e12e:	6a 01                	push   $0x1
96e130:	6a 00                	push   $0x0
96e132:	6a 00                	push   $0x0
96e134:	6a 00                	push   $0x0
96e136:	51                   	push   %ecx
96e137:	57                   	push   %edi
96e138:	50                   	push   %eax
96e139:	ff 75 d8             	push   -0x28(%ebp)
96e13c:	8b ce                	mov    %esi,%ecx
96e13e:	e8 68 dc aa ff       	call   0x41bdab
96e143:	8b 45 d4             	mov    -0x2c(%ebp),%eax
96e146:	83 e8 02             	sub    $0x2,%eax
96e149:	83 ef 02             	sub    $0x2,%edi
96e14c:	33 d2                	xor    %edx,%edx
96e14e:	39 53 04             	cmp    %edx,0x4(%ebx)
96e151:	74 05                	je     0x96e158
96e153:	8b 4b 38             	mov    0x38(%ebx),%ecx
96e156:	eb 03                	jmp    0x96e15b
96e158:	8b 4b 34             	mov    0x34(%ebx),%ecx
96e15b:	68 ff 00 00 00       	push   $0xff
96e160:	ff 75 d0             	push   -0x30(%ebp)
96e163:	52                   	push   %edx
96e164:	52                   	push   %edx
96e165:	52                   	push   %edx
96e166:	52                   	push   %edx
96e167:	51                   	push   %ecx
96e168:	57                   	push   %edi
96e169:	8b 7d d8             	mov    -0x28(%ebp),%edi
96e16c:	8b ce                	mov    %esi,%ecx
96e16e:	50                   	push   %eax
96e16f:	57                   	push   %edi
96e170:	e8 36 dc aa ff       	call   0x41bdab
96e175:	8d 45 f0             	lea    -0x10(%ebp),%eax
96e178:	8b ce                	mov    %esi,%ecx
96e17a:	50                   	push   %eax
96e17b:	e8 5d 78 aa ff       	call   0x4159dd
96e180:	eb 03                	jmp    0x96e185
96e182:	8b 7d d8             	mov    -0x28(%ebp),%edi
96e185:	8b 75 cc             	mov    -0x34(%ebp),%esi
96e188:	8b 43 2c             	mov    0x2c(%ebx),%eax
96e18b:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
96e18f:	0f 84 8c 00 00 00    	je     0x96e221
96e195:	8b 07                	mov    (%edi),%eax
96e197:	ff 75 a8             	push   -0x58(%ebp)
96e19a:	8b 70 30             	mov    0x30(%eax),%esi
96e19d:	8b ce                	mov    %esi,%ecx
96e19f:	e8 c1 e4 ab ff       	call   0x42c665
96e1a4:	8b cf                	mov    %edi,%ecx
96e1a6:	ff d6                	call   *%esi
96e1a8:	8b 75 d8             	mov    -0x28(%ebp),%esi
96e1ab:	8b f8                	mov    %eax,%edi
96e1ad:	6a 01                	push   $0x1
96e1af:	8b ce                	mov    %esi,%ecx
96e1b1:	e8 32 52 ac ff       	call   0x4333e8
96e1b6:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
96e1b9:	8d 45 dc             	lea    -0x24(%ebp),%eax
96e1bc:	8b 36                	mov    (%esi),%esi
96e1be:	6a 24                	push   $0x24
96e1c0:	50                   	push   %eax
96e1c1:	ff 71 f4             	push   -0xc(%ecx)
96e1c4:	51                   	push   %ecx
96e1c5:	8b 4e 68             	mov    0x68(%esi),%ecx
96e1c8:	e8 98 e4 ab ff       	call   0x42c665