56201e:	3b f8                	cmp    %eax,%edi
562020:	0f 83 14 03 00 00    	jae    0x56233a
562026:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
56202d:	00 00 00
562030:	b9 00 04 00 00       	mov    $0x400,%ecx
562035:	66 85 4f 0c          	test   %cx,0xc(%edi)
562039:	74 05                	je     0x562040
56203b:	8b 47 1c             	mov    0x1c(%edi),%eax
56203e:	eb 40                	jmp    0x562080
562040:	8b 8d 68 fd ff ff    	mov    -0x298(%ebp),%ecx
562046:	39 4f 14             	cmp    %ecx,0x14(%edi)
562049:	0f 85 cc 02 00 00    	jne    0x56231b
56204f:	8b 8d 64 fd ff ff    	mov    -0x29c(%ebp),%ecx
562055:	8b 01                	mov    (%ecx),%eax
562057:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
56205d:	8d 85 a0 fd ff ff    	lea    -0x260(%ebp),%eax
562063:	89 8d a4 fd ff ff    	mov    %ecx,-0x25c(%ebp)
562069:	c6 85 a8 fd ff ff 2c 	movb   $0x2c,-0x258(%ebp)
562070:	c7 85 ac fd ff ff 01 	movl   $0x1,-0x254(%ebp)
562077:	00 00 00
56207a:	89 bd b4 fd ff ff    	mov    %edi,-0x24c(%ebp)
562080:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
562086:	33 c0                	xor    %eax,%eax
562088:	66 89 45 8c          	mov    %ax,-0x74(%ebp)
56208c:	8b 85 60 fd ff ff    	mov    -0x2a0(%ebp),%eax
562092:	8b 40 10             	mov    0x10(%eax),%eax
562095:	83 78 38 00          	cmpl   $0x0,0x38(%eax)
562099:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
56209f:	74 15                	je     0x5620b6
5620a1:	ff 75 18             	push   0x18(%ebp)
5620a4:	ff 75 14             	push   0x14(%ebp)
5620a7:	56                   	push   %esi
5620a8:	ff 75 0c             	push   0xc(%ebp)
5620ab:	50                   	push   %eax
5620ac:	e8 7f 03 00 00       	call   0x562430
5620b1:	83 c4 14             	add    $0x14,%esp
5620b4:	eb 0d                	jmp    0x5620c3
5620b6:	56                   	push   %esi
5620b7:	ff 75 0c             	push   0xc(%ebp)
5620ba:	50                   	push   %eax
5620bb:	e8 70 f0 ff ff       	call   0x561130
5620c0:	83 c4 0c             	add    $0xc,%esp
5620c3:	89 85 98 fd ff ff    	mov    %eax,-0x268(%ebp)
5620c9:	85 c0                	test   %eax,%eax
5620cb:	75 21                	jne    0x5620ee
5620cd:	ff 75 18             	push   0x18(%ebp)
5620d0:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
5620d6:	ff 75 14             	push   0x14(%ebp)
5620d9:	56                   	push   %esi
5620da:	ff 75 0c             	push   0xc(%ebp)
5620dd:	50                   	push   %eax
5620de:	e8 ed fd ff ff       	call   0x561ed0
5620e3:	8b f0                	mov    %eax,%esi
5620e5:	83 c4 14             	add    $0x14,%esp
5620e8:	89 b5 98 fd ff ff    	mov    %esi,-0x268(%ebp)
5620ee:	66 8b 75 8c          	mov    -0x74(%ebp),%si
5620f2:	66 85 f6             	test   %si,%si
5620f5:	0f 84 33 02 00 00    	je     0x56232e
5620fb:	83 bd 7c fd ff ff 00 	cmpl   $0x0,-0x284(%ebp)
562102:	74 2a                	je     0x56212e
562104:	0f b7 c6             	movzwl %si,%eax
562107:	c1 e0 04             	shl    $0x4,%eax
56210a:	50                   	push   %eax
56210b:	8d 45 94             	lea    -0x6c(%ebp),%eax
56210e:	66 89 75 c4          	mov    %si,-0x3c(%ebp)
562112:	50                   	push   %eax
562113:	8d 45 cc             	lea    -0x34(%ebp),%eax
562116:	50                   	push   %eax
562117:	e8 e4 0d 08 00       	call   0x5e2f00
56211c:	83 c4 0c             	add    $0xc,%esp
56211f:	c7 85 7c fd ff ff 00 	movl   $0x0,-0x284(%ebp)
562126:	00 00 00
562129:	e9 da 01 00 00       	jmp    0x562308
56212e:	0f b7 c3             	movzwl %bx,%eax
562131:	c1 e0 04             	shl    $0x4,%eax
562134:	50                   	push   %eax
562135:	8d 45 cc             	lea    -0x34(%ebp),%eax
562138:	66 89 9d 54 ff ff ff 	mov    %bx,-0xac(%ebp)
56213f:	50                   	push   %eax
562140:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
562146:	50                   	push   %eax
562147:	e8 b4 0d 08 00       	call   0x5e2f00
56214c:	0f b7 95 54 ff ff ff 	movzwl -0xac(%ebp),%edx
562153:	33 db                	xor    %ebx,%ebx
562155:	83 c4 0c             	add    $0xc,%esp
562158:	89 9d 9c fd ff ff    	mov    %ebx,-0x264(%ebp)
56215e:	66 89 5d c4          	mov    %bx,-0x3c(%ebp)
562162:	89 95 74 fd ff ff    	mov    %edx,-0x28c(%ebp)
562168:	85 d2                	test   %edx,%edx
56216a:	0f 84 a2 01 00 00    	je     0x562312
562170:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
562176:	0f b7 c6             	movzwl %si,%eax
562179:	89 8d 84 fd ff ff    	mov    %ecx,-0x27c(%ebp)
56217f:	90                   	nop
562180:	c7 85 78 fd ff ff 00 	movl   $0x0,-0x288(%ebp)
562187:	00 00 00
56218a:	85 c0                	test   %eax,%eax
56218c:	0f 84 58 01 00 00    	je     0x5622ea
562192:	0f b7 51 02          	movzwl 0x2(%ecx),%edx
562196:	8d 75 9c             	lea    -0x64(%ebp),%esi
562199:	8b 59 f8             	mov    -0x8(%ecx),%ebx
56219c:	0f b7 01             	movzwl (%ecx),%eax
56219f:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5621a2:	89 9d 5c fd ff ff    	mov    %ebx,-0x2a4(%ebp)
5621a8:	89 95 80 fd ff ff    	mov    %edx,-0x280(%ebp)
5621ae:	89 8d 58 fd ff ff    	mov    %ecx,-0x2a8(%ebp)
5621b4:	0f bf fa             	movswl %dx,%edi
5621b7:	0f bf d8             	movswl %ax,%ebx
5621ba:	89 b5 9c fd ff ff    	mov    %esi,-0x264(%ebp)
5621c0:	0f b7 46 02          	movzwl 0x2(%esi),%eax
5621c4:	66 3b d0             	cmp    %ax,%dx
5621c7:	7c 31                	jl     0x5621fa
5621c9:	0f bf c8             	movswl %ax,%ecx
5621cc:	8d 41 31             	lea    0x31(%ecx),%eax
5621cf:	3b f8                	cmp    %eax,%edi
5621d1:	7e 05                	jle    0x5621d8
5621d3:	0f b7 f2             	movzwl %dx,%esi
5621d6:	eb 4c                	jmp    0x562224
5621d8:	8d 41 1f             	lea    0x1f(%ecx),%eax
5621db:	3b f8                	cmp    %eax,%edi
5621dd:	7e 08                	jle    0x5621e7
5621df:	8d 42 01             	lea    0x1(%edx),%eax
5621e2:	0f b7 f0             	movzwl %ax,%esi
5621e5:	eb 3d                	jmp    0x562224
5621e7:	8b c7                	mov    %edi,%eax
5621e9:	2b c1                	sub    %ecx,%eax
5621eb:	0f b6 80 c0 2c 6b 00 	movzbl 0x6b2cc0(%eax),%eax
5621f2:	66 03 c2             	add    %dx,%ax
5621f5:	0f b7 f0             	movzwl %ax,%esi
5621f8:	eb 2a                	jmp    0x562224
5621fa:	0f bf d0             	movswl %ax,%edx
5621fd:	8d 4f 31             	lea    0x31(%edi),%ecx
562200:	3b d1                	cmp    %ecx,%edx
562202:	7e 04                	jle    0x562208
562204:	8b f0                	mov    %eax,%esi
562206:	eb 1c                	jmp    0x562224
562208:	8d 4f 1f             	lea    0x1f(%edi),%ecx
56220b:	3b d1                	cmp    %ecx,%edx
56220d:	7e 06                	jle    0x562215
56220f:	40                   	inc    %eax
562210:	0f b7 f0             	movzwl %ax,%esi
562213:	eb 0f                	jmp    0x562224
562215:	2b d7                	sub    %edi,%edx
562217:	0f b6 8a c0 2c 6b 00 	movzbl 0x6b2cc0(%edx),%ecx
56221e:	66 03 c8             	add    %ax,%cx
562221:	0f b7 f1             	movzwl %cx,%esi
562224:	8b 85 9c fd ff ff    	mov    -0x264(%ebp),%eax
56222a:	0f b7 08             	movzwl (%eax),%ecx
56222d:	8b 85 84 fd ff ff    	mov    -0x27c(%ebp),%eax
562233:	0f b7 10             	movzwl (%eax),%edx
562236:	66 3b d1             	cmp    %cx,%dx
562239:	7c 2a                	jl     0x562265
56223b:	0f bf c9             	movswl %cx,%ecx
56223e:	8d 41 31             	lea    0x31(%ecx),%eax
562241:	3b d8                	cmp    %eax,%ebx
562243:	7e 04                	jle    0x562249
562245:	8b c2                	mov    %edx,%eax
562247:	eb 45                	jmp    0x56228e
562249:	8d 41 1f             	lea    0x1f(%ecx),%eax
56224c:	3b d8                	cmp    %eax,%ebx
56224e:	7e 05                	jle    0x562255
562250:	8d 42 01             	lea    0x1(%edx),%eax
562253:	eb 36                	jmp    0x56228b
562255:	8b c3                	mov    %ebx,%eax
562257:	2b c1                	sub    %ecx,%eax
562259:	0f b6 80 c0 2c 6b 00 	movzbl 0x6b2cc0(%eax),%eax
562260:	66 03 c2             	add    %dx,%ax
562263:	eb 26                	jmp    0x56228b
562265:	0f bf d1             	movswl %cx,%edx
562268:	8d 43 31             	lea    0x31(%ebx),%eax
56226b:	3b d0                	cmp    %eax,%edx
56226d:	7e 04                	jle    0x562273
56226f:	8b c1                	mov    %ecx,%eax
562271:	eb 1b                	jmp    0x56228e
562273:	8d 43 1f             	lea    0x1f(%ebx),%eax
562276:	3b d0                	cmp    %eax,%edx
562278:	7e 05                	jle    0x56227f
56227a:	8d 41 01             	lea    0x1(%ecx),%eax
56227d:	eb 0c                	jmp    0x56228b
56227f:	2b d3                	sub    %ebx,%edx
562281:	0f b6 82 c0 2c 6b 00 	movzbl 0x6b2cc0(%edx),%eax
562288:	66 03 c1             	add    %cx,%ax
56228b:	0f b7 c0             	movzwl %ax,%eax
56228e:	56                   	push   %esi
56228f:	8b b5 9c fd ff ff    	mov    -0x264(%ebp),%esi
562295:	50                   	push   %eax
562296:	8b 46 fc             	mov    -0x4(%esi),%eax
562299:	0b 85 58 fd ff ff    	or     -0x2a8(%ebp),%eax
56229f:	8b 4e f8             	mov    -0x8(%esi),%ecx
5622a2:	0b 8d 5c fd ff ff    	or     -0x2a4(%ebp),%ecx
5622a8:	50                   	push   %eax
5622a9:	51                   	push   %ecx
5622aa:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5622ad:	50                   	push   %eax
5622ae:	e8 bd 0f 00 00       	call   0x563270
5622b3:	8b 8d 78 fd ff ff    	mov    -0x288(%ebp),%ecx
5622b9:	83 c6 10             	add    $0x10,%esi
5622bc:	0f b7 45 8c          	movzwl -0x74(%ebp),%eax
5622c0:	41                   	inc    %ecx
5622c1:	8b 95 80 fd ff ff    	mov    -0x280(%ebp),%edx
5622c7:	83 c4 14             	add    $0x14,%esp
5622ca:	89 8d 78 fd ff ff    	mov    %ecx,-0x288(%ebp)
5622d0:	89 b5 9c fd ff ff    	mov    %esi,-0x264(%ebp)
5622d6:	3b c8                	cmp    %eax,%ecx
5622d8:	0f 8c e2 fe ff ff    	jl     0x5621c0
5622de:	8b 8d 84 fd ff ff    	mov    -0x27c(%ebp),%ecx
5622e4:	8b 95 74 fd ff ff    	mov    -0x28c(%ebp),%edx
5622ea:	83 c1 10             	add    $0x10,%ecx
5622ed:	83 ea 01             	sub    $0x1,%edx
5622f0:	89 8d 84 fd ff ff    	mov    %ecx,-0x27c(%ebp)
5622f6:	89 95 74 fd ff ff    	mov    %edx,-0x28c(%ebp)
5622fc:	0f 85 7e fe ff ff    	jne    0x562180
562302:	8b bd 70 fd ff ff    	mov    -0x290(%ebp),%edi
562308:	66 8b 5d c4          	mov    -0x3c(%ebp),%bx
56230c:	89 9d 9c fd ff ff    	mov    %ebx,-0x264(%ebp)
562312:	8b 75 10             	mov    0x10(%ebp),%esi
562315:	8b 85 8c fd ff ff    	mov    -0x274(%ebp),%eax
56231b:	83 c7 30             	add    $0x30,%edi
56231e:	89 bd 70 fd ff ff    	mov    %edi,-0x290(%ebp)
562324:	3b f8                	cmp    %eax,%edi
562326:	0f 82 04 fd ff ff    	jb     0x562030
56232c:	eb 0c                	jmp    0x56233a
56232e:	33 db                	xor    %ebx,%ebx
562330:	89 9d 9c fd ff ff    	mov    %ebx,-0x264(%ebp)
562336:	66 89 5d c4          	mov    %bx,-0x3c(%ebp)
56233a:	8b 8d 88 fd ff ff    	mov    -0x278(%ebp),%ecx
562340:	b8 01 00 00 00       	mov    $0x1,%eax
562345:	8b 95 94 fd ff ff    	mov    -0x26c(%ebp),%edx
56234b:	0f 57 c0             	xorps  %xmm0,%xmm0
56234e:	33 ff                	xor    %edi,%edi
562350:	66 89 41 28          	mov    %ax,0x28(%ecx)
562354:	8b 41 30             	mov    0x30(%ecx),%eax
562357:	89 10                	mov    %edx,(%eax)
562359:	33 c0                	xor    %eax,%eax
56235b:	66 89 41 12          	mov    %ax,0x12(%ecx)
56235f:	88 41 11             	mov    %al,0x11(%ecx)
562362:	c7 41 24 00 20 00 00 	movl   $0x2000,0x24(%ecx)
562369:	66 0f d6 41 18       	movq   %xmm0,0x18(%ecx)
56236e:	89 41 20             	mov    %eax,0x20(%ecx)
562371:	8b 85 98 fd ff ff    	mov    -0x268(%ebp),%eax
562377:	85 c0                	test   %eax,%eax
562379:	75 68                	jne    0x5623e3
56237b:	0f b7 c3             	movzwl %bx,%eax
56237e:	8d 75 d6             	lea    -0x2a(%ebp),%esi
562381:	89 85 80 fd ff ff    	mov    %eax,-0x280(%ebp)
562387:	8b d8                	mov    %eax,%ebx
562389:	8b 85 98 fd ff ff    	mov    -0x268(%ebp),%eax
56238f:	90                   	nop
562390:	3b fb                	cmp    %ebx,%edi
562392:	7d 39                	jge    0x5623cd
562394:	0f b7 46 fe          	movzwl -0x2(%esi),%eax
562398:	66 40                	inc    %ax
56239a:	66 89 41 14          	mov    %ax,0x14(%ecx)
56239e:	0f b7 06             	movzwl (%esi),%eax
5623a1:	66 89 41 16          	mov    %ax,0x16(%ecx)
5623a5:	8b 46 f6             	mov    -0xa(%esi),%eax
5623a8:	51                   	push   %ecx
5623a9:	ff b5 6c fd ff ff    	push   -0x294(%ebp)
5623af:	89 01                	mov    %eax,(%ecx)
5623b1:	8b 46 fa             	mov    -0x6(%esi),%eax
5623b4:	89 41 04             	mov    %eax,0x4(%ecx)
5623b7:	e8 b4 0a 00 00       	call   0x562e70
5623bc:	8b 8d 88 fd ff ff    	mov    -0x278(%ebp),%ecx
5623c2:	83 c4 08             	add    $0x8,%esp
5623c5:	47                   	inc    %edi
5623c6:	83 c6 10             	add    $0x10,%esi
5623c9:	85 c0                	test   %eax,%eax
5623cb:	74 c3                	je     0x562390
5623cd:	8b bd 88 fd ff ff    	mov    -0x278(%ebp),%edi
5623d3:	89 85 98 fd ff ff    	mov    %eax,-0x268(%ebp)
5623d9:	eb 0a                	jmp    0x5623e5
5623db:	8b 85 98 fd ff ff    	mov    -0x268(%ebp),%eax
5623e1:	eb 05                	jmp    0x5623e8
5623e3:	8b f9                	mov    %ecx,%edi
5623e5:	8b 75 10             	mov    0x10(%ebp),%esi
5623e8:	8b 8d 94 fd ff ff    	mov    -0x26c(%ebp),%ecx
5623ee:	8b 95 90 fd ff ff    	mov    -0x270(%ebp),%edx
5623f4:	83 c1 30             	add    $0x30,%ecx
5623f7:	89 8d 94 fd ff ff    	mov    %ecx,-0x26c(%ebp)
5623fd:	3b ca                	cmp    %edx,%ecx
5623ff:	0f 82 7b fb ff ff    	jb     0x561f80
562405:	5f                   	pop    %edi
562406:	5e                   	pop    %esi
562407:	5b                   	pop    %ebx
562408:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56240b:	33 cd                	xor    %ebp,%ecx
56240d:	e8 c8 f0 07 00       	call   0x5e14da
562412:	8b e5                	mov    %ebp,%esp
562414:	5d                   	pop    %ebp
562415:	c3                   	ret
562416:	8b c6                	mov    %esi,%eax
562418:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56241b:	5f                   	pop    %edi
56241c:	5e                   	pop    %esi
56241d:	33 cd                	xor    %ebp,%ecx
56241f:	5b                   	pop    %ebx
562420:	e8 b5 f0 07 00       	call   0x5e14da
562425:	8b e5                	mov    %ebp,%esp
562427:	5d                   	pop    %ebp
562428:	c3                   	ret
562429:	cc                   	int3
56242a:	cc                   	int3
56242b:	cc                   	int3
56242c:	cc                   	int3
56242d:	cc                   	int3
56242e:	cc                   	int3
56242f:	cc                   	int3
562430:	55                   	push   %ebp
562431:	8b ec                	mov    %esp,%ebp
562433:	83 ec 58             	sub    $0x58,%esp
562436:	53                   	push   %ebx
562437:	8b 5d 08             	mov    0x8(%ebp),%ebx
56243a:	56                   	push   %esi
56243b:	57                   	push   %edi
56243c:	8b 73 0c             	mov    0xc(%ebx),%esi
56243f:	8b 43 04             	mov    0x4(%ebx),%eax
562442:	8b 13                	mov    (%ebx),%edx
562444:	89 45 ec             	mov    %eax,-0x14(%ebp)
562447:	0f b6 46 10          	movzbl 0x10(%esi),%eax
56244b:	89 75 ac             	mov    %esi,-0x54(%ebp)
56244e:	8b 3a                	mov    (%edx),%edi
562450:	89 7d a8             	mov    %edi,-0x58(%ebp)
562453:	8d 0c c0             	lea    (%eax,%eax,8),%ecx
562456:	8b 42 04             	mov    0x4(%edx),%eax
562459:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
56245c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
56245f:	83 c0 08             	add    $0x8,%eax
562462:	51                   	push   %ecx
562463:	ff 73 08             	push   0x8(%ebx)
562466:	50                   	push   %eax
562467:	ff 75 18             	push   0x18(%ebp)
56246a:	ff 75 14             	push   0x14(%ebp)
56246d:	ff 75 ec             	push   -0x14(%ebp)
562470:	57                   	push   %edi
562471:	e8 da 05 f9 ff       	call   0x4f2a50
562476:	8b d8                	mov    %eax,%ebx
562478:	83 c4 1c             	add    $0x1c,%esp
56247b:	89 5d b8             	mov    %ebx,-0x48(%ebp)
56247e:	85 db                	test   %ebx,%ebx
562480:	74 34                	je     0x5624b6
562482:	33 c0                	xor    %eax,%eax
562484:	c7 46 24 00 04 00 00 	movl   $0x400,0x24(%esi)
56248b:	66 89 46 12          	mov    %ax,0x12(%esi)
56248f:	66 89 46 28          	mov    %ax,0x28(%esi)
562493:	88 46 1c             	mov    %al,0x1c(%esi)
562496:	8b 03                	mov    (%ebx),%eax
562498:	50                   	push   %eax
562499:	56                   	push   %esi
56249a:	ff 37                	push   (%edi)
56249c:	89 45 c4             	mov    %eax,-0x3c(%ebp)