471e19:	59                   	pop    %ecx
471e1a:	8b cf                	mov    %edi,%ecx
471e1c:	89 47 10             	mov    %eax,0x10(%edi)
471e1f:	89 57 14             	mov    %edx,0x14(%edi)
471e22:	38 5d 10             	cmp    %bl,0x10(%ebp)
471e25:	74 08                	je     0x471e2f
471e27:	56                   	push   %esi
471e28:	e8 b5 07 00 00       	call   0x4725e2
471e2d:	eb 15                	jmp    0x471e44
471e2f:	6a 01                	push   $0x1
471e31:	53                   	push   %ebx
471e32:	53                   	push   %ebx
471e33:	eb 0a                	jmp    0x471e3f
471e35:	53                   	push   %ebx
471e36:	68 ef be ad de       	push   $0xdeadbeef
471e3b:	6a 0d                	push   $0xd
471e3d:	8b cf                	mov    %edi,%ecx
471e3f:	e8 33 09 00 00       	call   0x472777
471e44:	8a d8                	mov    %al,%bl
471e46:	85 f6                	test   %esi,%esi
471e48:	74 07                	je     0x471e51
471e4a:	56                   	push   %esi
471e4b:	ff 15 80 f7 48 00    	call   *0x48f780
471e51:	8a c3                	mov    %bl,%al
471e53:	5f                   	pop    %edi
471e54:	5e                   	pop    %esi
471e55:	5b                   	pop    %ebx
471e56:	8b e5                	mov    %ebp,%esp
471e58:	5d                   	pop    %ebp
471e59:	c2 0c 00             	ret    $0xc
471e5c:	55                   	push   %ebp
471e5d:	8b ec                	mov    %esp,%ebp
471e5f:	8b 55 08             	mov    0x8(%ebp),%edx
471e62:	83 c1 10             	add    $0x10,%ecx
471e65:	e8 96 09 00 00       	call   0x472800
471e6a:	33 c0                	xor    %eax,%eax
471e6c:	5d                   	pop    %ebp
471e6d:	c2 08 00             	ret    $0x8
471e70:	55                   	push   %ebp
471e71:	8b ec                	mov    %esp,%ebp
471e73:	53                   	push   %ebx
471e74:	56                   	push   %esi
471e75:	57                   	push   %edi
471e76:	8d 79 78             	lea    0x78(%ecx),%edi
471e79:	8b 4d 0c             	mov    0xc(%ebp),%ecx
471e7c:	57                   	push   %edi
471e7d:	e8 1a 7d f9 ff       	call   0x409b9c
471e82:	8b 5d 08             	mov    0x8(%ebp),%ebx
471e85:	6a 29                	push   $0x29
471e87:	8b 43 04             	mov    0x4(%ebx),%eax
471e8a:	8b 30                	mov    (%eax),%esi
471e8c:	8b ce                	mov    %esi,%ecx
471e8e:	e8 1b 7f f9 ff       	call   0x409dae
471e93:	84 c0                	test   %al,%al
471e95:	75 28                	jne    0x471ebf
471e97:	8b ce                	mov    %esi,%ecx
471e99:	e8 f9 7a f9 ff       	call   0x409997
471e9e:	8b 46 08             	mov    0x8(%esi),%eax
471ea1:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
471ea5:	74 18                	je     0x471ebf
471ea7:	8b 43 04             	mov    0x4(%ebx),%eax
471eaa:	8b 30                	mov    (%eax),%esi
471eac:	8b ce                	mov    %esi,%ecx
471eae:	e8 e4 7a f9 ff       	call   0x409997
471eb3:	ff 76 08             	push   0x8(%esi)
471eb6:	8b cf                	mov    %edi,%ecx
471eb8:	e8 ea 62 f9 ff       	call   0x4081a7
471ebd:	eb 0c                	jmp    0x471ecb
471ebf:	68 dc 1c 49 00       	push   $0x491cdc
471ec4:	8b cf                	mov    %edi,%ecx
471ec6:	e8 61 5e f9 ff       	call   0x407d2c
471ecb:	5f                   	pop    %edi
471ecc:	5e                   	pop    %esi
471ecd:	33 c0                	xor    %eax,%eax
471ecf:	5b                   	pop    %ebx
471ed0:	5d                   	pop    %ebp
471ed1:	c2 08 00             	ret    $0x8
471ed4:	55                   	push   %ebp
471ed5:	8b ec                	mov    %esp,%ebp
471ed7:	51                   	push   %ecx
471ed8:	51                   	push   %ecx
471ed9:	8b 45 08             	mov    0x8(%ebp),%eax
471edc:	56                   	push   %esi
471edd:	8b f1                	mov    %ecx,%esi
471edf:	57                   	push   %edi
471ee0:	8b 40 04             	mov    0x4(%eax),%eax
471ee3:	8b 08                	mov    (%eax),%ecx
471ee5:	e8 b2 7d f9 ff       	call   0x409c9c
471eea:	8b 4e 04             	mov    0x4(%esi),%ecx
471eed:	8b f8                	mov    %eax,%edi
471eef:	89 4d 08             	mov    %ecx,0x8(%ebp)
471ef2:	85 c9                	test   %ecx,%ecx
471ef4:	74 36                	je     0x471f2c
471ef6:	8b 01                	mov    (%ecx),%eax
471ef8:	39 b8 d8 00 00 00    	cmp    %edi,0xd8(%eax)
471efe:	75 1b                	jne    0x471f1b
471f00:	8d 45 08             	lea    0x8(%ebp),%eax
471f03:	50                   	push   %eax
471f04:	8d 4e 04             	lea    0x4(%esi),%ecx
471f07:	e8 cc 0c 00 00       	call   0x472bd8
471f0c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
471f0f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
471f13:	ff 75 fc             	push   -0x4(%ebp)
471f16:	e8 48 79 f9 ff       	call   0x409863
471f1b:	8d 45 f8             	lea    -0x8(%ebp),%eax
471f1e:	50                   	push   %eax
471f1f:	8d 4d 08             	lea    0x8(%ebp),%ecx
471f22:	e8 c3 4d fe ff       	call   0x456cea
471f27:	8b 4d 08             	mov    0x8(%ebp),%ecx
471f2a:	eb c6                	jmp    0x471ef2
471f2c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
471f2f:	c6 45 08 00          	movb   $0x0,0x8(%ebp)
471f33:	ff 75 08             	push   0x8(%ebp)
471f36:	e8 28 79 f9 ff       	call   0x409863
471f3b:	5f                   	pop    %edi
471f3c:	33 c0                	xor    %eax,%eax
471f3e:	5e                   	pop    %esi
471f3f:	8b e5                	mov    %ebp,%esp
471f41:	5d                   	pop    %ebp
471f42:	c2 08 00             	ret    $0x8
471f45:	55                   	push   %ebp
471f46:	8b ec                	mov    %esp,%ebp
471f48:	83 e4 f8             	and    $0xfffffff8,%esp
471f4b:	81 ec ec 00 00 00    	sub    $0xec,%esp
471f51:	53                   	push   %ebx
471f52:	8b 5d 08             	mov    0x8(%ebp),%ebx
471f55:	33 c0                	xor    %eax,%eax
471f57:	56                   	push   %esi
471f58:	57                   	push   %edi
471f59:	89 4c 24 10          	mov    %ecx,0x10(%esp)
471f5d:	83 7b 08 02          	cmpl   $0x2,0x8(%ebx)
471f61:	76 13                	jbe    0x471f76
471f63:	8b 43 04             	mov    0x4(%ebx),%eax
471f66:	8b 48 08             	mov    0x8(%eax),%ecx
471f69:	e8 2e 7d f9 ff       	call   0x409c9c
471f6e:	89 44 24 0c          	mov    %eax,0xc(%esp)
471f72:	33 c0                	xor    %eax,%eax
471f74:	eb 04                	jmp    0x471f7a
471f76:	89 44 24 0c          	mov    %eax,0xc(%esp)
471f7a:	83 7b 08 03          	cmpl   $0x3,0x8(%ebx)
471f7e:	76 0b                	jbe    0x471f8b
471f80:	8b 4b 04             	mov    0x4(%ebx),%ecx
471f83:	8b 49 0c             	mov    0xc(%ecx),%ecx
471f86:	e8 c8 7c f9 ff       	call   0x409c53
471f8b:	88 44 24 14          	mov    %al,0x14(%esp)
471f8f:	8b 43 04             	mov    0x4(%ebx),%eax
471f92:	8b 70 04             	mov    0x4(%eax),%esi
471f95:	8b ce                	mov    %esi,%ecx
471f97:	e8 fb 79 f9 ff       	call   0x409997
471f9c:	8b 46 08             	mov    0x8(%esi),%eax
471f9f:	8b 38                	mov    (%eax),%edi
471fa1:	8b 43 04             	mov    0x4(%ebx),%eax
471fa4:	8b 30                	mov    (%eax),%esi
471fa6:	8b ce                	mov    %esi,%ecx
471fa8:	e8 ea 79 f9 ff       	call   0x409997
471fad:	8b 46 08             	mov    0x8(%esi),%eax
471fb0:	83 ec 78             	sub    $0x78,%esp
471fb3:	8b 9c 24 88 00 00 00 	mov    0x88(%esp),%ebx
471fba:	8b cc                	mov    %esp,%ecx
471fbc:	8b 30                	mov    (%eax),%esi
471fbe:	8d 43 04             	lea    0x4(%ebx),%eax
471fc1:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
471fc8:	8d 43 10             	lea    0x10(%ebx),%eax
471fcb:	50                   	push   %eax
471fcc:	e8 d2 f7 ff ff       	call   0x4717a3
471fd1:	ff b4 24 8c 00 00 00 	push   0x8c(%esp)
471fd8:	8d 8c 24 94 00 00 00 	lea    0x94(%esp),%ecx
471fdf:	ff b4 24 88 00 00 00 	push   0x88(%esp)
471fe6:	57                   	push   %edi
471fe7:	56                   	push   %esi
471fe8:	e8 e1 f6 ff ff       	call   0x4716ce
471fed:	50                   	push   %eax
471fee:	8d 4b 04             	lea    0x4(%ebx),%ecx
471ff1:	e8 fe 0a 00 00       	call   0x472af4
471ff6:	8d 4c 24 18          	lea    0x18(%esp),%ecx
471ffa:	e8 cb f8 ff ff       	call   0x4718ca
471fff:	8b 73 08             	mov    0x8(%ebx),%esi
472002:	6a 01                	push   $0x1
472004:	8b 0e                	mov    (%esi),%ecx
472006:	e8 85 09 00 00       	call   0x472990
47200b:	8b 06                	mov    (%esi),%eax
47200d:	33 ff                	xor    %edi,%edi
47200f:	57                   	push   %edi
472010:	ff 70 18             	push   0x18(%eax)
472013:	8b 03                	mov    (%ebx),%eax
472015:	8b 48 04             	mov    0x4(%eax),%ecx
472018:	03 cb                	add    %ebx,%ecx
47201a:	e8 84 4a fe ff       	call   0x456aa3
47201f:	8b 06                	mov    (%esi),%eax
472021:	57                   	push   %edi
472022:	ff 70 1c             	push   0x1c(%eax)
472025:	8b 03                	mov    (%ebx),%eax
472027:	8b 48 04             	mov    0x4(%eax),%ecx
47202a:	03 cb                	add    %ebx,%ecx
47202c:	e8 30 df fa ff       	call   0x41ff61
472031:	8a 5c 24 14          	mov    0x14(%esp),%bl
472035:	8b 06                	mov    (%esi),%eax
472037:	84 db                	test   %bl,%bl
472039:	74 0c                	je     0x472047
47203b:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
472041:	89 44 24 0c          	mov    %eax,0xc(%esp)
472045:	eb 0a                	jmp    0x472051
472047:	8b 48 08             	mov    0x8(%eax),%ecx
47204a:	8b 78 0c             	mov    0xc(%eax),%edi
47204d:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
472051:	8b 75 0c             	mov    0xc(%ebp),%esi
472054:	8b ce                	mov    %esi,%ecx
472056:	e8 c5 79 f9 ff       	call   0x409a20
47205b:	8b 44 24 0c          	mov    0xc(%esp),%eax
47205f:	c7 46 0c 02 00 00 00 	movl   $0x2,0xc(%esi)
472066:	89 06                	mov    %eax,(%esi)
472068:	89 7e 04             	mov    %edi,0x4(%esi)
47206b:	84 db                	test   %bl,%bl
47206d:	75 09                	jne    0x472078
47206f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
472073:	e8 51 0a 00 00       	call   0x472ac9
472078:	5f                   	pop    %edi
472079:	5e                   	pop    %esi
47207a:	33 c0                	xor    %eax,%eax
47207c:	5b                   	pop    %ebx
47207d:	8b e5                	mov    %ebp,%esp
47207f:	5d                   	pop    %ebp
472080:	c2 08 00             	ret    $0x8
472083:	55                   	push   %ebp
472084:	8b ec                	mov    %esp,%ebp
472086:	51                   	push   %ecx
472087:	51                   	push   %ecx
472088:	53                   	push   %ebx
472089:	8b 5d 08             	mov    0x8(%ebp),%ebx
47208c:	56                   	push   %esi
47208d:	57                   	push   %edi
47208e:	8b f9                	mov    %ecx,%edi
472090:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
472094:	75 49                	jne    0x4720df
472096:	8b 47 04             	mov    0x4(%edi),%eax
472099:	33 db                	xor    %ebx,%ebx
47209b:	89 45 08             	mov    %eax,0x8(%ebp)
47209e:	85 c0                	test   %eax,%eax
4720a0:	74 25                	je     0x4720c7
4720a2:	8b 08                	mov    (%eax),%ecx
4720a4:	6a 00                	push   $0x0
4720a6:	81 c1 d4 00 00 00    	add    $0xd4,%ecx
4720ac:	e8 be 09 00 00       	call   0x472a6f
4720b1:	84 c0                	test   %al,%al
4720b3:	75 01                	jne    0x4720b6
4720b5:	43                   	inc    %ebx
4720b6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4720b9:	50                   	push   %eax
4720ba:	8d 4d 08             	lea    0x8(%ebp),%ecx
4720bd:	e8 28 4c fe ff       	call   0x456cea
4720c2:	8b 45 08             	mov    0x8(%ebp),%eax
4720c5:	eb d7                	jmp    0x47209e
4720c7:	8b 75 0c             	mov    0xc(%ebp),%esi
4720ca:	8b ce                	mov    %esi,%ecx
4720cc:	e8 4f 79 f9 ff       	call   0x409a20
4720d1:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4720d8:	89 1e                	mov    %ebx,(%esi)
4720da:	e9 1f 02 00 00       	jmp    0x4722fe
4720df:	8b 43 04             	mov    0x4(%ebx),%eax
4720e2:	8b 08                	mov    (%eax),%ecx
4720e4:	e8 b3 7b f9 ff       	call   0x409c9c
4720e9:	8b 77 04             	mov    0x4(%edi),%esi
4720ec:	89 45 fc             	mov    %eax,-0x4(%ebp)
4720ef:	89 75 08             	mov    %esi,0x8(%ebp)
4720f2:	85 f6                	test   %esi,%esi
4720f4:	0f 84 e7 01 00 00    	je     0x4722e1
4720fa:	8b 0e                	mov    (%esi),%ecx
4720fc:	39 81 d8 00 00 00    	cmp    %eax,0xd8(%ecx)
472102:	74 14                	je     0x472118
472104:	8d 45 f8             	lea    -0x8(%ebp),%eax
472107:	50                   	push   %eax
472108:	8d 4d 08             	lea    0x8(%ebp),%ecx
47210b:	e8 da 4b fe ff       	call   0x456cea
472110:	8b 75 08             	mov    0x8(%ebp),%esi
472113:	8b 45 fc             	mov    -0x4(%ebp),%eax
472116:	eb da                	jmp    0x4720f2
472118:	85 f6                	test   %esi,%esi
47211a:	0f 84 c1 01 00 00    	je     0x4722e1
472120:	83 7b 08 01          	cmpl   $0x1,0x8(%ebx)
472124:	76 0d                	jbe    0x472133
472126:	8b 43 04             	mov    0x4(%ebx),%eax
472129:	8b 48 04             	mov    0x4(%eax),%ecx
47212c:	e8 6b 7b f9 ff       	call   0x409c9c
472131:	eb 03                	jmp    0x472136
472133:	83 c8 ff             	or     $0xffffffff,%eax
472136:	83 f8 ff             	cmp    $0xffffffff,%eax
472139:	0f 85 16 01 00 00    	jne    0x472255
47213f:	8b 7d 0c             	mov    0xc(%ebp),%edi
472142:	8b cf                	mov    %edi,%ecx
472144:	e8 e5 72 f9 ff       	call   0x40942e
472149:	83 7f 0c 05          	cmpl   $0x5,0xc(%edi)
47214d:	75 04                	jne    0x472153
47214f:	8b 3f                	mov    (%edi),%edi
472151:	eb 02                	jmp    0x472155
472153:	33 ff                	xor    %edi,%edi
472155:	6a 06                	push   $0x6
472157:	6a 01                	push   $0x1
472159:	57                   	push   %edi
47215a:	89 7d 0c             	mov    %edi,0xc(%ebp)
47215d:	e8 4e 70 f9 ff       	call   0x4091b0
472162:	8b 06                	mov    (%esi),%eax
472164:	6a 00                	push   $0x0
472166:	6a 01                	push   $0x1
472168:	6a 02                	push   $0x2
47216a:	8b 58 08             	mov    0x8(%eax),%ebx
47216d:	8b 40 0c             	mov    0xc(%eax),%eax
472170:	57                   	push   %edi
472171:	89 45 08             	mov    %eax,0x8(%ebp)
472174:	e8 27 6d f9 ff       	call   0x408ea0
472179:	83 c4 1c             	add    $0x1c,%esp
47217c:	8b f8                	mov    %eax,%edi
47217e:	8b cf                	mov    %edi,%ecx
472180:	e8 9b 78 f9 ff       	call   0x409a20
472185:	8b 45 08             	mov    0x8(%ebp),%eax
472188:	6a 02                	push   $0x2
47218a:	59                   	pop    %ecx
47218b:	89 4f 0c             	mov    %ecx,0xc(%edi)
47218e:	89 1f                	mov    %ebx,(%edi)
472190:	89 47 04             	mov    %eax,0x4(%edi)
472193:	8b 06                	mov    (%esi),%eax
472195:	6a 01                	push   $0x1
472197:	6a 01                	push   $0x1
472199:	51                   	push   %ecx
47219a:	8b 58 10             	mov    0x10(%eax),%ebx
47219d:	8b 40 14             	mov    0x14(%eax),%eax
4721a0:	ff 75 0c             	push   0xc(%ebp)
4721a3:	89 45 08             	mov    %eax,0x8(%ebp)
4721a6:	e8 f5 6c f9 ff       	call   0x408ea0
4721ab:	83 c4 10             	add    $0x10,%esp
4721ae:	8b f8                	mov    %eax,%edi
4721b0:	8b cf                	mov    %edi,%ecx
4721b2:	e8 69 78 f9 ff       	call   0x409a20
4721b7:	8b 45 08             	mov    0x8(%ebp),%eax
4721ba:	c7 47 0c 02 00 00 00 	movl   $0x2,0xc(%edi)
4721c1:	89 1f                	mov    %ebx,(%edi)
4721c3:	89 47 04             	mov    %eax,0x4(%edi)
4721c6:	8b 0e                	mov    (%esi),%ecx
4721c8:	6a 00                	push   $0x0
4721ca:	81 c1 d4 00 00 00    	add    $0xd4,%ecx
4721d0:	e8 9a 08 00 00       	call   0x472a6f
4721d5:	8b 7d 0c             	mov    0xc(%ebp),%edi
4721d8:	88 45 08             	mov    %al,0x8(%ebp)
4721db:	ff 75 08             	push   0x8(%ebp)
4721de:	6a 02                	push   $0x2
4721e0:	6a 01                	push   $0x1
4721e2:	6a 02                	push   $0x2
4721e4:	57                   	push   %edi
4721e5:	e8 b6 6c f9 ff       	call   0x408ea0
4721ea:	83 c4 10             	add    $0x10,%esp
4721ed:	8b c8                	mov    %eax,%ecx