56b1e0:	0f 44 c7             	cmove  %edi,%eax
56b1e3:	8b f8                	mov    %eax,%edi
56b1e5:	e8 76 e4 fe ff       	call   0x559660
56b1ea:	8b f0                	mov    %eax,%esi
56b1ec:	85 f6                	test   %esi,%esi
56b1ee:	75 1b                	jne    0x56b20b
56b1f0:	5f                   	pop    %edi
56b1f1:	5e                   	pop    %esi
56b1f2:	83 c8 ff             	or     $0xffffffff,%eax
56b1f5:	5b                   	pop    %ebx
56b1f6:	8b 8c 24 04 02 00 00 	mov    0x204(%esp),%ecx
56b1fd:	33 cc                	xor    %esp,%ecx
56b1ff:	e8 22 68 06 00       	call   0x5d1a26
56b204:	81 c4 08 02 00 00    	add    $0x208,%esp
56b20a:	c3                   	ret
56b20b:	55                   	push   %ebp
56b20c:	8b ac 24 24 02 00 00 	mov    0x224(%esp),%ebp
56b213:	b8 ff 01 00 00       	mov    $0x1ff,%eax
56b218:	81 fd 00 02 00 00    	cmp    $0x200,%ebp
56b21e:	0f 4d e8             	cmovge %eax,%ebp
56b221:	55                   	push   %ebp
56b222:	ff b4 24 24 02 00 00 	push   0x224(%esp)
56b229:	ff 74 24 18          	push   0x18(%esp)
56b22d:	6a 00                	push   $0x0
56b22f:	57                   	push   %edi
56b230:	56                   	push   %esi
56b231:	e8 da de fe ff       	call   0x559110
56b236:	83 c4 18             	add    $0x18,%esp
56b239:	85 c0                	test   %eax,%eax
56b23b:	78 45                	js     0x56b282
56b23d:	83 bc 24 2c 02 00 00 	cmpl   $0x0,0x22c(%esp)
56b244:	00
56b245:	74 21                	je     0x56b268
56b247:	ff 74 24 10          	push   0x10(%esp)
56b24b:	8d 44 24 18          	lea    0x18(%esp),%eax
56b24f:	55                   	push   %ebp
56b250:	ff b4 24 28 02 00 00 	push   0x228(%esp)
56b257:	50                   	push   %eax
56b258:	6a 00                	push   $0x0
56b25a:	57                   	push   %edi
56b25b:	56                   	push   %esi
56b25c:	e8 7f e0 fe ff       	call   0x5592e0
56b261:	83 c4 1c             	add    $0x1c,%esp
56b264:	85 c0                	test   %eax,%eax
56b266:	78 1a                	js     0x56b282
56b268:	56                   	push   %esi
56b269:	e8 92 e4 fe ff       	call   0x559700
56b26e:	8b d8                	mov    %eax,%ebx
56b270:	8d 44 24 18          	lea    0x18(%esp),%eax
56b274:	68 00 02 00 00       	push   $0x200
56b279:	50                   	push   %eax
56b27a:	e8 61 67 e9 ff       	call   0x4019e0
56b27f:	83 c4 0c             	add    $0xc,%esp
56b282:	56                   	push   %esi
56b283:	e8 38 e3 fe ff       	call   0x5595c0
56b288:	8b 8c 24 18 02 00 00 	mov    0x218(%esp),%ecx
56b28f:	83 c4 04             	add    $0x4,%esp
56b292:	8b c3                	mov    %ebx,%eax
56b294:	5d                   	pop    %ebp
56b295:	5f                   	pop    %edi
56b296:	5e                   	pop    %esi
56b297:	5b                   	pop    %ebx
56b298:	33 cc                	xor    %esp,%ecx
56b29a:	e8 87 67 06 00       	call   0x5d1a26
56b29f:	81 c4 08 02 00 00    	add    $0x208,%esp
56b2a5:	c3                   	ret
56b2a6:	cc                   	int3
56b2a7:	cc                   	int3
56b2a8:	cc                   	int3
56b2a9:	cc                   	int3
56b2aa:	cc                   	int3
56b2ab:	cc                   	int3
56b2ac:	cc                   	int3
56b2ad:	cc                   	int3
56b2ae:	cc                   	int3
56b2af:	cc                   	int3
56b2b0:	ff 74 24 0c          	push   0xc(%esp)
56b2b4:	ff 74 24 0c          	push   0xc(%esp)
56b2b8:	ff 74 24 0c          	push   0xc(%esp)
56b2bc:	6a 00                	push   $0x0
56b2be:	e8 8d 04 00 00       	call   0x56b750
56b2c3:	83 c4 10             	add    $0x10,%esp
56b2c6:	c3                   	ret
56b2c7:	cc                   	int3
56b2c8:	cc                   	int3
56b2c9:	cc                   	int3
56b2ca:	cc                   	int3
56b2cb:	cc                   	int3
56b2cc:	cc                   	int3
56b2cd:	cc                   	int3
56b2ce:	cc                   	int3
56b2cf:	cc                   	int3
56b2d0:	56                   	push   %esi
56b2d1:	8b 74 24 08          	mov    0x8(%esp),%esi
56b2d5:	57                   	push   %edi
56b2d6:	8b 7c 24 14          	mov    0x14(%esp),%edi
56b2da:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
56b2e0:	8b 06                	mov    (%esi),%eax
56b2e2:	85 c0                	test   %eax,%eax
56b2e4:	74 24                	je     0x56b30a
56b2e6:	50                   	push   %eax
56b2e7:	8d 46 08             	lea    0x8(%esi),%eax
56b2ea:	50                   	push   %eax
56b2eb:	ff 74 24 18          	push   0x18(%esp)
56b2ef:	56                   	push   %esi
56b2f0:	e8 5b 04 00 00       	call   0x56b750
56b2f5:	83 c4 10             	add    $0x10,%esp
56b2f8:	85 c0                	test   %eax,%eax
56b2fa:	79 06                	jns    0x56b302
56b2fc:	5f                   	pop    %edi
56b2fd:	83 c8 ff             	or     $0xffffffff,%eax
56b300:	5e                   	pop    %esi
56b301:	c3                   	ret
56b302:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
56b308:	89 07                	mov    %eax,(%edi)
56b30a:	5f                   	pop    %edi
56b30b:	b8 01 00 00 00       	mov    $0x1,%eax
56b310:	5e                   	pop    %esi
56b311:	c3                   	ret
56b312:	cc                   	int3
56b313:	cc                   	int3
56b314:	cc                   	int3
56b315:	cc                   	int3
56b316:	cc                   	int3
56b317:	cc                   	int3
56b318:	cc                   	int3
56b319:	cc                   	int3
56b31a:	cc                   	int3
56b31b:	cc                   	int3
56b31c:	cc                   	int3
56b31d:	cc                   	int3
56b31e:	cc                   	int3
56b31f:	cc                   	int3
56b320:	8b 44 24 04          	mov    0x4(%esp),%eax
56b324:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
56b32a:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
56b331:	c7 40 58 00 00 00 00 	movl   $0x0,0x58(%eax)
56b338:	c7 40 5c 00 00 00 00 	movl   $0x0,0x5c(%eax)
56b33f:	c3                   	ret
56b340:	b8 14 00 00 00       	mov    $0x14,%eax
56b345:	e8 66 64 06 00       	call   0x5d17b0
56b34a:	8b 44 24 18          	mov    0x18(%esp),%eax
56b34e:	53                   	push   %ebx
56b34f:	56                   	push   %esi
56b350:	57                   	push   %edi
56b351:	8b 10                	mov    (%eax),%edx
56b353:	33 ff                	xor    %edi,%edi
56b355:	89 7c 24 18          	mov    %edi,0x18(%esp)
56b359:	33 f6                	xor    %esi,%esi
56b35b:	33 db                	xor    %ebx,%ebx
56b35d:	8d 78 08             	lea    0x8(%eax),%edi
56b360:	89 7c 24 10          	mov    %edi,0x10(%esp)
56b364:	85 d2                	test   %edx,%edx
56b366:	7e 1b                	jle    0x56b383
56b368:	80 7c 17 ff 3d       	cmpb   $0x3d,-0x1(%edi,%edx,1)
56b36d:	75 14                	jne    0x56b383
56b36f:	8d 73 01             	lea    0x1(%ebx),%esi
56b372:	3b d6                	cmp    %esi,%edx
56b374:	7e 0d                	jle    0x56b383
56b376:	80 7c 17 fe 3d       	cmpb   $0x3d,-0x2(%edi,%edx,1)
56b37b:	b9 02 00 00 00       	mov    $0x2,%ecx
56b380:	0f 44 f1             	cmove  %ecx,%esi
56b383:	8b 4c 24 34          	mov    0x34(%esp),%ecx
56b387:	85 c9                	test   %ecx,%ecx
56b389:	75 15                	jne    0x56b3a0
56b38b:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
56b38f:	33 c0                	xor    %eax,%eax
56b391:	5f                   	pop    %edi
56b392:	5e                   	pop    %esi
56b393:	89 19                	mov    %ebx,(%ecx)
56b395:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
56b399:	5b                   	pop    %ebx
56b39a:	89 11                	mov    %edx,(%ecx)
56b39c:	83 c4 14             	add    $0x14,%esp
56b39f:	c3                   	ret
56b3a0:	f6 40 5c 02          	testb  $0x2,0x5c(%eax)
56b3a4:	55                   	push   %ebp
56b3a5:	c7 44 24 18 08 88 65 	movl   $0x658808,0x18(%esp)
56b3ac:	00
56b3ad:	bd 88 87 65 00       	mov    $0x658788,%ebp
56b3b2:	0f 45 6c 24 18       	cmovne 0x18(%esp),%ebp
56b3b7:	89 6c 24 20          	mov    %ebp,0x20(%esp)
56b3bb:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
56b3bf:	89 5c 24 18          	mov    %ebx,0x18(%esp)
56b3c3:	85 c9                	test   %ecx,%ecx
56b3c5:	0f 8e 2f 01 00 00    	jle    0x56b4fa
56b3cb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
56b3d0:	8b 4c 24 34          	mov    0x34(%esp),%ecx
56b3d4:	8a 21                	mov    (%ecx),%ah
56b3d6:	41                   	inc    %ecx
56b3d7:	88 64 24 13          	mov    %ah,0x13(%esp)
56b3db:	0f b6 fc             	movzbl %ah,%edi
56b3de:	89 4c 24 34          	mov    %ecx,0x34(%esp)
56b3e2:	84 e4                	test   %ah,%ah
56b3e4:	79 04                	jns    0x56b3ea
56b3e6:	0c ff                	or     $0xff,%al
56b3e8:	eb 07                	jmp    0x56b3f1
56b3ea:	8b 4c 24 20          	mov    0x20(%esp),%ecx
56b3ee:	8a 04 0f             	mov    (%edi,%ecx,1),%al
56b3f1:	0f b6 c8             	movzbl %al,%ecx
56b3f4:	81 f9 ff 00 00 00    	cmp    $0xff,%ecx
56b3fa:	0f 84 02 01 00 00    	je     0x56b502
56b400:	83 ff 3d             	cmp    $0x3d,%edi
56b403:	75 03                	jne    0x56b408
56b405:	46                   	inc    %esi
56b406:	eb 18                	jmp    0x56b420
56b408:	85 f6                	test   %esi,%esi
56b40a:	7e 14                	jle    0x56b420
56b40c:	8b c1                	mov    %ecx,%eax
56b40e:	83 c8 13             	or     $0x13,%eax
56b411:	3d f3 00 00 00       	cmp    $0xf3,%eax
56b416:	0f 85 e6 00 00 00    	jne    0x56b502
56b41c:	8a 64 24 13          	mov    0x13(%esp),%ah
56b420:	83 fe 02             	cmp    $0x2,%esi
56b423:	0f 8f d9 00 00 00    	jg     0x56b502
56b429:	81 f9 f2 00 00 00    	cmp    $0xf2,%ecx
56b42f:	0f 84 b6 00 00 00    	je     0x56b4eb
56b435:	83 c9 13             	or     $0x13,%ecx
56b438:	81 f9 f3 00 00 00    	cmp    $0xf3,%ecx
56b43e:	74 13                	je     0x56b453
56b440:	83 fa 40             	cmp    $0x40,%edx
56b443:	0f 8d b9 00 00 00    	jge    0x56b502
56b449:	8b 7c 24 14          	mov    0x14(%esp),%edi
56b44d:	88 24 17             	mov    %ah,(%edi,%edx,1)
56b450:	42                   	inc    %edx
56b451:	eb 04                	jmp    0x56b457
56b453:	8b 7c 24 14          	mov    0x14(%esp),%edi
56b457:	83 fa 40             	cmp    $0x40,%edx
56b45a:	75 27                	jne    0x56b483
56b45c:	52                   	push   %edx
56b45d:	57                   	push   %edi
56b45e:	55                   	push   %ebp
56b45f:	ff 74 24 34          	push   0x34(%esp)
56b463:	e8 e8 02 00 00       	call   0x56b750
56b468:	83 c4 10             	add    $0x10,%esp
56b46b:	33 d2                	xor    %edx,%edx
56b46d:	85 c0                	test   %eax,%eax
56b46f:	0f 88 8d 00 00 00    	js     0x56b502
56b475:	3b f0                	cmp    %eax,%esi
56b477:	0f 8f 85 00 00 00    	jg     0x56b502
56b47d:	2b c6                	sub    %esi,%eax
56b47f:	03 d8                	add    %eax,%ebx
56b481:	03 e8                	add    %eax,%ebp
56b483:	8b 4c 24 18          	mov    0x18(%esp),%ecx
56b487:	41                   	inc    %ecx
56b488:	89 4c 24 18          	mov    %ecx,0x18(%esp)
56b48c:	3b 4c 24 38          	cmp    0x38(%esp),%ecx
56b490:	0f 8c 3a ff ff ff    	jl     0x56b3d0
56b496:	33 c9                	xor    %ecx,%ecx
56b498:	8b 44 24 28          	mov    0x28(%esp),%eax
56b49c:	85 d2                	test   %edx,%edx
56b49e:	7e 1f                	jle    0x56b4bf
56b4a0:	f6 c2 03             	test   $0x3,%dl
56b4a3:	75 59                	jne    0x56b4fe
56b4a5:	52                   	push   %edx
56b4a6:	57                   	push   %edi
56b4a7:	55                   	push   %ebp
56b4a8:	50                   	push   %eax
56b4a9:	e8 a2 02 00 00       	call   0x56b750
56b4ae:	83 c4 10             	add    $0x10,%esp
56b4b1:	33 d2                	xor    %edx,%edx
56b4b3:	85 c0                	test   %eax,%eax
56b4b5:	78 4b                	js     0x56b502
56b4b7:	3b f0                	cmp    %eax,%esi
56b4b9:	7f 47                	jg     0x56b502
56b4bb:	2b c6                	sub    %esi,%eax
56b4bd:	03 d8                	add    %eax,%ebx
56b4bf:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
56b4c4:	8b c2                	mov    %edx,%eax
56b4c6:	8b cb                	mov    %ebx,%ecx
56b4c8:	75 4f                	jne    0x56b519
56b4ca:	85 c0                	test   %eax,%eax
56b4cc:	75 04                	jne    0x56b4d2
56b4ce:	85 f6                	test   %esi,%esi
56b4d0:	75 47                	jne    0x56b519
56b4d2:	8b 4c 24 30          	mov    0x30(%esp),%ecx
56b4d6:	b8 01 00 00 00       	mov    $0x1,%eax
56b4db:	5d                   	pop    %ebp
56b4dc:	5f                   	pop    %edi
56b4dd:	5e                   	pop    %esi
56b4de:	89 19                	mov    %ebx,(%ecx)
56b4e0:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
56b4e4:	5b                   	pop    %ebx
56b4e5:	89 11                	mov    %edx,(%ecx)
56b4e7:	83 c4 14             	add    $0x14,%esp
56b4ea:	c3                   	ret
56b4eb:	8b 7c 24 14          	mov    0x14(%esp),%edi
56b4ef:	b9 01 00 00 00       	mov    $0x1,%ecx
56b4f4:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
56b4f8:	eb 9e                	jmp    0x56b498
56b4fa:	33 c9                	xor    %ecx,%ecx
56b4fc:	eb 9e                	jmp    0x56b49c
56b4fe:	85 c9                	test   %ecx,%ecx
56b500:	74 d0                	je     0x56b4d2
56b502:	8b 4c 24 30          	mov    0x30(%esp),%ecx
56b506:	83 c8 ff             	or     $0xffffffff,%eax
56b509:	5d                   	pop    %ebp
56b50a:	5f                   	pop    %edi
56b50b:	5e                   	pop    %esi
56b50c:	89 19                	mov    %ebx,(%ecx)
56b50e:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
56b512:	5b                   	pop    %ebx
56b513:	89 11                	mov    %edx,(%ecx)
56b515:	83 c4 14             	add    $0x14,%esp
56b518:	c3                   	ret
56b519:	33 c0                	xor    %eax,%eax
56b51b:	5d                   	pop    %ebp
56b51c:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
56b520:	5f                   	pop    %edi
56b521:	5e                   	pop    %esi
56b522:	89 19                	mov    %ebx,(%ecx)
56b524:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
56b528:	5b                   	pop    %ebx
56b529:	89 11                	mov    %edx,(%ecx)
56b52b:	83 c4 14             	add    $0x14,%esp
56b52e:	c3                   	ret
56b52f:	cc                   	int3
56b530:	68 86 00 00 00       	push   $0x86
56b535:	68 88 88 65 00       	push   $0x658888
56b53a:	ff 74 24 0c          	push   0xc(%esp)
56b53e:	e8 3d 52 f7 ff       	call   0x4e0780
56b543:	83 c4 0c             	add    $0xc,%esp
56b546:	c3                   	ret
56b547:	cc                   	int3
56b548:	cc                   	int3
56b549:	cc                   	int3
56b54a:	cc                   	int3
56b54b:	cc                   	int3
56b54c:	cc                   	int3
56b54d:	cc                   	int3
56b54e:	cc                   	int3
56b54f:	cc                   	int3
56b550:	68 81 00 00 00       	push   $0x81
56b555:	68 88 88 65 00       	push   $0x658888
56b55a:	6a 60                	push   $0x60
56b55c:	e8 df 54 f7 ff       	call   0x4e0a40
56b561:	83 c4 0c             	add    $0xc,%esp
56b564:	c3                   	ret
56b565:	cc                   	int3
56b566:	cc                   	int3
56b567:	cc                   	int3
56b568:	cc                   	int3
56b569:	cc                   	int3
56b56a:	cc                   	int3
56b56b:	cc                   	int3
56b56c:	cc                   	int3
56b56d:	cc                   	int3
56b56e:	cc                   	int3
56b56f:	cc                   	int3
56b570:	ff 74 24 0c          	push   0xc(%esp)