51345a:	e8 01 8f fc ff       	call   0x4dc360
51345f:	83 c4 10             	add    $0x10,%esp
513462:	85 c0                	test   %eax,%eax
513464:	0f 8e d7 00 00 00    	jle    0x513541
51346a:	ff b6 d8 02 00 00    	push   0x2d8(%esi)
513470:	8d ae 20 01 00 00    	lea    0x120(%esi),%ebp
513476:	57                   	push   %edi
513477:	e8 34 cc fd ff       	call   0x4f00b0
51347c:	83 c4 04             	add    $0x4,%esp
51347f:	50                   	push   %eax
513480:	55                   	push   %ebp
513481:	e8 5a 04 fe ff       	call   0x4f38e0
513486:	83 c4 0c             	add    $0xc,%esp
513489:	85 c0                	test   %eax,%eax
51348b:	0f 85 b0 00 00 00    	jne    0x513541
513491:	8b 74 24 24          	mov    0x24(%esp),%esi
513495:	57                   	push   %edi
513496:	83 c6 e8             	add    $0xffffffe8,%esi
513499:	e8 b2 3d fd ff       	call   0x4e7250
51349e:	83 c4 04             	add    $0x4,%esp
5134a1:	56                   	push   %esi
5134a2:	85 c0                	test   %eax,%eax
5134a4:	74 32                	je     0x5134d8
5134a6:	8b 7c 24 20          	mov    0x20(%esp),%edi
5134aa:	8b 44 24 24          	mov    0x24(%esp),%eax
5134ae:	83 c7 08             	add    $0x8,%edi
5134b1:	57                   	push   %edi
5134b2:	83 c0 08             	add    $0x8,%eax
5134b5:	50                   	push   %eax
5134b6:	55                   	push   %ebp
5134b7:	e8 14 0c fe ff       	call   0x4f40d0
5134bc:	83 c4 10             	add    $0x10,%esp
5134bf:	85 c0                	test   %eax,%eax
5134c1:	75 7e                	jne    0x513541
5134c3:	6a 10                	push   $0x10
5134c5:	8d 04 37             	lea    (%edi,%esi,1),%eax
5134c8:	50                   	push   %eax
5134c9:	55                   	push   %ebp
5134ca:	e8 91 16 fe ff       	call   0x4f4b60
5134cf:	8b 5c 24 30          	mov    0x30(%esp),%ebx
5134d3:	83 c4 0c             	add    $0xc,%esp
5134d6:	eb 69                	jmp    0x513541
5134d8:	8b 44 24 20          	mov    0x20(%esp),%eax
5134dc:	83 c0 08             	add    $0x8,%eax
5134df:	50                   	push   %eax
5134e0:	8b 44 24 28          	mov    0x28(%esp),%eax
5134e4:	83 c0 08             	add    $0x8,%eax
5134e7:	50                   	push   %eax
5134e8:	55                   	push   %ebp
5134e9:	e8 02 05 fe ff       	call   0x4f39f0
5134ee:	83 c4 10             	add    $0x10,%esp
5134f1:	85 c0                	test   %eax,%eax
5134f3:	75 4c                	jne    0x513541
5134f5:	6a 10                	push   $0x10
5134f7:	57                   	push   %edi
5134f8:	e8 b3 cb fd ff       	call   0x4f00b0
5134fd:	83 c4 04             	add    $0x4,%esp
513500:	50                   	push   %eax
513501:	55                   	push   %ebp
513502:	e8 59 16 fe ff       	call   0x4f4b60
513507:	8b 44 24 2c          	mov    0x2c(%esp),%eax
51350b:	83 c4 0c             	add    $0xc,%esp
51350e:	83 c0 08             	add    $0x8,%eax
513511:	03 c6                	add    %esi,%eax
513513:	6a 10                	push   $0x10
513515:	50                   	push   %eax
513516:	57                   	push   %edi
513517:	e8 94 cb fd ff       	call   0x4f00b0
51351c:	83 c4 04             	add    $0x4,%esp
51351f:	50                   	push   %eax
513520:	e8 2b e5 ee ff       	call   0x401a50
513525:	83 c4 0c             	add    $0xc,%esp
513528:	85 c0                	test   %eax,%eax
51352a:	74 13                	je     0x51353f
51352c:	8b 44 24 1c          	mov    0x1c(%esp),%eax
513530:	83 c0 08             	add    $0x8,%eax
513533:	56                   	push   %esi
513534:	50                   	push   %eax
513535:	e8 a6 e4 ee ff       	call   0x4019e0
51353a:	83 c4 08             	add    $0x8,%esp
51353d:	eb 02                	jmp    0x513541
51353f:	8b de                	mov    %esi,%ebx
513541:	8b 44 24 10          	mov    0x10(%esp),%eax
513545:	5f                   	pop    %edi
513546:	5e                   	pop    %esi
513547:	5d                   	pop    %ebp
513548:	c7 80 1c 01 00 00 00 	movl   $0x0,0x11c(%eax)
51354f:	00 00 00
513552:	c7 80 d8 02 00 00 ff 	movl   $0xffffffff,0x2d8(%eax)
513559:	ff ff ff
51355c:	8b c3                	mov    %ebx,%eax
51355e:	5b                   	pop    %ebx
51355f:	59                   	pop    %ecx
513560:	c3                   	ret
513561:	5f                   	pop    %edi
513562:	5e                   	pop    %esi
513563:	83 cb ff             	or     $0xffffffff,%ebx
513566:	5d                   	pop    %ebp
513567:	8b c3                	mov    %ebx,%eax
513569:	5b                   	pop    %ebx
51356a:	59                   	pop    %ecx
51356b:	c3                   	ret
51356c:	83 be 1c 01 00 00 00 	cmpl   $0x0,0x11c(%esi)
513573:	74 28                	je     0x51359d
513575:	8b 5c 24 20          	mov    0x20(%esp),%ebx
513579:	85 db                	test   %ebx,%ebx
51357b:	74 60                	je     0x5135dd
51357d:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
513582:	8d ae 20 01 00 00    	lea    0x120(%esi),%ebp
513588:	75 1c                	jne    0x5135a6
51358a:	8b 74 24 24          	mov    0x24(%esp),%esi
51358e:	56                   	push   %esi
51358f:	53                   	push   %ebx
513590:	55                   	push   %ebp
513591:	e8 4a 03 fe ff       	call   0x4f38e0
513596:	83 c4 0c             	add    $0xc,%esp
513599:	85 c0                	test   %eax,%eax
51359b:	74 38                	je     0x5135d5
51359d:	5f                   	pop    %edi
51359e:	5e                   	pop    %esi
51359f:	5d                   	pop    %ebp
5135a0:	83 c8 ff             	or     $0xffffffff,%eax
5135a3:	5b                   	pop    %ebx
5135a4:	59                   	pop    %ecx
5135a5:	c3                   	ret
5135a6:	57                   	push   %edi
5135a7:	e8 a4 3c fd ff       	call   0x4e7250
5135ac:	8b 74 24 28          	mov    0x28(%esp),%esi
5135b0:	83 c4 04             	add    $0x4,%esp
5135b3:	85 c0                	test   %eax,%eax
5135b5:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5135b9:	56                   	push   %esi
5135ba:	50                   	push   %eax
5135bb:	53                   	push   %ebx
5135bc:	55                   	push   %ebp
5135bd:	74 0a                	je     0x5135c9
5135bf:	e8 0c 0b fe ff       	call   0x4f40d0
5135c4:	83 c4 10             	add    $0x10,%esp
5135c7:	eb d0                	jmp    0x513599
5135c9:	e8 22 04 fe ff       	call   0x4f39f0
5135ce:	83 c4 10             	add    $0x10,%esp
5135d1:	85 c0                	test   %eax,%eax
5135d3:	75 c8                	jne    0x51359d
5135d5:	5f                   	pop    %edi
5135d6:	8b c6                	mov    %esi,%eax
5135d8:	5e                   	pop    %esi
5135d9:	5d                   	pop    %ebp
5135da:	5b                   	pop    %ebx
5135db:	59                   	pop    %ecx
5135dc:	c3                   	ret
5135dd:	57                   	push   %edi
5135de:	e8 6d 3c fd ff       	call   0x4e7250
5135e3:	83 c4 04             	add    $0x4,%esp
5135e6:	85 c0                	test   %eax,%eax
5135e8:	75 34                	jne    0x51361e
5135ea:	8b 86 d0 02 00 00    	mov    0x2d0(%esi),%eax
5135f0:	85 c0                	test   %eax,%eax
5135f2:	78 a9                	js     0x51359d
5135f4:	50                   	push   %eax
5135f5:	57                   	push   %edi
5135f6:	e8 b5 ca fd ff       	call   0x4f00b0
5135fb:	83 c4 04             	add    $0x4,%esp
5135fe:	50                   	push   %eax
5135ff:	8d 86 20 01 00 00    	lea    0x120(%esi),%eax
513605:	50                   	push   %eax
513606:	e8 75 11 fe ff       	call   0x4f4780
51360b:	83 c4 0c             	add    $0xc,%esp
51360e:	85 c0                	test   %eax,%eax
513610:	75 8b                	jne    0x51359d
513612:	5f                   	pop    %edi
513613:	89 86 1c 01 00 00    	mov    %eax,0x11c(%esi)
513619:	5e                   	pop    %esi
51361a:	5d                   	pop    %ebp
51361b:	5b                   	pop    %ebx
51361c:	59                   	pop    %ecx
51361d:	c3                   	ret
51361e:	6a 10                	push   $0x10
513620:	57                   	push   %edi
513621:	e8 8a ca fd ff       	call   0x4f00b0
513626:	83 c4 04             	add    $0x4,%esp
513629:	50                   	push   %eax
51362a:	8d 86 20 01 00 00    	lea    0x120(%esi),%eax
513630:	50                   	push   %eax
513631:	e8 2a 15 fe ff       	call   0x4f4b60
513636:	83 c4 0c             	add    $0xc,%esp
513639:	c7 86 d0 02 00 00 10 	movl   $0x10,0x2d0(%esi)
513640:	00 00 00
513643:	c7 86 1c 01 00 00 00 	movl   $0x0,0x11c(%esi)
51364a:	00 00 00
51364d:	33 c0                	xor    %eax,%eax
51364f:	5f                   	pop    %edi
513650:	5e                   	pop    %esi
513651:	5d                   	pop    %ebp
513652:	5b                   	pop    %ebx
513653:	59                   	pop    %ecx
513654:	c3                   	ret
513655:	cc                   	int3
513656:	cc                   	int3
513657:	cc                   	int3
513658:	cc                   	int3
513659:	cc                   	int3
51365a:	cc                   	int3
51365b:	cc                   	int3
51365c:	cc                   	int3
51365d:	cc                   	int3
51365e:	cc                   	int3
51365f:	cc                   	int3
513660:	57                   	push   %edi
513661:	ff 74 24 08          	push   0x8(%esp)
513665:	e8 66 ca fd ff       	call   0x4f00d0
51366a:	ff 74 24 0c          	push   0xc(%esp)
51366e:	8b b8 c8 02 00 00    	mov    0x2c8(%eax),%edi
513674:	e8 a7 ca fd ff       	call   0x4f0120
513679:	83 c4 08             	add    $0x8,%esp
51367c:	3b f8                	cmp    %eax,%edi
51367e:	74 13                	je     0x513693
513680:	68 f2 01 00 00       	push   $0x1f2
513685:	68 bc 0d 63 00       	push   $0x630dbc
51368a:	57                   	push   %edi
51368b:	e8 f0 d0 fc ff       	call   0x4e0780
513690:	83 c4 0c             	add    $0xc,%esp
513693:	b8 01 00 00 00       	mov    $0x1,%eax
513698:	5f                   	pop    %edi
513699:	c3                   	ret
51369a:	cc                   	int3
51369b:	cc                   	int3
51369c:	cc                   	int3
51369d:	cc                   	int3
51369e:	cc                   	int3
51369f:	cc                   	int3
5136a0:	53                   	push   %ebx
5136a1:	55                   	push   %ebp
5136a2:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
5136a6:	56                   	push   %esi
5136a7:	57                   	push   %edi
5136a8:	55                   	push   %ebp
5136a9:	e8 22 ca fd ff       	call   0x4f00d0
5136ae:	8b 5c 24 20          	mov    0x20(%esp),%ebx
5136b2:	83 c4 04             	add    $0x4,%esp
5136b5:	8b 74 24 18          	mov    0x18(%esp),%esi
5136b9:	8b f8                	mov    %eax,%edi
5136bb:	85 db                	test   %ebx,%ebx
5136bd:	75 0c                	jne    0x5136cb
5136bf:	85 f6                	test   %esi,%esi
5136c1:	75 0c                	jne    0x5136cf
5136c3:	5f                   	pop    %edi
5136c4:	5e                   	pop    %esi
5136c5:	5d                   	pop    %ebp
5136c6:	8d 43 01             	lea    0x1(%ebx),%eax
5136c9:	5b                   	pop    %ebx
5136ca:	c3                   	ret
5136cb:	85 f6                	test   %esi,%esi
5136cd:	74 78                	je     0x513747
5136cf:	57                   	push   %edi
5136d0:	55                   	push   %ebp
5136d1:	e8 5a ca fd ff       	call   0x4f0130
5136d6:	83 c4 04             	add    $0x4,%esp
5136d9:	c1 e0 03             	shl    $0x3,%eax
5136dc:	50                   	push   %eax
5136dd:	56                   	push   %esi
5136de:	e8 ad de 02 00       	call   0x541590
5136e3:	68 e0 0b 54 00       	push   $0x540be0
5136e8:	57                   	push   %edi
5136e9:	ff b7 28 01 00 00    	push   0x128(%edi)
5136ef:	8d 8f 38 01 00 00    	lea    0x138(%edi),%ecx
5136f5:	8b f0                	mov    %eax,%esi
5136f7:	ff b7 2c 01 00 00    	push   0x12c(%edi)
5136fd:	51                   	push   %ecx
5136fe:	e8 5d 24 fe ff       	call   0x4f5b60
513703:	83 c4 20             	add    $0x20,%esp
513706:	85 f6                	test   %esi,%esi
513708:	79 25                	jns    0x51372f
51370a:	68 06 02 00 00       	push   $0x206
51370f:	68 bc 0d 63 00       	push   $0x630dbc
513714:	68 b0 00 00 00       	push   $0xb0
513719:	68 af 00 00 00       	push   $0xaf
51371e:	6a 06                	push   $0x6
513720:	e8 5b 58 fc ff       	call   0x4d8f80
513725:	83 c4 14             	add    $0x14,%esp
513728:	33 c0                	xor    %eax,%eax
51372a:	5f                   	pop    %edi
51372b:	5e                   	pop    %esi
51372c:	5d                   	pop    %ebp
51372d:	5b                   	pop    %ebx
51372e:	c3                   	ret
51372f:	c7 87 68 01 00 00 00 	movl   $0x0,0x168(%edi)
513736:	00 00 00
513739:	c7 87 18 01 00 00 01 	movl   $0x1,0x118(%edi)
513740:	00 00 00
513743:	85 db                	test   %ebx,%ebx
513745:	74 29                	je     0x513770
513747:	b8 0f 00 00 00       	mov    $0xf,%eax
51374c:	2b 87 28 01 00 00    	sub    0x128(%edi),%eax
513752:	50                   	push   %eax
513753:	53                   	push   %ebx
513754:	55                   	push   %ebp
513755:	e8 c6 c9 fd ff       	call   0x4f0120
51375a:	83 c4 04             	add    $0x4,%esp
51375d:	50                   	push   %eax
51375e:	e8 6d f6 0b 00       	call   0x5d2dd0
513763:	83 c4 0c             	add    $0xc,%esp
513766:	c7 87 1c 01 00 00 01 	movl   $0x1,0x11c(%edi)
51376d:	00 00 00
513770:	5f                   	pop    %edi
513771:	5e                   	pop    %esi
513772:	5d                   	pop    %ebp
513773:	b8 01 00 00 00       	mov    $0x1,%eax
513778:	5b                   	pop    %ebx
513779:	c3                   	ret
51377a:	cc                   	int3
51377b:	cc                   	int3
51377c:	cc                   	int3
51377d:	cc                   	int3
51377e:	cc                   	int3
51377f:	cc                   	int3
513780:	53                   	push   %ebx
513781:	55                   	push   %ebp
513782:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
513786:	56                   	push   %esi
513787:	8b 74 24 1c          	mov    0x1c(%esp),%esi
51378b:	57                   	push   %edi
51378c:	55                   	push   %ebp
51378d:	e8 3e c9 fd ff       	call   0x4f00d0
513792:	8b f8                	mov    %eax,%edi
513794:	83 c4 04             	add    $0x4,%esp
513797:	8b 44 24 18          	mov    0x18(%esp),%eax
51379b:	83 f8 25             	cmp    $0x25,%eax
51379e:	0f 87 53 02 00 00    	ja     0x5139f7
5137a4:	0f b6 88 28 3a 51 00 	movzbl 0x513a28(%eax),%ecx
5137ab:	ff 24 8d 00 3a 51 00 	jmp    *0x513a00(,%ecx,4)
5137b2:	c7 87 18 01 00 00 00 	movl   $0x0,0x118(%edi)
5137b9:	00 00 00
5137bc:	b8 01 00 00 00       	mov    $0x1,%eax
5137c1:	c7 87 1c 01 00 00 00 	movl   $0x0,0x11c(%edi)
5137c8:	00 00 00
5137cb:	c7 87 28 01 00 00 08 	movl   $0x8,0x128(%edi)
5137d2:	00 00 00
5137d5:	c7 87 2c 01 00 00 0c 	movl   $0xc,0x12c(%edi)
5137dc:	00 00 00
5137df:	c7 87 20 01 00 00 00 	movl   $0x0,0x120(%edi)
5137e6:	00 00 00
5137e9:	c7 87 24 01 00 00 00 	movl   $0x0,0x124(%edi)
5137f0:	00 00 00
5137f3:	c7 87 30 01 00 00 ff 	movl   $0xffffffff,0x130(%edi)
5137fa:	ff ff ff
5137fd:	5f                   	pop    %edi
5137fe:	5e                   	pop    %esi
5137ff:	5d                   	pop    %ebp
513800:	5b                   	pop    %ebx
513801:	c3                   	ret