566e7b:	89 7d e4             	mov    %edi,-0x1c(%ebp)
566e7e:	8b 7d f4             	mov    -0xc(%ebp),%edi
566e81:	51                   	push   %ecx
566e82:	75 2e                	jne    0x566eb2
566e84:	80 78 11 56          	cmpb   $0x56,0x11(%eax)
566e88:	75 14                	jne    0x566e9e
566e8a:	ff 76 1c             	push   0x1c(%esi)
566e8d:	52                   	push   %edx
566e8e:	ff 76 24             	push   0x24(%esi)
566e91:	6a 37                	push   $0x37
566e93:	56                   	push   %esi
566e94:	e8 47 03 00 00       	call   0x5671e0
566e99:	83 c4 18             	add    $0x18,%esp
566e9c:	eb 53                	jmp    0x566ef1
566e9e:	ff 76 24             	push   0x24(%esi)
566ea1:	52                   	push   %edx
566ea2:	ff 76 1c             	push   0x1c(%esi)
566ea5:	6a 39                	push   $0x39
566ea7:	56                   	push   %esi
566ea8:	e8 33 03 00 00       	call   0x5671e0
566ead:	83 c4 18             	add    $0x18,%esp
566eb0:	eb 3f                	jmp    0x566ef1
566eb2:	ff 76 24             	push   0x24(%esi)
566eb5:	52                   	push   %edx
566eb6:	ff 76 2c             	push   0x2c(%esi)
566eb9:	6a 36                	push   $0x36
566ebb:	56                   	push   %esi
566ebc:	e8 1f 03 00 00       	call   0x5671e0
566ec1:	83 c4 18             	add    $0x18,%esp
566ec4:	eb 0f                	jmp    0x566ed5
566ec6:	6a 01                	push   $0x1
566ec8:	51                   	push   %ecx
566ec9:	52                   	push   %edx
566eca:	6a 30                	push   $0x30
566ecc:	53                   	push   %ebx
566ecd:	e8 6e ac fd ff       	call   0x541b40
566ed2:	83 c4 14             	add    $0x14,%esp
566ed5:	8b 45 f8             	mov    -0x8(%ebp),%eax
566ed8:	8b 55 0c             	mov    0xc(%ebp),%edx
566edb:	83 fa 01             	cmp    $0x1,%edx
566ede:	75 14                	jne    0x566ef4
566ee0:	83 78 58 00          	cmpl   $0x0,0x58(%eax)
566ee4:	75 0e                	jne    0x566ef4
566ee6:	6a 00                	push   $0x0
566ee8:	56                   	push   %esi
566ee9:	e8 d2 f0 ff ff       	call   0x565fc0
566eee:	83 c4 08             	add    $0x8,%esp
566ef1:	8b 55 0c             	mov    0xc(%ebp),%edx
566ef4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
566ef7:	8b 43 6c             	mov    0x6c(%ebx),%eax
566efa:	89 45 e0             	mov    %eax,-0x20(%ebp)
566efd:	8a 41 11             	mov    0x11(%ecx),%al
566f00:	3a 41 12             	cmp    0x12(%ecx),%al
566f03:	75 6b                	jne    0x566f70
566f05:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
566f09:	74 65                	je     0x566f70
566f0b:	80 79 10 59          	cmpb   $0x59,0x10(%ecx)
566f0f:	75 5f                	jne    0x566f70
566f11:	83 fa 02             	cmp    $0x2,%edx
566f14:	75 5a                	jne    0x566f70
566f16:	57                   	push   %edi
566f17:	e8 64 60 fc ff       	call   0x52cf80
566f1c:	57                   	push   %edi
566f1d:	8b f0                	mov    %eax,%esi
566f1f:	e8 5c 60 fc ff       	call   0x52cf80
566f24:	8b f8                	mov    %eax,%edi
566f26:	8b 45 08             	mov    0x8(%ebp),%eax
566f29:	56                   	push   %esi
566f2a:	ff 70 1c             	push   0x1c(%eax)
566f2d:	6a 7f                	push   $0x7f
566f2f:	53                   	push   %ebx
566f30:	e8 ab ab fd ff       	call   0x541ae0
566f35:	8b 45 08             	mov    0x8(%ebp),%eax
566f38:	57                   	push   %edi
566f39:	ff 70 2c             	push   0x2c(%eax)
566f3c:	6a 7f                	push   $0x7f
566f3e:	53                   	push   %ebx
566f3f:	e8 9c ab fd ff       	call   0x541ae0
566f44:	56                   	push   %esi
566f45:	ff 75 f0             	push   -0x10(%ebp)
566f48:	57                   	push   %edi
566f49:	6a 39                	push   $0x39
566f4b:	53                   	push   %ebx
566f4c:	e8 ef ab fd ff       	call   0x541b40
566f51:	56                   	push   %esi
566f52:	ff 75 f4             	push   -0xc(%ebp)
566f55:	e8 36 0e fd ff       	call   0x537d90
566f5a:	83 c4 44             	add    $0x44,%esp
566f5d:	57                   	push   %edi
566f5e:	8b 7d f4             	mov    -0xc(%ebp),%edi
566f61:	57                   	push   %edi
566f62:	e8 29 0e fd ff       	call   0x537d90
566f67:	8b 75 08             	mov    0x8(%ebp),%esi
566f6a:	83 c4 08             	add    $0x8,%esp
566f6d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
566f70:	8b 45 0c             	mov    0xc(%ebp),%eax
566f73:	83 e8 01             	sub    $0x1,%eax
566f76:	74 70                	je     0x566fe8
566f78:	83 e8 01             	sub    $0x1,%eax
566f7b:	74 36                	je     0x566fb3
566f7d:	83 79 58 00          	cmpl   $0x0,0x58(%ecx)
566f81:	8b 46 2c             	mov    0x2c(%esi),%eax
566f84:	8b 56 30             	mov    0x30(%esi),%edx
566f87:	89 45 08             	mov    %eax,0x8(%ebp)
566f8a:	89 55 f4             	mov    %edx,-0xc(%ebp)
566f8d:	74 12                	je     0x566fa1
566f8f:	6a 01                	push   $0x1
566f91:	ff 71 5c             	push   0x5c(%ecx)
566f94:	6a 52                	push   $0x52
566f96:	53                   	push   %ebx
566f97:	e8 44 ab fd ff       	call   0x541ae0
566f9c:	83 c4 10             	add    $0x10,%esp
566f9f:	eb 5c                	jmp    0x566ffd
566fa1:	ff 76 14             	push   0x14(%esi)
566fa4:	6a 00                	push   $0x0
566fa6:	50                   	push   %eax
566fa7:	51                   	push   %ecx
566fa8:	56                   	push   %esi
566fa9:	e8 72 f3 ff ff       	call   0x566320
566fae:	83 c4 14             	add    $0x14,%esp
566fb1:	eb 4a                	jmp    0x566ffd
566fb3:	8b 56 20             	mov    0x20(%esi),%edx
566fb6:	8b 46 1c             	mov    0x1c(%esi),%eax
566fb9:	89 55 f4             	mov    %edx,-0xc(%ebp)
566fbc:	8b 51 58             	mov    0x58(%ecx),%edx
566fbf:	89 45 08             	mov    %eax,0x8(%ebp)
566fc2:	85 d2                	test   %edx,%edx
566fc4:	74 10                	je     0x566fd6
566fc6:	6a 01                	push   $0x1
566fc8:	52                   	push   %edx
566fc9:	6a 52                	push   $0x52
566fcb:	53                   	push   %ebx
566fcc:	e8 0f ab fd ff       	call   0x541ae0
566fd1:	83 c4 10             	add    $0x10,%esp
566fd4:	eb 27                	jmp    0x566ffd
566fd6:	ff 76 14             	push   0x14(%esi)
566fd9:	6a 01                	push   $0x1
566fdb:	50                   	push   %eax
566fdc:	51                   	push   %ecx
566fdd:	56                   	push   %esi
566fde:	e8 3d f3 ff ff       	call   0x566320
566fe3:	83 c4 14             	add    $0x14,%esp
566fe6:	eb 15                	jmp    0x566ffd
566fe8:	8b 46 24             	mov    0x24(%esi),%eax
566feb:	89 45 08             	mov    %eax,0x8(%ebp)
566fee:	8b 46 28             	mov    0x28(%esi),%eax
566ff1:	56                   	push   %esi
566ff2:	89 45 f4             	mov    %eax,-0xc(%ebp)
566ff5:	e8 06 12 00 00       	call   0x568200
566ffa:	83 c4 04             	add    $0x4,%esp
566ffd:	8b 45 0c             	mov    0xc(%ebp),%eax
567000:	3b 46 18             	cmp    0x18(%esi),%eax
567003:	75 25                	jne    0x56702a
567005:	ff 75 08             	push   0x8(%ebp)
567008:	6a 7a                	push   $0x7a
56700a:	53                   	push   %ebx
56700b:	e8 70 aa fd ff       	call   0x541a80
567010:	8b 43 6c             	mov    0x6c(%ebx),%eax
567013:	83 c4 0c             	add    $0xc,%esp
567016:	85 c0                	test   %eax,%eax
567018:	7e 10                	jle    0x56702a
56701a:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
56701d:	ba 02 00 00 00       	mov    $0x2,%edx
567022:	8b 43 68             	mov    0x68(%ebx),%eax
567025:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
56702a:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
56702e:	8b 43 6c             	mov    0x6c(%ebx),%eax
567031:	74 68                	je     0x56709b
567033:	83 c0 02             	add    $0x2,%eax
567036:	50                   	push   %eax
567037:	ff 75 08             	push   0x8(%ebp)
56703a:	6a 05                	push   $0x5
56703c:	53                   	push   %ebx
56703d:	e8 9e aa fd ff       	call   0x541ae0
567042:	8b 53 6c             	mov    0x6c(%ebx),%edx
567045:	83 c4 10             	add    $0x10,%esp
567048:	89 55 ec             	mov    %edx,-0x14(%ebp)
56704b:	39 53 70             	cmp    %edx,0x70(%ebx)
56704e:	7f 16                	jg     0x567066
567050:	6a 00                	push   $0x0
567052:	6a 00                	push   $0x0
567054:	6a 00                	push   $0x0
567056:	6a 0b                	push   $0xb
567058:	53                   	push   %ebx
567059:	e8 a2 f4 f9 ff       	call   0x506500
56705e:	83 c4 14             	add    $0x14,%esp
567061:	89 45 ec             	mov    %eax,-0x14(%ebp)
567064:	eb 65                	jmp    0x5670cb
567066:	8d 42 01             	lea    0x1(%edx),%eax
567069:	89 43 6c             	mov    %eax,0x6c(%ebx)
56706c:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
56706f:	8b 43 68             	mov    0x68(%ebx),%eax
567072:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
567079:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
567080:	00
567081:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
567088:	00
567089:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
567090:	00
567091:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
567098:	00
567099:	eb 30                	jmp    0x5670cb
56709b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
56709e:	41                   	inc    %ecx
56709f:	03 c1                	add    %ecx,%eax
5670a1:	50                   	push   %eax
5670a2:	ff 75 08             	push   0x8(%ebp)
5670a5:	6a 05                	push   $0x5
5670a7:	53                   	push   %ebx
5670a8:	e8 33 aa fd ff       	call   0x541ae0
5670ad:	8a 45 ff             	mov    -0x1(%ebp),%al
5670b0:	83 c4 10             	add    $0x10,%esp
5670b3:	3c 4c                	cmp    $0x4c,%al
5670b5:	0f 84 92 00 00 00    	je     0x56714d
5670bb:	ff 75 f0             	push   -0x10(%ebp)
5670be:	6a 00                	push   $0x0
5670c0:	6a 0b                	push   $0xb
5670c2:	53                   	push   %ebx
5670c3:	e8 18 aa fd ff       	call   0x541ae0
5670c8:	83 c4 10             	add    $0x10,%esp
5670cb:	8a 45 ff             	mov    -0x1(%ebp),%al
5670ce:	3c 4c                	cmp    $0x4c,%al
5670d0:	74 7b                	je     0x56714d
5670d2:	8b 45 f8             	mov    -0x8(%ebp),%eax
5670d5:	8b 48 0c             	mov    0xc(%eax),%ecx
5670d8:	85 c9                	test   %ecx,%ecx
5670da:	74 15                	je     0x5670f1
5670dc:	8b 09                	mov    (%ecx),%ecx
5670de:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5670e1:	85 c9                	test   %ecx,%ecx
5670e3:	74 13                	je     0x5670f8
5670e5:	51                   	push   %ecx
5670e6:	57                   	push   %edi
5670e7:	e8 34 5e fc ff       	call   0x52cf20
5670ec:	83 c4 08             	add    $0x8,%esp
5670ef:	eb 09                	jmp    0x5670fa
5670f1:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5670f8:	33 c0                	xor    %eax,%eax
5670fa:	50                   	push   %eax
5670fb:	ff 75 08             	push   0x8(%ebp)
5670fe:	89 45 0c             	mov    %eax,0xc(%ebp)
567101:	56                   	push   %esi
567102:	e8 39 10 00 00       	call   0x568140
567107:	ff 75 e0             	push   -0x20(%ebp)
56710a:	8b 45 f8             	mov    -0x8(%ebp),%eax
56710d:	ff 75 f4             	push   -0xc(%ebp)
567110:	8b 75 0c             	mov    0xc(%ebp),%esi
567113:	56                   	push   %esi
567114:	ff 70 0c             	push   0xc(%eax)
567117:	57                   	push   %edi
567118:	e8 13 0c 00 00       	call   0x567d30
56711d:	8b 45 e8             	mov    -0x18(%ebp),%eax
567120:	83 c4 20             	add    $0x20,%esp
567123:	83 f8 01             	cmp    $0x1,%eax
567126:	75 1a                	jne    0x567142
567128:	85 f6                	test   %esi,%esi
56712a:	74 21                	je     0x56714d
56712c:	8a 47 13             	mov    0x13(%edi),%al
56712f:	3c 08                	cmp    $0x8,%al
567131:	73 1a                	jae    0x56714d
567133:	0f b6 c0             	movzbl %al,%eax
567136:	89 b4 87 94 00 00 00 	mov    %esi,0x94(%edi,%eax,4)
56713d:	fe 47 13             	incb   0x13(%edi)
567140:	eb 0b                	jmp    0x56714d
567142:	3b 47 1c             	cmp    0x1c(%edi),%eax
567145:	7e 06                	jle    0x56714d
567147:	89 47 1c             	mov    %eax,0x1c(%edi)
56714a:	89 77 20             	mov    %esi,0x20(%edi)
56714d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
567150:	85 d2                	test   %edx,%edx
567152:	74 49                	je     0x56719d
567154:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
567157:	39 4b 70             	cmp    %ecx,0x70(%ebx)
56715a:	7f 12                	jg     0x56716e
56715c:	6a 00                	push   $0x0
56715e:	52                   	push   %edx
56715f:	6a 00                	push   $0x0
567161:	6a 0b                	push   $0xb
567163:	53                   	push   %ebx
567164:	e8 97 f3 f9 ff       	call   0x506500
567169:	83 c4 14             	add    $0x14,%esp
56716c:	eb 2f                	jmp    0x56719d
56716e:	8d 41 01             	lea    0x1(%ecx),%eax
567171:	89 43 6c             	mov    %eax,0x6c(%ebx)
567174:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
567177:	8b 43 68             	mov    0x68(%ebx),%eax
56717a:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
567181:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
567188:	00
567189:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
56718d:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
567194:	00
567195:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
56719c:	00
56719d:	8b 53 0c             	mov    0xc(%ebx),%edx
5671a0:	8b 75 f0             	mov    -0x10(%ebp),%esi
5671a3:	f7 d6                	not    %esi
5671a5:	8b 42 3c             	mov    0x3c(%edx),%eax
5671a8:	03 42 38             	add    0x38(%edx),%eax
5671ab:	79 15                	jns    0x5671c2
5671ad:	56                   	push   %esi
5671ae:	53                   	push   %ebx
5671af:	52                   	push   %edx
5671b0:	e8 eb c5 fa ff       	call   0x5137a0
5671b5:	8b 45 ec             	mov    -0x14(%ebp),%eax
5671b8:	83 c4 0c             	add    $0xc,%esp
5671bb:	5f                   	pop    %edi
5671bc:	5e                   	pop    %esi
5671bd:	5b                   	pop    %ebx
5671be:	8b e5                	mov    %ebp,%esp
5671c0:	5d                   	pop    %ebp
5671c1:	c3                   	ret
5671c2:	8b 52 40             	mov    0x40(%edx),%edx
5671c5:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
5671c8:	8b 45 ec             	mov    -0x14(%ebp),%eax
5671cb:	5f                   	pop    %edi
5671cc:	89 0c b2             	mov    %ecx,(%edx,%esi,4)
5671cf:	5e                   	pop    %esi
5671d0:	5b                   	pop    %ebx
5671d1:	8b e5                	mov    %ebp,%esp
5671d3:	5d                   	pop    %ebp
5671d4:	c3                   	ret
5671d5:	cc                   	int3
5671d6:	cc                   	int3
5671d7:	cc                   	int3
5671d8:	cc                   	int3
5671d9:	cc                   	int3
5671da:	cc                   	int3
5671db:	cc                   	int3
5671dc:	cc                   	int3
5671dd:	cc                   	int3
5671de:	cc                   	int3
5671df:	cc                   	int3
5671e0:	55                   	push   %ebp
5671e1:	8b ec                	mov    %esp,%ebp
5671e3:	8b 55 08             	mov    0x8(%ebp),%edx
5671e6:	83 ec 18             	sub    $0x18,%esp
5671e9:	53                   	push   %ebx
5671ea:	56                   	push   %esi
5671eb:	57                   	push   %edi
5671ec:	8b 3a                	mov    (%edx),%edi
5671ee:	8b 77 08             	mov    0x8(%edi),%esi
5671f1:	85 f6                	test   %esi,%esi
5671f3:	75 1f                	jne    0x567214
5671f5:	39 77 74             	cmp    %esi,0x74(%edi)
5671f8:	75 0c                	jne    0x567206
5671fa:	8b 07                	mov    (%edi),%eax
5671fc:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
567200:	75 04                	jne    0x567206
567202:	c6 47 17 01          	movb   $0x1,0x17(%edi)