560f75:	74 05                	je     0x560f7c
560f77:	e8 18 6e 01 00       	call   0x577d94
560f7c:	45                   	inc    %ebp
560f7d:	83 c3 2c             	add    $0x2c,%ebx
560f80:	8b 57 18             	mov    0x18(%edi),%edx
560f83:	3b ea                	cmp    %edx,%ebp
560f85:	7c c2                	jl     0x560f49
560f87:	8b 47 20             	mov    0x20(%edi),%eax
560f8a:	85 c0                	test   %eax,%eax
560f8c:	74 05                	je     0x560f93
560f8e:	e8 89 8a 01 00       	call   0x579a1c
560f93:	8b 47 24             	mov    0x24(%edi),%eax
560f96:	85 c0                	test   %eax,%eax
560f98:	74 05                	je     0x560f9f
560f9a:	e8 7d 8a 01 00       	call   0x579a1c
560f9f:	8b 47 1c             	mov    0x1c(%edi),%eax
560fa2:	85 c0                	test   %eax,%eax
560fa4:	74 05                	je     0x560fab
560fa6:	e8 d9 73 01 00       	call   0x578384
560fab:	ff 44 24 20          	incl   0x20(%esp)
560faf:	83 c7 28             	add    $0x28,%edi
560fb2:	8b 54 24 1c          	mov    0x1c(%esp),%edx
560fb6:	8b 4a 28             	mov    0x28(%edx),%ecx
560fb9:	8b 44 24 20          	mov    0x20(%esp),%eax
560fbd:	3b c8                	cmp    %eax,%ecx
560fbf:	0f 8f 62 ff ff ff    	jg     0x560f27
560fc5:	8b 54 24 18          	mov    0x18(%esp),%edx
560fc9:	8b 42 04             	mov    0x4(%edx),%eax
560fcc:	85 c0                	test   %eax,%eax
560fce:	74 05                	je     0x560fd5
560fd0:	e8 bf 6d 01 00       	call   0x577d94
560fd5:	8b 54 24 18          	mov    0x18(%esp),%edx
560fd9:	8b 02                	mov    (%edx),%eax
560fdb:	85 c0                	test   %eax,%eax
560fdd:	74 05                	je     0x560fe4
560fdf:	e8 a0 73 01 00       	call   0x578384
560fe4:	ff 44 24 10          	incl   0x10(%esp)
560fe8:	83 44 24 18 20       	addl   $0x20,0x18(%esp)
560fed:	8b 54 24 1c          	mov    0x1c(%esp),%edx
560ff1:	8b 0a                	mov    (%edx),%ecx
560ff3:	8b 44 24 10          	mov    0x10(%esp),%eax
560ff7:	3b c8                	cmp    %eax,%ecx
560ff9:	0f 8f 0d ff ff ff    	jg     0x560f0c
560fff:	8b 54 24 1c          	mov    0x1c(%esp),%edx
561003:	8b 42 04             	mov    0x4(%edx),%eax
561006:	85 c0                	test   %eax,%eax
561008:	74 05                	je     0x56100f
56100a:	e8 75 73 01 00       	call   0x578384
56100f:	ff 44 24 14          	incl   0x14(%esp)
561013:	83 44 24 1c 38       	addl   $0x38,0x1c(%esp)
561018:	8b 54 24 08          	mov    0x8(%esp),%edx
56101c:	8b 44 24 14          	mov    0x14(%esp),%eax
561020:	0f b7 4a 14          	movzwl 0x14(%edx),%ecx
561024:	3b c8                	cmp    %eax,%ecx
561026:	0f 8f c2 fe ff ff    	jg     0x560eee
56102c:	8b 54 24 08          	mov    0x8(%esp),%edx
561030:	8b 42 18             	mov    0x18(%edx),%eax
561033:	85 c0                	test   %eax,%eax
561035:	74 05                	je     0x56103c
561037:	e8 48 73 01 00       	call   0x578384
56103c:	8b 54 24 08          	mov    0x8(%esp),%edx
561040:	8b 42 10             	mov    0x10(%edx),%eax
561043:	85 c0                	test   %eax,%eax
561045:	74 05                	je     0x56104c
561047:	e8 48 6d 01 00       	call   0x577d94
56104c:	8b 54 24 08          	mov    0x8(%esp),%edx
561050:	8b 42 1c             	mov    0x1c(%edx),%eax
561053:	85 c0                	test   %eax,%eax
561055:	74 05                	je     0x56105c
561057:	e8 90 c9 00 00       	call   0x56d9ec
56105c:	ff 44 24 0c          	incl   0xc(%esp)
561060:	83 44 24 08 20       	addl   $0x20,0x8(%esp)
561065:	8b 14 24             	mov    (%esp),%edx
561068:	8b 4a 38             	mov    0x38(%edx),%ecx
56106b:	8b 44 24 0c          	mov    0xc(%esp),%eax
56106f:	3b c8                	cmp    %eax,%ecx
561071:	0f 8f 61 fe ff ff    	jg     0x560ed8
561077:	8b 54 24 04          	mov    0x4(%esp),%edx
56107b:	8b 42 20             	mov    0x20(%edx),%eax
56107e:	85 c0                	test   %eax,%eax
561080:	74 0e                	je     0x561090
561082:	e8 f1 0d 00 00       	call   0x561e78
561087:	8b 54 24 04          	mov    0x4(%esp),%edx
56108b:	33 c9                	xor    %ecx,%ecx
56108d:	89 4a 20             	mov    %ecx,0x20(%edx)
561090:	8b 44 24 04          	mov    0x4(%esp),%eax
561094:	8b 50 24             	mov    0x24(%eax),%edx
561097:	85 d2                	test   %edx,%edx
561099:	74 15                	je     0x5610b0
56109b:	8b 4c 24 04          	mov    0x4(%esp),%ecx
56109f:	8b 41 24             	mov    0x24(%ecx),%eax
5610a2:	e8 dd 72 01 00       	call   0x578384
5610a7:	8b 54 24 04          	mov    0x4(%esp),%edx
5610ab:	33 c9                	xor    %ecx,%ecx
5610ad:	89 4a 24             	mov    %ecx,0x24(%edx)
5610b0:	8b 44 24 04          	mov    0x4(%esp),%eax
5610b4:	8b 50 34             	mov    0x34(%eax),%edx
5610b7:	85 d2                	test   %edx,%edx
5610b9:	74 15                	je     0x5610d0
5610bb:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5610bf:	8b 41 34             	mov    0x34(%ecx),%eax
5610c2:	e8 c1 ba 00 00       	call   0x56cb88
5610c7:	8b 54 24 04          	mov    0x4(%esp),%edx
5610cb:	33 c9                	xor    %ecx,%ecx
5610cd:	89 4a 34             	mov    %ecx,0x34(%edx)
5610d0:	8b 44 24 04          	mov    0x4(%esp),%eax
5610d4:	8b 50 18             	mov    0x18(%eax),%edx
5610d7:	85 d2                	test   %edx,%edx
5610d9:	74 15                	je     0x5610f0
5610db:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5610df:	8b 41 18             	mov    0x18(%ecx),%eax
5610e2:	e8 55 76 01 00       	call   0x57873c
5610e7:	8b 54 24 04          	mov    0x4(%esp),%edx
5610eb:	33 c9                	xor    %ecx,%ecx
5610ed:	89 4a 18             	mov    %ecx,0x18(%edx)
5610f0:	8b 44 24 04          	mov    0x4(%esp),%eax
5610f4:	8b 50 14             	mov    0x14(%eax),%edx
5610f7:	85 d2                	test   %edx,%edx
5610f9:	74 15                	je     0x561110
5610fb:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5610ff:	8b 41 14             	mov    0x14(%ecx),%eax
561102:	e8 71 19 00 00       	call   0x562a78
561107:	8b 54 24 04          	mov    0x4(%esp),%edx
56110b:	33 c9                	xor    %ecx,%ecx
56110d:	89 4a 14             	mov    %ecx,0x14(%edx)
561110:	8b 44 24 04          	mov    0x4(%esp),%eax
561114:	c7 00 03 00 00 00    	movl   $0x3,(%eax)
56111a:	33 c0                	xor    %eax,%eax
56111c:	83 c4 24             	add    $0x24,%esp
56111f:	5d                   	pop    %ebp
561120:	5f                   	pop    %edi
561121:	5e                   	pop    %esi
561122:	5b                   	pop    %ebx
561123:	c3                   	ret
561124:	53                   	push   %ebx
561125:	56                   	push   %esi
561126:	57                   	push   %edi
561127:	55                   	push   %ebp
561128:	83 c4 e4             	add    $0xffffffe4,%esp
56112b:	89 54 24 04          	mov    %edx,0x4(%esp)
56112f:	89 04 24             	mov    %eax,(%esp)
561132:	8b 54 24 04          	mov    0x4(%esp),%edx
561136:	8b 04 24             	mov    (%esp),%eax
561139:	e8 e6 1b 00 00       	call   0x562d24
56113e:	85 c0                	test   %eax,%eax
561140:	74 1a                	je     0x56115c
561142:	68 a6 eb 69 00       	push   $0x69eba6
561147:	68 80 2e 6a 00       	push   $0x6a2e80
56114c:	e8 7b 8f 01 00       	call   0x57a0cc
561151:	83 c4 08             	add    $0x8,%esp
561154:	83 c8 ff             	or     $0xffffffff,%eax
561157:	e9 36 04 00 00       	jmp    0x561592
56115c:	33 d2                	xor    %edx,%edx
56115e:	89 54 24 08          	mov    %edx,0x8(%esp)
561162:	8b 4c 24 04          	mov    0x4(%esp),%ecx
561166:	8b 59 24             	mov    0x24(%ecx),%ebx
561169:	e9 a5 00 00 00       	jmp    0x561213
56116e:	8b 44 24 04          	mov    0x4(%esp),%eax
561172:	8b 50 20             	mov    0x20(%eax),%edx
561175:	8b 44 24 08          	mov    0x8(%esp),%eax
561179:	8b 4a 10             	mov    0x10(%edx),%ecx
56117c:	8b d0                	mov    %eax,%edx
56117e:	8d 04 c2             	lea    (%edx,%eax,8),%eax
561181:	c1 e0 03             	shl    $0x3,%eax
561184:	2b c2                	sub    %edx,%eax
561186:	c1 e0 02             	shl    $0x2,%eax
561189:	03 c8                	add    %eax,%ecx
56118b:	89 4c 24 14          	mov    %ecx,0x14(%esp)
56118f:	33 c9                	xor    %ecx,%ecx
561191:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
561195:	8b 7b 18             	mov    0x18(%ebx),%edi
561198:	eb 66                	jmp    0x561200
56119a:	8b 47 04             	mov    0x4(%edi),%eax
56119d:	85 c0                	test   %eax,%eax
56119f:	74 58                	je     0x5611f9
5611a1:	33 ed                	xor    %ebp,%ebp
5611a3:	8b f0                	mov    %eax,%esi
5611a5:	eb 4c                	jmp    0x5611f3
5611a7:	8b 46 04             	mov    0x4(%esi),%eax
5611aa:	85 c0                	test   %eax,%eax
5611ac:	74 41                	je     0x5611ef
5611ae:	8b 56 14             	mov    0x14(%esi),%edx
5611b1:	52                   	push   %edx
5611b2:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5611b6:	8b 56 1c             	mov    0x1c(%esi),%edx
5611b9:	0f b6 89 d5 00 00 00 	movzbl 0xd5(%ecx),%ecx
5611c0:	2b ca                	sub    %edx,%ecx
5611c2:	8b 56 1c             	mov    0x1c(%esi),%edx
5611c5:	52                   	push   %edx
5611c6:	5a                   	pop    %edx
5611c7:	e8 00 12 00 00       	call   0x5623cc
5611cc:	8b 44 24 04          	mov    0x4(%esp),%eax
5611d0:	8b 48 30             	mov    0x30(%eax),%ecx
5611d3:	85 c9                	test   %ecx,%ecx
5611d5:	74 18                	je     0x5611ef
5611d7:	8b 46 04             	mov    0x4(%esi),%eax
5611da:	ba 0d 00 00 00       	mov    $0xd,%edx
5611df:	e8 98 6f 01 00       	call   0x57817c
5611e4:	8b 56 10             	mov    0x10(%esi),%edx
5611e7:	8b 46 04             	mov    0x4(%esi),%eax
5611ea:	e8 59 11 00 00       	call   0x562348
5611ef:	45                   	inc    %ebp
5611f0:	83 c6 20             	add    $0x20,%esi
5611f3:	8b 0f                	mov    (%edi),%ecx
5611f5:	3b e9                	cmp    %ecx,%ebp
5611f7:	7c ae                	jl     0x5611a7
5611f9:	ff 44 24 0c          	incl   0xc(%esp)
5611fd:	83 c7 38             	add    $0x38,%edi
561200:	0f b7 43 14          	movzwl 0x14(%ebx),%eax
561204:	8b 54 24 0c          	mov    0xc(%esp),%edx
561208:	3b c2                	cmp    %edx,%eax
56120a:	7f 8e                	jg     0x56119a
56120c:	ff 44 24 08          	incl   0x8(%esp)
561210:	83 c3 20             	add    $0x20,%ebx
561213:	8b 0c 24             	mov    (%esp),%ecx
561216:	8b 41 38             	mov    0x38(%ecx),%eax
561219:	8b 54 24 08          	mov    0x8(%esp),%edx
56121d:	3b c2                	cmp    %edx,%eax
56121f:	0f 8f 49 ff ff ff    	jg     0x56116e
561225:	33 c9                	xor    %ecx,%ecx
561227:	89 4c 24 08          	mov    %ecx,0x8(%esp)
56122b:	8b 44 24 04          	mov    0x4(%esp),%eax
56122f:	8b 58 24             	mov    0x24(%eax),%ebx
561232:	eb 47                	jmp    0x56127b
561234:	8b 44 24 04          	mov    0x4(%esp),%eax
561238:	8b 50 20             	mov    0x20(%eax),%edx
56123b:	8b 44 24 08          	mov    0x8(%esp),%eax
56123f:	8b 4a 10             	mov    0x10(%edx),%ecx
561242:	8b d0                	mov    %eax,%edx
561244:	8d 04 c2             	lea    (%edx,%eax,8),%eax
561247:	c1 e0 03             	shl    $0x3,%eax
56124a:	2b c2                	sub    %edx,%eax
56124c:	c1 e0 02             	shl    $0x2,%eax
56124f:	03 c8                	add    %eax,%ecx
561251:	89 4c 24 14          	mov    %ecx,0x14(%esp)
561255:	8b 4c 24 14          	mov    0x14(%esp),%ecx
561259:	8a 41 08             	mov    0x8(%ecx),%al
56125c:	3c 01                	cmp    $0x1,%al
56125e:	75 07                	jne    0x561267
561260:	ba 01 00 00 00       	mov    $0x1,%edx
561265:	eb 02                	jmp    0x561269
561267:	33 d2                	xor    %edx,%edx
561269:	8b 4b 10             	mov    0x10(%ebx),%ecx
56126c:	8b 43 1c             	mov    0x1c(%ebx),%eax
56126f:	e8 e0 c8 00 00       	call   0x56db54
561274:	ff 44 24 08          	incl   0x8(%esp)
561278:	83 c3 20             	add    $0x20,%ebx
56127b:	8b 04 24             	mov    (%esp),%eax
56127e:	8b 50 38             	mov    0x38(%eax),%edx
561281:	8b 4c 24 08          	mov    0x8(%esp),%ecx
561285:	3b d1                	cmp    %ecx,%edx
561287:	7f ab                	jg     0x561234
561289:	8b 44 24 04          	mov    0x4(%esp),%eax
56128d:	8b 50 20             	mov    0x20(%eax),%edx
561290:	8a 4a 0c             	mov    0xc(%edx),%cl
561293:	fe c9                	dec    %cl
561295:	74 3d                	je     0x5612d4
561297:	fe c9                	dec    %cl
561299:	75 70                	jne    0x56130b
56129b:	8b 04 24             	mov    (%esp),%eax
56129e:	8b 50 38             	mov    0x38(%eax),%edx
5612a1:	83 fa 03             	cmp    $0x3,%edx
5612a4:	74 17                	je     0x5612bd
5612a6:	68 5c 04 00 00       	push   $0x45c
5612ab:	68 d5 eb 69 00       	push   $0x69ebd5
5612b0:	68 c2 eb 69 00       	push   $0x69ebc2
5612b5:	e8 86 98 ff ff       	call   0x55ab40
5612ba:	83 c4 0c             	add    $0xc,%esp
5612bd:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5612c1:	8b 41 24             	mov    0x24(%ecx),%eax
5612c4:	8b 48 50             	mov    0x50(%eax),%ecx
5612c7:	8b 50 30             	mov    0x30(%eax),%edx
5612ca:	8b 40 10             	mov    0x10(%eax),%eax
5612cd:	e8 e6 ee 00 00       	call   0x5701b8
5612d2:	eb 37                	jmp    0x56130b
5612d4:	8b 14 24             	mov    (%esp),%edx
5612d7:	8b 4a 38             	mov    0x38(%edx),%ecx
5612da:	83 f9 03             	cmp    $0x3,%ecx
5612dd:	74 17                	je     0x5612f6
5612df:	68 61 04 00 00       	push   $0x461
5612e4:	68 f2 eb 69 00       	push   $0x69ebf2
5612e9:	68 df eb 69 00       	push   $0x69ebdf
5612ee:	e8 4d 98 ff ff       	call   0x55ab40
5612f3:	83 c4 0c             	add    $0xc,%esp
5612f6:	8b 44 24 04          	mov    0x4(%esp),%eax
5612fa:	8b 40 24             	mov    0x24(%eax),%eax
5612fd:	8b 48 50             	mov    0x50(%eax),%ecx
561300:	8b 50 30             	mov    0x30(%eax),%edx
561303:	8b 40 10             	mov    0x10(%eax),%eax
561306:	e8 19 f2 00 00       	call   0x570524
56130b:	8b 54 24 04          	mov    0x4(%esp),%edx
56130f:	8b 4a 30             	mov    0x30(%edx),%ecx
561312:	85 c9                	test   %ecx,%ecx
561314:	0f 84 80 00 00 00    	je     0x56139a
56131a:	33 c0                	xor    %eax,%eax
56131c:	89 44 24 08          	mov    %eax,0x8(%esp)
561320:	8b 54 24 04          	mov    0x4(%esp),%edx
561324:	8b 5a 24             	mov    0x24(%edx),%ebx
561327:	eb 63                	jmp    0x56138c
561329:	33 c9                	xor    %ecx,%ecx
56132b:	eb 4e                	jmp    0x56137b
56132d:	33 c0                	xor    %eax,%eax
56132f:	eb 3f                	jmp    0x561370
561331:	8b 52 1c             	mov    0x1c(%edx),%edx
561334:	8b 14 8a             	mov    (%edx,%ecx,4),%edx
561337:	8b 14 82             	mov    (%edx,%eax,4),%edx
56133a:	85 d2                	test   %edx,%edx
56133c:	7d 0e                	jge    0x56134c
56133e:	8d b2 00 10 00 00    	lea    0x1000(%edx),%esi
561344:	81 e6 00 e0 ff ff    	and    $0xffffe000,%esi
56134a:	eb 12                	jmp    0x56135e
56134c:	8b f2                	mov    %edx,%esi
56134e:	f7 de                	neg    %esi
561350:	81 c6 00 10 00 00    	add    $0x1000,%esi
561356:	81 e6 00 e0 ff ff    	and    $0xffffe000,%esi
56135c:	f7 de                	neg    %esi
56135e:	8b d6                	mov    %esi,%edx
561360:	8b 73 10             	mov    0x10(%ebx),%esi
561363:	8b 76 1c             	mov    0x1c(%esi),%esi
561366:	8b 34 8e             	mov    (%esi,%ecx,4),%esi
561369:	c1 fa 0d             	sar    $0xd,%edx
56136c:	89 14 86             	mov    %edx,(%esi,%eax,4)
56136f:	40                   	inc    %eax
561370:	8b 53 10             	mov    0x10(%ebx),%edx
561373:	8b 72 18             	mov    0x18(%edx),%esi
561376:	3b c6                	cmp    %esi,%eax
561378:	7c b7                	jl     0x561331
56137a:	41                   	inc    %ecx
56137b:	8b 43 10             	mov    0x10(%ebx),%eax
56137e:	8b 50 14             	mov    0x14(%eax),%edx
561381:	3b ca                	cmp    %edx,%ecx
561383:	7c a8                	jl     0x56132d
561385:	ff 44 24 08          	incl   0x8(%esp)
561389:	83 c3 20             	add    $0x20,%ebx
56138c:	8b 0c 24             	mov    (%esp),%ecx
56138f:	8b 41 38             	mov    0x38(%ecx),%eax
561392:	8b 54 24 08          	mov    0x8(%esp),%edx
561396:	3b c2                	cmp    %edx,%eax
561398:	7f 8f                	jg     0x561329
56139a:	33 c9                	xor    %ecx,%ecx
56139c:	89 4c 24 08          	mov    %ecx,0x8(%esp)
5613a0:	8b 44 24 04          	mov    0x4(%esp),%eax
5613a4:	8b 58 24             	mov    0x24(%eax),%ebx
5613a7:	8b 04 24             	mov    (%esp),%eax
5613aa:	8b 50 58             	mov    0x58(%eax),%edx
5613ad:	89 54 24 18          	mov    %edx,0x18(%esp)
5613b1:	eb 5a                	jmp    0x56140d
5613b3:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5613b7:	8b 41 14             	mov    0x14(%ecx),%eax
5613ba:	85 c0                	test   %eax,%eax