86adec:	5e                   	pop    %esi
86aded:	5d                   	pop    %ebp
86adee:	c2 08 00             	ret    $0x8
86adf1:	cc                   	int3
86adf2:	cc                   	int3
86adf3:	cc                   	int3
86adf4:	cc                   	int3
86adf5:	cc                   	int3
86adf6:	cc                   	int3
86adf7:	cc                   	int3
86adf8:	cc                   	int3
86adf9:	cc                   	int3
86adfa:	cc                   	int3
86adfb:	cc                   	int3
86adfc:	cc                   	int3
86adfd:	cc                   	int3
86adfe:	cc                   	int3
86adff:	55                   	push   %ebp
86ae00:	8b ec                	mov    %esp,%ebp
86ae02:	56                   	push   %esi
86ae03:	8b b1 d0 00 00 00    	mov    0xd0(%ecx),%esi
86ae09:	57                   	push   %edi
86ae0a:	85 f6                	test   %esi,%esi
86ae0c:	74 1d                	je     0x86ae2b
86ae0e:	8b 7d 08             	mov    0x8(%ebp),%edi
86ae11:	8b 46 08             	mov    0x8(%esi),%eax
86ae14:	8b 36                	mov    (%esi),%esi
86ae16:	39 78 28             	cmp    %edi,0x28(%eax)
86ae19:	74 12                	je     0x86ae2d
86ae1b:	57                   	push   %edi
86ae1c:	8b c8                	mov    %eax,%ecx
86ae1e:	e8 e4 e0 ba ff       	call   0x418f07
86ae23:	85 c0                	test   %eax,%eax
86ae25:	75 06                	jne    0x86ae2d
86ae27:	85 f6                	test   %esi,%esi
86ae29:	75 e6                	jne    0x86ae11
86ae2b:	33 c0                	xor    %eax,%eax
86ae2d:	5f                   	pop    %edi
86ae2e:	5e                   	pop    %esi
86ae2f:	5d                   	pop    %ebp
86ae30:	c2 04 00             	ret    $0x4
86ae33:	cc                   	int3
86ae34:	cc                   	int3
86ae35:	cc                   	int3
86ae36:	cc                   	int3
86ae37:	cc                   	int3
86ae38:	cc                   	int3
86ae39:	cc                   	int3
86ae3a:	cc                   	int3
86ae3b:	cc                   	int3
86ae3c:	cc                   	int3
86ae3d:	cc                   	int3
86ae3e:	cc                   	int3
86ae3f:	cc                   	int3
86ae40:	6a 08                	push   $0x8
86ae42:	b8 98 d8 b9 00       	mov    $0xb9d898,%eax
86ae47:	e8 3f f4 b9 ff       	call   0x40a28b
86ae4c:	8b f1                	mov    %ecx,%esi
86ae4e:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
86ae52:	83 be e8 00 00 00 ff 	cmpl   $0xffffffff,0xe8(%esi)
86ae59:	75 1a                	jne    0x86ae75
86ae5b:	8b 86 f4 00 00 00    	mov    0xf4(%esi),%eax
86ae61:	83 e8 10             	sub    $0x10,%eax
86ae64:	50                   	push   %eax
86ae65:	e8 c4 16 bd ff       	call   0x43c52e
86ae6a:	59                   	pop    %ecx
86ae6b:	8d 48 10             	lea    0x10(%eax),%ecx
86ae6e:	8b 45 08             	mov    0x8(%ebp),%eax
86ae71:	89 08                	mov    %ecx,(%eax)
86ae73:	eb 58                	jmp    0x86aecd
86ae75:	e8 9b b7 bc ff       	call   0x436615
86ae7a:	50                   	push   %eax
86ae7b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
86ae7e:	e8 91 ed b9 ff       	call   0x409c14
86ae83:	0f b6 86 ea 00 00 00 	movzbl 0xea(%esi),%eax
86ae8a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
86ae8e:	50                   	push   %eax
86ae8f:	0f b6 86 e9 00 00 00 	movzbl 0xe9(%esi),%eax
86ae96:	50                   	push   %eax
86ae97:	0f b6 86 e8 00 00 00 	movzbl 0xe8(%esi),%eax
86ae9e:	50                   	push   %eax
86ae9f:	8d 45 f0             	lea    -0x10(%ebp),%eax
86aea2:	68 a4 1e c4 00       	push   $0xc41ea4
86aea7:	50                   	push   %eax
86aea8:	e8 3d 11 bb ff       	call   0x41bfea
86aead:	8b 7d f0             	mov    -0x10(%ebp),%edi
86aeb0:	83 c7 f0             	add    $0xfffffff0,%edi
86aeb3:	57                   	push   %edi
86aeb4:	e8 75 16 bd ff       	call   0x43c52e
86aeb9:	8b 75 08             	mov    0x8(%ebp),%esi
86aebc:	83 c4 18             	add    $0x18,%esp
86aebf:	83 c0 10             	add    $0x10,%eax
86aec2:	8b cf                	mov    %edi,%ecx
86aec4:	89 06                	mov    %eax,(%esi)
86aec6:	e8 49 9d b9 ff       	call   0x404c14
86aecb:	8b c6                	mov    %esi,%eax
86aecd:	e8 45 35 ba ff       	call   0x40e417
86aed2:	c2 04 00             	ret    $0x4
86aed5:	cc                   	int3
86aed6:	cc                   	int3
86aed7:	cc                   	int3
86aed8:	cc                   	int3
86aed9:	cc                   	int3
86aeda:	cc                   	int3
86aedb:	cc                   	int3
86aedc:	cc                   	int3
86aedd:	cc                   	int3
86aede:	cc                   	int3
86aedf:	cc                   	int3
86aee0:	cc                   	int3
86aee1:	cc                   	int3
86aee2:	cc                   	int3
86aee3:	cc                   	int3
86aee4:	cc                   	int3
86aee5:	cc                   	int3
86aee6:	cc                   	int3
86aee7:	cc                   	int3
86aee8:	cc                   	int3
86aee9:	cc                   	int3
86aeea:	cc                   	int3
86aeeb:	cc                   	int3
86aeec:	cc                   	int3
86aeed:	cc                   	int3
86aeee:	cc                   	int3
86aeef:	cc                   	int3
86aef0:	cc                   	int3
86aef1:	cc                   	int3
86aef2:	cc                   	int3
86aef3:	cc                   	int3
86aef4:	cc                   	int3
86aef5:	cc                   	int3
86aef6:	cc                   	int3
86aef7:	cc                   	int3
86aef8:	cc                   	int3
86aef9:	cc                   	int3
86aefa:	6a 18                	push   $0x18
86aefc:	b8 dc d8 b9 00       	mov    $0xb9d8dc,%eax
86af01:	e8 85 f3 b9 ff       	call   0x40a28b
86af06:	8b f9                	mov    %ecx,%edi
86af08:	33 db                	xor    %ebx,%ebx
86af0a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
86af0d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
86af10:	e8 00 b7 bc ff       	call   0x436615
86af15:	8b 4d 08             	mov    0x8(%ebp),%ecx
86af18:	50                   	push   %eax
86af19:	e8 f6 ec b9 ff       	call   0x409c14
86af1e:	ff b7 c4 00 00 00    	push   0xc4(%edi)
86af24:	89 5d fc             	mov    %ebx,-0x4(%ebp)
86af27:	8d 4d dc             	lea    -0x24(%ebp),%ecx
86af2a:	43                   	inc    %ebx
86af2b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
86af2e:	e8 57 d4 bb ff       	call   0x42838a
86af33:	6a 5a                	push   $0x5a
86af35:	ff 75 e4             	push   -0x1c(%ebp)
86af38:	89 5d fc             	mov    %ebx,-0x4(%ebp)
86af3b:	ff 15 30 33 d8 00    	call   *0xd83330
86af41:	85 c0                	test   %eax,%eax
86af43:	74 2c                	je     0x86af71
86af45:	50                   	push   %eax
86af46:	8b 87 e8 00 00 00    	mov    0xe8(%edi),%eax
86af4c:	f7 d8                	neg    %eax
86af4e:	50                   	push   %eax
86af4f:	6a 48                	push   $0x48
86af51:	ff 15 64 37 d8 00    	call   *0xd83764
86af57:	50                   	push   %eax
86af58:	8d 87 04 01 00 00    	lea    0x104(%edi),%eax
86af5e:	50                   	push   %eax
86af5f:	68 24 1f c4 00       	push   $0xc41f24
86af64:	ff 75 08             	push   0x8(%ebp)
86af67:	e8 7e 10 bb ff       	call   0x41bfea
86af6c:	83 c4 10             	add    $0x10,%esp
86af6f:	eb 0f                	jmp    0x86af80
86af71:	8d 8f 04 01 00 00    	lea    0x104(%edi),%ecx
86af77:	51                   	push   %ecx
86af78:	8b 4d 08             	mov    0x8(%ebp),%ecx
86af7b:	e8 0a 85 ba ff       	call   0x41348a
86af80:	8d 4d dc             	lea    -0x24(%ebp),%ecx
86af83:	e8 05 96 ba ff       	call   0x41458d
86af88:	8b 45 08             	mov    0x8(%ebp),%eax
86af8b:	e8 87 34 ba ff       	call   0x40e417
86af90:	c2 04 00             	ret    $0x4
86af93:	cc                   	int3
86af94:	cc                   	int3
86af95:	cc                   	int3
86af96:	cc                   	int3
86af97:	cc                   	int3
86af98:	cc                   	int3
86af99:	cc                   	int3
86af9a:	cc                   	int3
86af9b:	cc                   	int3
86af9c:	cc                   	int3
86af9d:	cc                   	int3
86af9e:	cc                   	int3
86af9f:	cc                   	int3
86afa0:	cc                   	int3
86afa1:	cc                   	int3
86afa2:	cc                   	int3
86afa3:	cc                   	int3
86afa4:	cc                   	int3
86afa5:	cc                   	int3
86afa6:	cc                   	int3
86afa7:	cc                   	int3
86afa8:	cc                   	int3
86afa9:	cc                   	int3
86afaa:	cc                   	int3
86afab:	cc                   	int3
86afac:	cc                   	int3
86afad:	cc                   	int3
86afae:	cc                   	int3
86afaf:	cc                   	int3
86afb0:	cc                   	int3
86afb1:	cc                   	int3
86afb2:	cc                   	int3
86afb3:	cc                   	int3
86afb4:	cc                   	int3
86afb5:	cc                   	int3
86afb6:	cc                   	int3
86afb7:	cc                   	int3
86afb8:	cc                   	int3
86afb9:	6a 10                	push   $0x10
86afbb:	b8 16 d9 b9 00       	mov    $0xb9d916,%eax
86afc0:	e8 c6 f2 b9 ff       	call   0x40a28b
86afc5:	8b d9                	mov    %ecx,%ebx
86afc7:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
86afcb:	e8 45 b6 bc ff       	call   0x436615
86afd0:	50                   	push   %eax
86afd1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
86afd4:	e8 3b ec b9 ff       	call   0x409c14
86afd9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
86afdd:	83 7b 6c 00          	cmpl   $0x0,0x6c(%ebx)
86afe1:	74 7a                	je     0x86b05d
86afe3:	8b 8b d0 00 00 00    	mov    0xd0(%ebx),%ecx
86afe9:	85 c9                	test   %ecx,%ecx
86afeb:	0f 84 5a 01 00 00    	je     0x86b14b
86aff1:	8b 79 08             	mov    0x8(%ecx),%edi
86aff4:	8b 09                	mov    (%ecx),%ecx
86aff6:	89 4d ec             	mov    %ecx,-0x14(%ebp)
86aff9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
86affc:	51                   	push   %ecx
86affd:	8b 07                	mov    (%edi),%eax
86afff:	8b 70 24             	mov    0x24(%eax),%esi
86b002:	8b ce                	mov    %esi,%ecx
86b004:	e8 5c 16 bc ff       	call   0x42c665
86b009:	8b cf                	mov    %edi,%ecx
86b00b:	ff d6                	call   *%esi
86b00d:	8b 00                	mov    (%eax),%eax
86b00f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
86b012:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
86b016:	ff 70 f4             	push   -0xc(%eax)
86b019:	50                   	push   %eax
86b01a:	e8 4f a5 ba ff       	call   0x41556e
86b01f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
86b022:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
86b026:	8d 49 f0             	lea    -0x10(%ecx),%ecx
86b029:	e8 e6 9b b9 ff       	call   0x404c14
86b02e:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
86b032:	0f 84 13 01 00 00    	je     0x86b14b
86b038:	8b 83 c4 00 00 00    	mov    0xc4(%ebx),%eax
86b03e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
86b041:	0f b7 80 18 03 00 00 	movzwl 0x318(%eax),%eax
86b048:	50                   	push   %eax
86b049:	e8 37 83 bb ff       	call   0x423385
86b04e:	6a 20                	push   $0x20
86b050:	8d 4d f0             	lea    -0x10(%ebp),%ecx
86b053:	e8 2d 83 bb ff       	call   0x423385
86b058:	8b 4d ec             	mov    -0x14(%ebp),%ecx
86b05b:	eb 94                	jmp    0x86aff1
86b05d:	0f b7 43 08          	movzwl 0x8(%ebx),%eax
86b061:	83 f8 0b             	cmp    $0xb,%eax
86b064:	0f 87 82 00 00 00    	ja     0x86b0ec
86b06a:	74 5c                	je     0x86b0c8
86b06c:	48                   	dec    %eax
86b06d:	83 e8 01             	sub    $0x1,%eax
86b070:	74 4a                	je     0x86b0bc
86b072:	83 e8 01             	sub    $0x1,%eax
86b075:	0f 84 99 00 00 00    	je     0x86b114
86b07b:	83 e8 01             	sub    $0x1,%eax
86b07e:	74 1e                	je     0x86b09e
86b080:	83 e8 01             	sub    $0x1,%eax
86b083:	74 0a                	je     0x86b08f
86b085:	83 e8 03             	sub    $0x3,%eax
86b088:	75 7b                	jne    0x86b105
86b08a:	ff 73 10             	push   0x10(%ebx)
86b08d:	eb 7b                	jmp    0x86b10a
86b08f:	dd 43 10             	fldl   0x10(%ebx)
86b092:	51                   	push   %ecx
86b093:	51                   	push   %ecx
86b094:	dd 1c 24             	fstpl  (%esp)
86b097:	68 14 1e c4 00       	push   $0xc41e14
86b09c:	eb 0d                	jmp    0x86b0ab
86b09e:	d9 43 10             	flds   0x10(%ebx)
86b0a1:	51                   	push   %ecx
86b0a2:	51                   	push   %ecx
86b0a3:	dd 1c 24             	fstpl  (%esp)
86b0a6:	68 0c 1e c4 00       	push   $0xc41e0c
86b0ab:	8d 45 f0             	lea    -0x10(%ebp),%eax
86b0ae:	50                   	push   %eax
86b0af:	e8 36 0f bb ff       	call   0x41bfea
86b0b4:	83 c4 10             	add    $0x10,%esp
86b0b7:	e9 8f 00 00 00       	jmp    0x86b14b
86b0bc:	0f bf 43 10          	movswl 0x10(%ebx),%eax
86b0c0:	50                   	push   %eax
86b0c1:	68 f0 5e c3 00       	push   $0xc35ef0
86b0c6:	eb 77                	jmp    0x86b13f
86b0c8:	66 83 7b 10 ff       	cmpw   $0xffff,0x10(%ebx)
86b0cd:	8b 83 c4 00 00 00    	mov    0xc4(%ebx),%eax
86b0d3:	75 07                	jne    0x86b0dc
86b0d5:	05 10 03 00 00       	add    $0x310,%eax
86b0da:	eb 05                	jmp    0x86b0e1
86b0dc:	05 14 03 00 00       	add    $0x314,%eax
86b0e1:	50                   	push   %eax
86b0e2:	8d 4d f0             	lea    -0x10(%ebp),%ecx
86b0e5:	e8 03 76 ba ff       	call   0x4126ed
86b0ea:	eb 5f                	jmp    0x86b14b
86b0ec:	83 e8 11             	sub    $0x11,%eax
86b0ef:	74 3e                	je     0x86b12f
86b0f1:	83 e8 01             	sub    $0x1,%eax
86b0f4:	74 32                	je     0x86b128
86b0f6:	83 e8 01             	sub    $0x1,%eax
86b0f9:	74 23                	je     0x86b11e
86b0fb:	83 e8 03             	sub    $0x3,%eax
86b0fe:	74 14                	je     0x86b114
86b100:	83 e8 01             	sub    $0x1,%eax
86b103:	74 19                	je     0x86b11e
86b105:	68 20 1e c4 00       	push   $0xc41e20
86b10a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
86b10d:	e8 78 83 ba ff       	call   0x41348a
86b112:	eb 37                	jmp    0x86b14b
86b114:	ff 73 10             	push   0x10(%ebx)
86b117:	68 1c 5f c3 00       	push   $0xc35f1c
86b11c:	eb 21                	jmp    0x86b13f
86b11e:	ff 73 10             	push   0x10(%ebx)
86b121:	68 08 5f c3 00       	push   $0xc35f08
86b126:	eb 17                	jmp    0x86b13f
86b128:	0f b7 43 10          	movzwl 0x10(%ebx),%eax
86b12c:	50                   	push   %eax
86b12d:	eb f2                	jmp    0x86b121
86b12f:	8a 43 10             	mov    0x10(%ebx),%al
86b132:	84 c0                	test   %al,%al
86b134:	74 15                	je     0x86b14b
86b136:	0f b6 c0             	movzbl %al,%eax
86b139:	50                   	push   %eax
86b13a:	68 6c 15 c4 00       	push   $0xc4156c
86b13f:	8d 45 f0             	lea    -0x10(%ebp),%eax
86b142:	50                   	push   %eax
86b143:	e8 a2 0e bb ff       	call   0x41bfea
86b148:	83 c4 0c             	add    $0xc,%esp
86b14b:	8b 7d f0             	mov    -0x10(%ebp),%edi
86b14e:	83 c7 f0             	add    $0xfffffff0,%edi
86b151:	57                   	push   %edi