53b191:	55                   	push   %ebp
53b192:	53                   	push   %ebx
53b193:	53                   	push   %ebx
53b194:	56                   	push   %esi
53b195:	e8 86 31 fd ff       	call   0x50e320
53b19a:	83 c4 10             	add    $0x10,%esp
53b19d:	85 c0                	test   %eax,%eax
53b19f:	0f 84 98 00 00 00    	je     0x53b23d
53b1a5:	8b 44 24 18          	mov    0x18(%esp),%eax
53b1a9:	8b 4c 24 20          	mov    0x20(%esp),%ecx
53b1ad:	33 44 24 1c          	xor    0x1c(%esp),%eax
53b1b1:	83 e9 01             	sub    $0x1,%ecx
53b1b4:	89 44 24 18          	mov    %eax,0x18(%esp)
53b1b8:	89 4c 24 20          	mov    %ecx,0x20(%esp)
53b1bc:	0f 89 41 ff ff ff    	jns    0x53b103
53b1c2:	ff 74 24 38          	push   0x38(%esp)
53b1c6:	ff 77 08             	push   0x8(%edi)
53b1c9:	ff 73 08             	push   0x8(%ebx)
53b1cc:	50                   	push   %eax
53b1cd:	e8 de e7 f9 ff       	call   0x4d99b0
53b1d2:	ff 74 24 48          	push   0x48(%esp)
53b1d6:	ff 77 0c             	push   0xc(%edi)
53b1d9:	ff 73 0c             	push   0xc(%ebx)
53b1dc:	ff 74 24 34          	push   0x34(%esp)
53b1e0:	e8 cb e7 f9 ff       	call   0x4d99b0
53b1e5:	ff 74 24 58          	push   0x58(%esp)
53b1e9:	ff 77 10             	push   0x10(%edi)
53b1ec:	ff 73 10             	push   0x10(%ebx)
53b1ef:	ff 74 24 44          	push   0x44(%esp)
53b1f3:	e8 b8 e7 f9 ff       	call   0x4d99b0
53b1f8:	8b 4b 14             	mov    0x14(%ebx),%ecx
53b1fb:	83 c4 30             	add    $0x30,%esp
53b1fe:	8b 47 14             	mov    0x14(%edi),%eax
53b201:	33 c1                	xor    %ecx,%eax
53b203:	23 44 24 18          	and    0x18(%esp),%eax
53b207:	33 c8                	xor    %eax,%ecx
53b209:	89 4b 14             	mov    %ecx,0x14(%ebx)
53b20c:	31 47 14             	xor    %eax,0x14(%edi)
53b20f:	8b 06                	mov    (%esi),%eax
53b211:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
53b217:	85 c0                	test   %eax,%eax
53b219:	74 33                	je     0x53b24e
53b21b:	55                   	push   %ebp
53b21c:	ff 74 24 18          	push   0x18(%esp)
53b220:	57                   	push   %edi
53b221:	53                   	push   %ebx
53b222:	56                   	push   %esi
53b223:	ff d0                	call   *%eax
53b225:	83 c4 14             	add    $0x14,%esp
53b228:	85 c0                	test   %eax,%eax
53b22a:	75 22                	jne    0x53b24e
53b22c:	68 6e 01 00 00       	push   $0x16e
53b231:	68 50 a2 64 00       	push   $0x64a250
53b236:	68 88 00 00 00       	push   $0x88
53b23b:	eb 43                	jmp    0x53b280
53b23d:	68 5f 01 00 00       	push   $0x15f
53b242:	68 50 a2 64 00       	push   $0x64a250
53b247:	68 a2 00 00 00       	push   $0xa2
53b24c:	eb 32                	jmp    0x53b280
53b24e:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
53b255:	00
53b256:	eb 37                	jmp    0x53b28f
53b258:	68 03 01 00 00       	push   $0x103
53b25d:	68 50 a2 64 00       	push   $0x64a250
53b262:	6a 03                	push   $0x3
53b264:	eb 1a                	jmp    0x53b280
53b266:	68 d3 00 00 00       	push   $0xd3
53b26b:	68 50 a2 64 00       	push   $0x64a250
53b270:	6a 03                	push   $0x3
53b272:	eb 0c                	jmp    0x53b280
53b274:	68 a8 00 00 00       	push   $0xa8
53b279:	68 50 a2 64 00       	push   $0x64a250
53b27e:	6a 41                	push   $0x41
53b280:	68 1c 01 00 00       	push   $0x11c
53b285:	6a 10                	push   $0x10
53b287:	e8 f4 dc f9 ff       	call   0x4d8f80
53b28c:	83 c4 14             	add    $0x14,%esp
53b28f:	ff 74 24 14          	push   0x14(%esp)
53b293:	e8 18 31 fd ff       	call   0x50e3b0
53b298:	57                   	push   %edi
53b299:	e8 32 2f fd ff       	call   0x50e1d0
53b29e:	55                   	push   %ebp
53b29f:	e8 2c c8 fa ff       	call   0x4e7ad0
53b2a4:	8b 44 24 30          	mov    0x30(%esp),%eax
53b2a8:	83 c4 0c             	add    $0xc,%esp
53b2ab:	5d                   	pop    %ebp
53b2ac:	5f                   	pop    %edi
53b2ad:	5e                   	pop    %esi
53b2ae:	5b                   	pop    %ebx
53b2af:	83 c4 18             	add    $0x18,%esp
53b2b2:	c3                   	ret
53b2b3:	cc                   	int3
53b2b4:	cc                   	int3
53b2b5:	cc                   	int3
53b2b6:	cc                   	int3
53b2b7:	cc                   	int3
53b2b8:	cc                   	int3
53b2b9:	cc                   	int3
53b2ba:	cc                   	int3
53b2bb:	cc                   	int3
53b2bc:	cc                   	int3
53b2bd:	cc                   	int3
53b2be:	cc                   	int3
53b2bf:	cc                   	int3
53b2c0:	b8 4c 00 00 00       	mov    $0x4c,%eax
53b2c5:	e8 e6 64 09 00       	call   0x5d17b0
53b2ca:	53                   	push   %ebx
53b2cb:	8b 5c 24 54          	mov    0x54(%esp),%ebx
53b2cf:	33 c0                	xor    %eax,%eax
53b2d1:	55                   	push   %ebp
53b2d2:	56                   	push   %esi
53b2d3:	33 f6                	xor    %esi,%esi
53b2d5:	c7 44 24 4c 00 00 00 	movl   $0x0,0x4c(%esp)
53b2dc:	00
53b2dd:	57                   	push   %edi
53b2de:	ff 73 08             	push   0x8(%ebx)
53b2e1:	c7 44 24 48 00 00 00 	movl   $0x0,0x48(%esp)
53b2e8:	00
53b2e9:	33 ed                	xor    %ebp,%ebp
53b2eb:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
53b2f2:	00
53b2f3:	89 74 24 18          	mov    %esi,0x18(%esp)
53b2f7:	89 74 24 4c          	mov    %esi,0x4c(%esp)
53b2fb:	89 74 24 44          	mov    %esi,0x44(%esp)
53b2ff:	89 74 24 1c          	mov    %esi,0x1c(%esp)
53b303:	89 74 24 28          	mov    %esi,0x28(%esp)
53b307:	89 74 24 2c          	mov    %esi,0x2c(%esp)
53b30b:	89 74 24 20          	mov    %esi,0x20(%esp)
53b30f:	89 44 24 34          	mov    %eax,0x34(%esp)
53b313:	89 44 24 38          	mov    %eax,0x38(%esp)
53b317:	89 44 24 58          	mov    %eax,0x58(%esp)
53b31b:	e8 40 ea f9 ff       	call   0x4d9d60
53b320:	8b 7c 24 6c          	mov    0x6c(%esp),%edi
53b324:	83 c4 04             	add    $0x4,%esp
53b327:	85 c0                	test   %eax,%eax
53b329:	75 70                	jne    0x53b39b
53b32b:	ff 73 0c             	push   0xc(%ebx)
53b32e:	e8 2d ea f9 ff       	call   0x4d9d60
53b333:	83 c4 04             	add    $0x4,%esp
53b336:	85 c0                	test   %eax,%eax
53b338:	75 61                	jne    0x53b39b
53b33a:	8b 43 08             	mov    0x8(%ebx),%eax
53b33d:	3b f8                	cmp    %eax,%edi
53b33f:	74 25                	je     0x53b366
53b341:	85 ff                	test   %edi,%edi
53b343:	74 25                	je     0x53b36a
53b345:	39 74 24 6c          	cmp    %esi,0x6c(%esp)
53b349:	75 58                	jne    0x53b3a3
53b34b:	ff 74 24 78          	push   0x78(%esp)
53b34f:	55                   	push   %ebp
53b350:	57                   	push   %edi
53b351:	ff 74 24 70          	push   0x70(%esp)
53b355:	53                   	push   %ebx
53b356:	e8 25 f9 ff ff       	call   0x53ac80
53b35b:	83 c4 14             	add    $0x14,%esp
53b35e:	5f                   	pop    %edi
53b35f:	5e                   	pop    %esi
53b360:	5d                   	pop    %ebp
53b361:	5b                   	pop    %ebx
53b362:	83 c4 4c             	add    $0x4c,%esp
53b365:	c3                   	ret
53b366:	85 ff                	test   %edi,%edi
53b368:	75 39                	jne    0x53b3a3
53b36a:	83 7c 24 6c 01       	cmpl   $0x1,0x6c(%esp)
53b36f:	75 2a                	jne    0x53b39b
53b371:	8b 4c 24 74          	mov    0x74(%esp),%ecx
53b375:	8b 09                	mov    (%ecx),%ecx
53b377:	3b c8                	cmp    %eax,%ecx
53b379:	74 20                	je     0x53b39b
53b37b:	ff 74 24 78          	push   0x78(%esp)
53b37f:	8b 44 24 74          	mov    0x74(%esp),%eax
53b383:	ff 30                	push   (%eax)
53b385:	51                   	push   %ecx
53b386:	ff 74 24 70          	push   0x70(%esp)
53b38a:	53                   	push   %ebx
53b38b:	e8 f0 f8 ff ff       	call   0x53ac80
53b390:	83 c4 14             	add    $0x14,%esp
53b393:	5f                   	pop    %edi
53b394:	5e                   	pop    %esi
53b395:	5d                   	pop    %ebp
53b396:	5b                   	pop    %ebx
53b397:	83 c4 4c             	add    $0x4c,%esp
53b39a:	c3                   	ret
53b39b:	85 ff                	test   %edi,%edi
53b39d:	0f 84 cb 00 00 00    	je     0x53b46e
53b3a3:	53                   	push   %ebx
53b3a4:	e8 27 e2 f9 ff       	call   0x4d95d0
53b3a9:	8b c8                	mov    %eax,%ecx
53b3ab:	83 c4 04             	add    $0x4,%esp
53b3ae:	89 4c 24 50          	mov    %ecx,0x50(%esp)
53b3b2:	85 c9                	test   %ecx,%ecx
53b3b4:	75 20                	jne    0x53b3d6
53b3b6:	68 cf 01 00 00       	push   $0x1cf
53b3bb:	68 50 a2 64 00       	push   $0x64a250
53b3c0:	6a 71                	push   $0x71
53b3c2:	68 bb 00 00 00       	push   $0xbb
53b3c7:	6a 10                	push   $0x10
53b3c9:	e8 b2 db f9 ff       	call   0x4d8f80
53b3ce:	83 c4 14             	add    $0x14,%esp
53b3d1:	e9 53 03 00 00       	jmp    0x53b729
53b3d6:	8b 6b 64             	mov    0x64(%ebx),%ebp
53b3d9:	89 6c 24 30          	mov    %ebp,0x30(%esp)
53b3dd:	85 ed                	test   %ebp,%ebp
53b3df:	74 7a                	je     0x53b45b
53b3e1:	39 75 08             	cmp    %esi,0x8(%ebp)
53b3e4:	74 75                	je     0x53b45b
53b3e6:	8b 45 10             	mov    0x10(%ebp),%eax
53b3e9:	ff 74 24 78          	push   0x78(%esp)
53b3ed:	ff 30                	push   (%eax)
53b3ef:	51                   	push   %ecx
53b3f0:	53                   	push   %ebx
53b3f1:	e8 1a 2e fd ff       	call   0x50e210
53b3f6:	83 c4 10             	add    $0x10,%esp
53b3f9:	85 c0                	test   %eax,%eax
53b3fb:	75 5e                	jne    0x53b45b
53b3fd:	8b 75 04             	mov    0x4(%ebp),%esi
53b400:	57                   	push   %edi
53b401:	89 74 24 30          	mov    %esi,0x30(%esp)
53b405:	e8 16 ea f9 ff       	call   0x4d9e20
53b40a:	33 d2                	xor    %edx,%edx
53b40c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53b40f:	f7 f6                	div    %esi
53b411:	8b 75 08             	mov    0x8(%ebp),%esi
53b414:	49                   	dec    %ecx
53b415:	83 c4 04             	add    $0x4,%esp
53b418:	8d 50 01             	lea    0x1(%eax),%edx
53b41b:	b8 01 00 00 00       	mov    $0x1,%eax
53b420:	d3 e0                	shl    %cl,%eax
53b422:	89 44 24 48          	mov    %eax,0x48(%esp)
53b426:	8b c6                	mov    %esi,%eax
53b428:	0f af 44 24 48       	imul   0x48(%esp),%eax
53b42d:	39 45 14             	cmp    %eax,0x14(%ebp)
53b430:	74 22                	je     0x53b454
53b432:	68 eb 01 00 00       	push   $0x1eb
53b437:	68 50 a2 64 00       	push   $0x64a250
53b43c:	6a 44                	push   $0x44
53b43e:	68 bb 00 00 00       	push   $0xbb
53b443:	6a 10                	push   $0x10
53b445:	e8 36 db f9 ff       	call   0x4d8f80
53b44a:	83 c4 14             	add    $0x14,%esp
53b44d:	33 ed                	xor    %ebp,%ebp
53b44f:	e9 d5 02 00 00       	jmp    0x53b729
53b454:	3b d6                	cmp    %esi,%edx
53b456:	0f 46 f2             	cmovbe %edx,%esi
53b459:	eb 0f                	jmp    0x53b46a
53b45b:	33 c0                	xor    %eax,%eax
53b45d:	be 01 00 00 00       	mov    $0x1,%esi
53b462:	89 44 24 30          	mov    %eax,0x30(%esp)
53b466:	89 74 24 34          	mov    %esi,0x34(%esp)
53b46a:	89 74 24 14          	mov    %esi,0x14(%esp)
53b46e:	8b 44 24 6c          	mov    0x6c(%esp),%eax
53b472:	03 c6                	add    %esi,%eax
53b474:	68 f9 01 00 00       	push   $0x1f9
53b479:	68 50 a2 64 00       	push   $0x64a250
53b47e:	89 44 24 28          	mov    %eax,0x28(%esp)
53b482:	8d 34 85 00 00 00 00 	lea    0x0(,%eax,4),%esi
53b489:	56                   	push   %esi
53b48a:	e8 c1 52 fa ff       	call   0x4e0750
53b48f:	68 fa 01 00 00       	push   $0x1fa
53b494:	68 50 a2 64 00       	push   $0x64a250
53b499:	56                   	push   %esi
53b49a:	89 44 24 30          	mov    %eax,0x30(%esp)
53b49e:	e8 ad 52 fa ff       	call   0x4e0750
53b4a3:	68 fc 01 00 00       	push   $0x1fc
53b4a8:	8d 4e 04             	lea    0x4(%esi),%ecx
53b4ab:	89 44 24 44          	mov    %eax,0x44(%esp)
53b4af:	68 50 a2 64 00       	push   $0x64a250
53b4b4:	51                   	push   %ecx
53b4b5:	e8 96 52 fa ff       	call   0x4e0750
53b4ba:	68 fd 01 00 00       	push   $0x1fd
53b4bf:	8b e8                	mov    %eax,%ebp
53b4c1:	68 50 a2 64 00       	push   $0x64a250
53b4c6:	56                   	push   %esi
53b4c7:	89 6c 24 54          	mov    %ebp,0x54(%esp)
53b4cb:	e8 80 52 fa ff       	call   0x4e0750
53b4d0:	83 c4 30             	add    $0x30,%esp
53b4d3:	89 44 24 10          	mov    %eax,0x10(%esp)
53b4d7:	85 ed                	test   %ebp,%ebp
53b4d9:	74 07                	je     0x53b4e2
53b4db:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
53b4e2:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
53b4e7:	0f 84 48 08 00 00    	je     0x53bd35
53b4ed:	8b 74 24 28          	mov    0x28(%esp),%esi
53b4f1:	85 f6                	test   %esi,%esi
53b4f3:	0f 84 3c 08 00 00    	je     0x53bd35
53b4f9:	85 ed                	test   %ebp,%ebp
53b4fb:	0f 84 34 08 00 00    	je     0x53bd35
53b501:	85 c0                	test   %eax,%eax
53b503:	0f 84 2c 08 00 00    	je     0x53bd35
53b509:	8b 44 24 34          	mov    0x34(%esp),%eax
53b50d:	33 ed                	xor    %ebp,%ebp
53b50f:	8b 54 24 6c          	mov    0x6c(%esp),%edx
53b513:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%esp)
53b51a:	00
53b51b:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
53b51e:	89 4c 24 38          	mov    %ecx,0x38(%esp)
53b522:	85 c9                	test   %ecx,%ecx
53b524:	0f 84 fb 00 00 00    	je     0x53b625
53b52a:	8b 7c 24 18          	mov    0x18(%esp),%edi
53b52e:	8b 4c 24 24          	mov    0x24(%esp),%ecx
53b532:	8b 44 24 74          	mov    0x74(%esp),%eax
53b536:	2b cf                	sub    %edi,%ecx
53b538:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
53b53c:	2b c7                	sub    %edi,%eax
53b53e:	8b ce                	mov    %esi,%ecx
53b540:	89 44 24 74          	mov    %eax,0x74(%esp)
53b544:	2b cf                	sub    %edi,%ecx
53b546:	89 4c 24 58          	mov    %ecx,0x58(%esp)
53b54a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
53b550:	8b 74 24 68          	mov    0x68(%esp),%esi
53b554:	3b ea                	cmp    %edx,%ebp
53b556:	73 05                	jae    0x53b55d
53b558:	8b 04 38             	mov    (%eax,%edi,1),%eax
53b55b:	eb 02                	jmp    0x53b55f
53b55d:	8b c6                	mov    %esi,%eax
53b55f:	50                   	push   %eax
53b560:	e8 bb e8 f9 ff       	call   0x4d9e20
53b565:	83 c4 04             	add    $0x4,%esp
53b568:	3d d0 07 00 00       	cmp    $0x7d0,%eax
53b56d:	72 07                	jb     0x53b576
53b56f:	b9 06 00 00 00       	mov    $0x6,%ecx
53b574:	eb 30                	jmp    0x53b5a6
53b576:	3d 20 03 00 00       	cmp    $0x320,%eax
53b57b:	72 07                	jb     0x53b584
53b57d:	b9 05 00 00 00       	mov    $0x5,%ecx
53b582:	eb 22                	jmp    0x53b5a6
53b584:	3d 2c 01 00 00       	cmp    $0x12c,%eax
53b589:	72 07                	jb     0x53b592
53b58b:	b9 04 00 00 00       	mov    $0x4,%ecx
53b590:	eb 14                	jmp    0x53b5a6
53b592:	83 f8 46             	cmp    $0x46,%eax
53b595:	72 07                	jb     0x53b59e
53b597:	b9 03 00 00 00       	mov    $0x3,%ecx
53b59c:	eb 08                	jmp    0x53b5a6
53b59e:	83 f8 14             	cmp    $0x14,%eax
53b5a1:	1b c9                	sbb    %ecx,%ecx
53b5a3:	83 c1 02             	add    $0x2,%ecx
53b5a6:	89 0f                	mov    %ecx,(%edi)
53b5a8:	b8 01 00 00 00       	mov    $0x1,%eax
53b5ad:	49                   	dec    %ecx
53b5ae:	d3 e0                	shl    %cl,%eax
53b5b0:	01 44 24 3c          	add    %eax,0x3c(%esp)
53b5b4:	8b 44 24 4c          	mov    0x4c(%esp),%eax
53b5b8:	c7 44 38 04 00 00 00 	movl   $0x0,0x4(%eax,%edi,1)
53b5bf:	00
53b5c0:	3b 6c 24 6c          	cmp    0x6c(%esp),%ebp
53b5c4:	73 09                	jae    0x53b5cf
53b5c6:	8b 4c 24 74          	mov    0x74(%esp),%ecx
53b5ca:	8b 04 39             	mov    (%ecx,%edi,1),%eax
53b5cd:	eb 02                	jmp    0x53b5d1