512753:	8b c7                	mov    %edi,%eax
512755:	0f 43 c6             	cmovae %esi,%eax
512758:	8b f0                	mov    %eax,%esi
51275a:	85 ff                	test   %edi,%edi
51275c:	75 a2                	jne    0x512700
51275e:	5e                   	pop    %esi
51275f:	5d                   	pop    %ebp
512760:	5b                   	pop    %ebx
512761:	b8 01 00 00 00       	mov    $0x1,%eax
512766:	5f                   	pop    %edi
512767:	c3                   	ret
512768:	b8 01 00 00 00       	mov    $0x1,%eax
51276d:	5f                   	pop    %edi
51276e:	c3                   	ret
51276f:	cc                   	int3
512770:	55                   	push   %ebp
512771:	8b 6c 24 08          	mov    0x8(%esp),%ebp
512775:	57                   	push   %edi
512776:	55                   	push   %ebp
512777:	e8 44 d9 fd ff       	call   0x4f00c0
51277c:	83 c4 04             	add    $0x4,%esp
51277f:	8b 78 04             	mov    0x4(%eax),%edi
512782:	8b 44 24 18          	mov    0x18(%esp),%eax
512786:	3b c7                	cmp    %edi,%eax
512788:	72 46                	jb     0x5127d0
51278a:	53                   	push   %ebx
51278b:	2b c7                	sub    %edi,%eax
51278d:	33 db                	xor    %ebx,%ebx
51278f:	56                   	push   %esi
512790:	8b 74 24 1c          	mov    0x1c(%esp),%esi
512794:	29 74 24 18          	sub    %esi,0x18(%esp)
512798:	89 44 24 20          	mov    %eax,0x20(%esp)
51279c:	0f 1f 40 00          	nopl   0x0(%eax)
5127a0:	55                   	push   %ebp
5127a1:	e8 aa 4a fd ff       	call   0x4e7250
5127a6:	83 c4 04             	add    $0x4,%esp
5127a9:	50                   	push   %eax
5127aa:	55                   	push   %ebp
5127ab:	e8 20 d9 fd ff       	call   0x4f00d0
5127b0:	83 c4 04             	add    $0x4,%esp
5127b3:	50                   	push   %eax
5127b4:	8b 44 24 20          	mov    0x20(%esp),%eax
5127b8:	03 c6                	add    %esi,%eax
5127ba:	50                   	push   %eax
5127bb:	56                   	push   %esi
5127bc:	e8 7f df 02 00       	call   0x540740
5127c1:	03 df                	add    %edi,%ebx
5127c3:	83 c4 10             	add    $0x10,%esp
5127c6:	03 f7                	add    %edi,%esi
5127c8:	3b 5c 24 20          	cmp    0x20(%esp),%ebx
5127cc:	76 d2                	jbe    0x5127a0
5127ce:	5e                   	pop    %esi
5127cf:	5b                   	pop    %ebx
5127d0:	5f                   	pop    %edi
5127d1:	b8 01 00 00 00       	mov    $0x1,%eax
5127d6:	5d                   	pop    %ebp
5127d7:	c3                   	ret
5127d8:	cc                   	int3
5127d9:	cc                   	int3
5127da:	cc                   	int3
5127db:	cc                   	int3
5127dc:	cc                   	int3
5127dd:	cc                   	int3
5127de:	cc                   	int3
5127df:	cc                   	int3
5127e0:	b8 04 00 00 00       	mov    $0x4,%eax
5127e5:	e8 c6 ef 0b 00       	call   0x5d17b0
5127ea:	53                   	push   %ebx
5127eb:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5127ef:	55                   	push   %ebp
5127f0:	8b 6c 24 14          	mov    0x14(%esp),%ebp
5127f4:	56                   	push   %esi
5127f5:	8b 74 24 14          	mov    0x14(%esp),%esi
5127f9:	57                   	push   %edi
5127fa:	8b 7c 24 24          	mov    0x24(%esp),%edi
5127fe:	81 ff 00 00 00 40    	cmp    $0x40000000,%edi
512804:	72 62                	jb     0x512868
512806:	8b c7                	mov    %edi,%eax
512808:	c1 e8 1e             	shr    $0x1e,%eax
51280b:	89 44 24 10          	mov    %eax,0x10(%esp)
51280f:	90                   	nop
512810:	56                   	push   %esi
512811:	e8 2a d9 fd ff       	call   0x4f0140
512816:	83 c4 04             	add    $0x4,%esp
512819:	89 44 24 24          	mov    %eax,0x24(%esp)
51281d:	8d 44 24 24          	lea    0x24(%esp),%eax
512821:	50                   	push   %eax
512822:	56                   	push   %esi
512823:	e8 f8 d8 fd ff       	call   0x4f0120
512828:	83 c4 04             	add    $0x4,%esp
51282b:	50                   	push   %eax
51282c:	56                   	push   %esi
51282d:	e8 9e d8 fd ff       	call   0x4f00d0
512832:	83 c4 04             	add    $0x4,%esp
512835:	50                   	push   %eax
512836:	68 00 00 00 40       	push   $0x40000000
51283b:	55                   	push   %ebp
51283c:	53                   	push   %ebx
51283d:	e8 be e1 02 00       	call   0x540a00
512842:	ff 74 24 3c          	push   0x3c(%esp)
512846:	56                   	push   %esi
512847:	e8 14 d9 fd ff       	call   0x4f0160
51284c:	83 c4 20             	add    $0x20,%esp
51284f:	81 ef 00 00 00 40    	sub    $0x40000000,%edi
512855:	81 c3 00 00 00 40    	add    $0x40000000,%ebx
51285b:	81 c5 00 00 00 40    	add    $0x40000000,%ebp
512861:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
512866:	75 a8                	jne    0x512810
512868:	85 ff                	test   %edi,%edi
51286a:	74 3b                	je     0x5128a7
51286c:	56                   	push   %esi
51286d:	e8 ce d8 fd ff       	call   0x4f0140
512872:	83 c4 04             	add    $0x4,%esp
512875:	89 44 24 24          	mov    %eax,0x24(%esp)
512879:	8d 44 24 24          	lea    0x24(%esp),%eax
51287d:	50                   	push   %eax
51287e:	56                   	push   %esi
51287f:	e8 9c d8 fd ff       	call   0x4f0120
512884:	83 c4 04             	add    $0x4,%esp
512887:	50                   	push   %eax
512888:	56                   	push   %esi
512889:	e8 42 d8 fd ff       	call   0x4f00d0
51288e:	83 c4 04             	add    $0x4,%esp
512891:	50                   	push   %eax
512892:	57                   	push   %edi
512893:	55                   	push   %ebp
512894:	53                   	push   %ebx
512895:	e8 66 e1 02 00       	call   0x540a00
51289a:	ff 74 24 3c          	push   0x3c(%esp)
51289e:	56                   	push   %esi
51289f:	e8 bc d8 fd ff       	call   0x4f0160
5128a4:	83 c4 20             	add    $0x20,%esp
5128a7:	5f                   	pop    %edi
5128a8:	5e                   	pop    %esi
5128a9:	5d                   	pop    %ebp
5128aa:	b8 01 00 00 00       	mov    $0x1,%eax
5128af:	5b                   	pop    %ebx
5128b0:	59                   	pop    %ecx
5128b1:	c3                   	ret
5128b2:	cc                   	int3
5128b3:	cc                   	int3
5128b4:	cc                   	int3
5128b5:	cc                   	int3
5128b6:	cc                   	int3
5128b7:	cc                   	int3
5128b8:	cc                   	int3
5128b9:	cc                   	int3
5128ba:	cc                   	int3
5128bb:	cc                   	int3
5128bc:	cc                   	int3
5128bd:	cc                   	int3
5128be:	cc                   	int3
5128bf:	cc                   	int3
5128c0:	b8 70 07 63 00       	mov    $0x630770,%eax
5128c5:	c3                   	ret
5128c6:	cc                   	int3
5128c7:	cc                   	int3
5128c8:	cc                   	int3
5128c9:	cc                   	int3
5128ca:	cc                   	int3
5128cb:	cc                   	int3
5128cc:	cc                   	int3
5128cd:	cc                   	int3
5128ce:	cc                   	int3
5128cf:	cc                   	int3
5128d0:	b8 a4 07 63 00       	mov    $0x6307a4,%eax
5128d5:	c3                   	ret
5128d6:	cc                   	int3
5128d7:	cc                   	int3
5128d8:	cc                   	int3
5128d9:	cc                   	int3
5128da:	cc                   	int3
5128db:	cc                   	int3
5128dc:	cc                   	int3
5128dd:	cc                   	int3
5128de:	cc                   	int3
5128df:	cc                   	int3
5128e0:	b8 0c 08 63 00       	mov    $0x63080c,%eax
5128e5:	c3                   	ret
5128e6:	cc                   	int3
5128e7:	cc                   	int3
5128e8:	cc                   	int3
5128e9:	cc                   	int3
5128ea:	cc                   	int3
5128eb:	cc                   	int3
5128ec:	cc                   	int3
5128ed:	cc                   	int3
5128ee:	cc                   	int3
5128ef:	cc                   	int3
5128f0:	b8 d8 07 63 00       	mov    $0x6307d8,%eax
5128f5:	c3                   	ret
5128f6:	cc                   	int3
5128f7:	cc                   	int3
5128f8:	cc                   	int3
5128f9:	cc                   	int3
5128fa:	cc                   	int3
5128fb:	cc                   	int3
5128fc:	cc                   	int3
5128fd:	cc                   	int3
5128fe:	cc                   	int3
5128ff:	cc                   	int3
512900:	55                   	push   %ebp
512901:	8b 6c 24 14          	mov    0x14(%esp),%ebp
512905:	85 ed                	test   %ebp,%ebp
512907:	0f 84 8a 00 00 00    	je     0x512997
51290d:	56                   	push   %esi
51290e:	b8 00 00 00 40       	mov    $0x40000000,%eax
512913:	8b f5                	mov    %ebp,%esi
512915:	57                   	push   %edi
512916:	8b 7c 24 10          	mov    0x10(%esp),%edi
51291a:	3b e8                	cmp    %eax,%ebp
51291c:	53                   	push   %ebx
51291d:	0f 43 f0             	cmovae %eax,%esi
512920:	3b ee                	cmp    %esi,%ebp
512922:	72 69                	jb     0x51298d
512924:	57                   	push   %edi
512925:	e8 16 d8 fd ff       	call   0x4f0140
51292a:	57                   	push   %edi
51292b:	89 44 24 28          	mov    %eax,0x28(%esp)
51292f:	e8 1c 49 fd ff       	call   0x4e7250
512934:	57                   	push   %edi
512935:	8b d8                	mov    %eax,%ebx
512937:	e8 e4 d7 fd ff       	call   0x4f0120
51293c:	ff 74 24 20          	push   0x20(%esp)
512940:	8b f8                	mov    %eax,%edi
512942:	e8 89 d7 fd ff       	call   0x4f00d0
512947:	68 e0 0b 54 00       	push   $0x540be0
51294c:	53                   	push   %ebx
51294d:	8b 5c 24 34          	mov    0x34(%esp),%ebx
512951:	8d 4c 24 38          	lea    0x38(%esp),%ecx
512955:	51                   	push   %ecx
512956:	57                   	push   %edi
512957:	50                   	push   %eax
512958:	56                   	push   %esi
512959:	ff 74 24 40          	push   0x40(%esp)
51295d:	53                   	push   %ebx
51295e:	e8 0d 0d fe ff       	call   0x4f3670
512963:	ff 74 24 50          	push   0x50(%esp)
512967:	8b 7c 24 48          	mov    0x48(%esp),%edi
51296b:	57                   	push   %edi
51296c:	e8 ef d7 fd ff       	call   0x4f0160
512971:	01 74 24 50          	add    %esi,0x50(%esp)
512975:	2b ee                	sub    %esi,%ebp
512977:	03 de                	add    %esi,%ebx
512979:	83 c4 38             	add    $0x38,%esp
51297c:	3b ee                	cmp    %esi,%ebp
51297e:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
512982:	8b c5                	mov    %ebp,%eax
512984:	0f 43 c6             	cmovae %esi,%eax
512987:	8b f0                	mov    %eax,%esi
512989:	85 ed                	test   %ebp,%ebp
51298b:	75 93                	jne    0x512920
51298d:	5b                   	pop    %ebx
51298e:	5f                   	pop    %edi
51298f:	5e                   	pop    %esi
512990:	b8 01 00 00 00       	mov    $0x1,%eax
512995:	5d                   	pop    %ebp
512996:	c3                   	ret
512997:	b8 01 00 00 00       	mov    $0x1,%eax
51299c:	5d                   	pop    %ebp
51299d:	c3                   	ret
51299e:	cc                   	int3
51299f:	cc                   	int3
5129a0:	55                   	push   %ebp
5129a1:	8b 6c 24 08          	mov    0x8(%esp),%ebp
5129a5:	57                   	push   %edi
5129a6:	55                   	push   %ebp
5129a7:	e8 14 d7 fd ff       	call   0x4f00c0
5129ac:	83 c4 04             	add    $0x4,%esp
5129af:	8b 78 04             	mov    0x4(%eax),%edi
5129b2:	8b 44 24 18          	mov    0x18(%esp),%eax
5129b6:	3b c7                	cmp    %edi,%eax
5129b8:	72 3f                	jb     0x5129f9
5129ba:	53                   	push   %ebx
5129bb:	2b c7                	sub    %edi,%eax
5129bd:	33 db                	xor    %ebx,%ebx
5129bf:	56                   	push   %esi
5129c0:	8b 74 24 1c          	mov    0x1c(%esp),%esi
5129c4:	29 74 24 18          	sub    %esi,0x18(%esp)
5129c8:	89 44 24 20          	mov    %eax,0x20(%esp)
5129cc:	0f 1f 40 00          	nopl   0x0(%eax)
5129d0:	55                   	push   %ebp
5129d1:	e8 7a 48 fd ff       	call   0x4e7250
5129d6:	55                   	push   %ebp
5129d7:	e8 f4 d6 fd ff       	call   0x4f00d0
5129dc:	50                   	push   %eax
5129dd:	8b 44 24 24          	mov    0x24(%esp),%eax
5129e1:	03 c6                	add    %esi,%eax
5129e3:	50                   	push   %eax
5129e4:	56                   	push   %esi
5129e5:	e8 f6 e1 02 00       	call   0x540be0
5129ea:	03 df                	add    %edi,%ebx
5129ec:	83 c4 14             	add    $0x14,%esp
5129ef:	03 f7                	add    %edi,%esi
5129f1:	3b 5c 24 20          	cmp    0x20(%esp),%ebx
5129f5:	76 d9                	jbe    0x5129d0
5129f7:	5e                   	pop    %esi
5129f8:	5b                   	pop    %ebx
5129f9:	5f                   	pop    %edi
5129fa:	b8 01 00 00 00       	mov    $0x1,%eax
5129ff:	5d                   	pop    %ebp
512a00:	c3                   	ret
512a01:	cc                   	int3
512a02:	cc                   	int3
512a03:	cc                   	int3
512a04:	cc                   	int3
512a05:	cc                   	int3
512a06:	cc                   	int3
512a07:	cc                   	int3
512a08:	cc                   	int3
512a09:	cc                   	int3
512a0a:	cc                   	int3
512a0b:	cc                   	int3
512a0c:	cc                   	int3
512a0d:	cc                   	int3
512a0e:	cc                   	int3
512a0f:	cc                   	int3
512a10:	b8 08 00 00 00       	mov    $0x8,%eax
512a15:	e8 96 ed 0b 00       	call   0x5d17b0
512a1a:	53                   	push   %ebx
512a1b:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
512a1f:	55                   	push   %ebp
512a20:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
512a24:	56                   	push   %esi
512a25:	57                   	push   %edi
512a26:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
512a2a:	81 fb 00 00 00 40    	cmp    $0x40000000,%ebx
512a30:	72 71                	jb     0x512aa3
512a32:	8b c3                	mov    %ebx,%eax
512a34:	c1 e8 1e             	shr    $0x1e,%eax
512a37:	89 44 24 14          	mov    %eax,0x14(%esp)
512a3b:	8b 44 24 20          	mov    0x20(%esp),%eax
512a3f:	89 44 24 28          	mov    %eax,0x28(%esp)
512a43:	57                   	push   %edi
512a44:	e8 f7 d6 fd ff       	call   0x4f0140
512a49:	57                   	push   %edi
512a4a:	89 44 24 18          	mov    %eax,0x18(%esp)
512a4e:	e8 cd d6 fd ff       	call   0x4f0120
512a53:	57                   	push   %edi
512a54:	8b f0                	mov    %eax,%esi
512a56:	e8 75 d6 fd ff       	call   0x4f00d0
512a5b:	68 e0 0b 54 00       	push   $0x540be0
512a60:	8d 4c 24 20          	lea    0x20(%esp),%ecx
512a64:	51                   	push   %ecx
512a65:	56                   	push   %esi
512a66:	8b 74 24 40          	mov    0x40(%esp),%esi
512a6a:	50                   	push   %eax
512a6b:	68 00 00 00 40       	push   $0x40000000
512a70:	56                   	push   %esi
512a71:	55                   	push   %ebp