5117a8:	56                   	push   %esi
5117a9:	e8 92 e9 fd ff       	call   0x4f0140
5117ae:	83 c4 04             	add    $0x4,%esp
5117b1:	89 44 24 24          	mov    %eax,0x24(%esp)
5117b5:	8d 44 24 24          	lea    0x24(%esp),%eax
5117b9:	50                   	push   %eax
5117ba:	56                   	push   %esi
5117bb:	e8 60 e9 fd ff       	call   0x4f0120
5117c0:	83 c4 04             	add    $0x4,%esp
5117c3:	50                   	push   %eax
5117c4:	56                   	push   %esi
5117c5:	e8 06 e9 fd ff       	call   0x4f00d0
5117ca:	83 c4 04             	add    $0x4,%esp
5117cd:	05 00 01 00 00       	add    $0x100,%eax
5117d2:	50                   	push   %eax
5117d3:	56                   	push   %esi
5117d4:	e8 f7 e8 fd ff       	call   0x4f00d0
5117d9:	83 c4 04             	add    $0x4,%esp
5117dc:	83 e8 80             	sub    $0xffffff80,%eax
5117df:	50                   	push   %eax
5117e0:	56                   	push   %esi
5117e1:	e8 ea e8 fd ff       	call   0x4f00d0
5117e6:	83 c4 04             	add    $0x4,%esp
5117e9:	50                   	push   %eax
5117ea:	57                   	push   %edi
5117eb:	55                   	push   %ebp
5117ec:	53                   	push   %ebx
5117ed:	e8 5e e6 02 00       	call   0x53fe50
5117f2:	ff 74 24 44          	push   0x44(%esp)
5117f6:	56                   	push   %esi
5117f7:	e8 64 e9 fd ff       	call   0x4f0160
5117fc:	83 c4 28             	add    $0x28,%esp
5117ff:	5f                   	pop    %edi
511800:	5e                   	pop    %esi
511801:	5d                   	pop    %ebp
511802:	b8 01 00 00 00       	mov    $0x1,%eax
511807:	5b                   	pop    %ebx
511808:	59                   	pop    %ecx
511809:	c3                   	ret
51180a:	cc                   	int3
51180b:	cc                   	int3
51180c:	cc                   	int3
51180d:	cc                   	int3
51180e:	cc                   	int3
51180f:	cc                   	int3
511810:	b8 04 00 00 00       	mov    $0x4,%eax
511815:	e8 96 ff 0b 00       	call   0x5d17b0
51181a:	53                   	push   %ebx
51181b:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
51181f:	56                   	push   %esi
511820:	53                   	push   %ebx
511821:	e8 aa e8 fd ff       	call   0x4f00d0
511826:	8b f0                	mov    %eax,%esi
511828:	83 c4 04             	add    $0x4,%esp
51182b:	83 be 80 01 00 00 00 	cmpl   $0x0,0x180(%esi)
511832:	74 28                	je     0x51185c
511834:	53                   	push   %ebx
511835:	e8 e6 e8 fd ff       	call   0x4f0120
51183a:	50                   	push   %eax
51183b:	8b 86 80 01 00 00    	mov    0x180(%esi),%eax
511841:	56                   	push   %esi
511842:	ff 74 24 28          	push   0x28(%esp)
511846:	ff 74 24 24          	push   0x24(%esp)
51184a:	ff 74 24 2c          	push   0x2c(%esp)
51184e:	ff d0                	call   *%eax
511850:	83 c4 18             	add    $0x18,%esp
511853:	b8 01 00 00 00       	mov    $0x1,%eax
511858:	5e                   	pop    %esi
511859:	5b                   	pop    %ebx
51185a:	59                   	pop    %ecx
51185b:	c3                   	ret
51185c:	8b 5c 24 18          	mov    0x18(%esp),%ebx
511860:	55                   	push   %ebp
511861:	8b 6c 24 18          	mov    0x18(%esp),%ebp
511865:	57                   	push   %edi
511866:	8b 7c 24 24          	mov    0x24(%esp),%edi
51186a:	81 ff 00 00 00 40    	cmp    $0x40000000,%edi
511870:	72 5f                	jb     0x5118d1
511872:	8b c7                	mov    %edi,%eax
511874:	c1 e8 1e             	shr    $0x1e,%eax
511877:	89 44 24 10          	mov    %eax,0x10(%esp)
51187b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
511880:	ff 74 24 18          	push   0x18(%esp)
511884:	e8 c7 59 fd ff       	call   0x4e7250
511889:	83 c4 04             	add    $0x4,%esp
51188c:	50                   	push   %eax
51188d:	ff 74 24 1c          	push   0x1c(%esp)
511891:	e8 8a e8 fd ff       	call   0x4f0120
511896:	83 c4 04             	add    $0x4,%esp
511899:	50                   	push   %eax
51189a:	8d 86 00 01 00 00    	lea    0x100(%esi),%eax
5118a0:	50                   	push   %eax
5118a1:	8d 86 80 00 00 00    	lea    0x80(%esi),%eax
5118a7:	50                   	push   %eax
5118a8:	56                   	push   %esi
5118a9:	68 00 00 00 40       	push   $0x40000000
5118ae:	55                   	push   %ebp
5118af:	53                   	push   %ebx
5118b0:	e8 8b 3d f0 ff       	call   0x415640
5118b5:	83 c4 20             	add    $0x20,%esp
5118b8:	81 ef 00 00 00 40    	sub    $0x40000000,%edi
5118be:	81 c3 00 00 00 40    	add    $0x40000000,%ebx
5118c4:	81 c5 00 00 00 40    	add    $0x40000000,%ebp
5118ca:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
5118cf:	75 af                	jne    0x511880
5118d1:	85 ff                	test   %edi,%edi
5118d3:	74 34                	je     0x511909
5118d5:	ff 74 24 18          	push   0x18(%esp)
5118d9:	e8 72 59 fd ff       	call   0x4e7250
5118de:	83 c4 04             	add    $0x4,%esp
5118e1:	50                   	push   %eax
5118e2:	ff 74 24 1c          	push   0x1c(%esp)
5118e6:	e8 35 e8 fd ff       	call   0x4f0120
5118eb:	83 c4 04             	add    $0x4,%esp
5118ee:	50                   	push   %eax
5118ef:	8d 86 00 01 00 00    	lea    0x100(%esi),%eax
5118f5:	50                   	push   %eax
5118f6:	8d 86 80 00 00 00    	lea    0x80(%esi),%eax
5118fc:	50                   	push   %eax
5118fd:	56                   	push   %esi
5118fe:	57                   	push   %edi
5118ff:	55                   	push   %ebp
511900:	53                   	push   %ebx
511901:	e8 3a 3d f0 ff       	call   0x415640
511906:	83 c4 20             	add    $0x20,%esp
511909:	5f                   	pop    %edi
51190a:	5d                   	pop    %ebp
51190b:	5e                   	pop    %esi
51190c:	b8 01 00 00 00       	mov    $0x1,%eax
511911:	5b                   	pop    %ebx
511912:	59                   	pop    %ecx
511913:	c3                   	ret
511914:	cc                   	int3
511915:	cc                   	int3
511916:	cc                   	int3
511917:	cc                   	int3
511918:	cc                   	int3
511919:	cc                   	int3
51191a:	cc                   	int3
51191b:	cc                   	int3
51191c:	cc                   	int3
51191d:	cc                   	int3
51191e:	cc                   	int3
51191f:	cc                   	int3
511920:	b8 04 00 00 00       	mov    $0x4,%eax
511925:	e8 86 fe 0b 00       	call   0x5d17b0
51192a:	53                   	push   %ebx
51192b:	8b 5c 24 14          	mov    0x14(%esp),%ebx
51192f:	55                   	push   %ebp
511930:	8b 6c 24 14          	mov    0x14(%esp),%ebp
511934:	56                   	push   %esi
511935:	8b 74 24 14          	mov    0x14(%esp),%esi
511939:	57                   	push   %edi
51193a:	8b 7c 24 24          	mov    0x24(%esp),%edi
51193e:	81 ff 00 00 00 40    	cmp    $0x40000000,%edi
511944:	0f 82 84 00 00 00    	jb     0x5119ce
51194a:	8b c7                	mov    %edi,%eax
51194c:	c1 e8 1e             	shr    $0x1e,%eax
51194f:	89 44 24 10          	mov    %eax,0x10(%esp)
511953:	56                   	push   %esi
511954:	e8 e7 e7 fd ff       	call   0x4f0140
511959:	56                   	push   %esi
51195a:	89 44 24 2c          	mov    %eax,0x2c(%esp)
51195e:	e8 ed 58 fd ff       	call   0x4e7250
511963:	83 c4 08             	add    $0x8,%esp
511966:	50                   	push   %eax
511967:	8d 44 24 28          	lea    0x28(%esp),%eax
51196b:	50                   	push   %eax
51196c:	56                   	push   %esi
51196d:	e8 ae e7 fd ff       	call   0x4f0120
511972:	83 c4 04             	add    $0x4,%esp
511975:	50                   	push   %eax
511976:	56                   	push   %esi
511977:	e8 54 e7 fd ff       	call   0x4f00d0
51197c:	83 c4 04             	add    $0x4,%esp
51197f:	05 00 01 00 00       	add    $0x100,%eax
511984:	50                   	push   %eax
511985:	56                   	push   %esi
511986:	e8 45 e7 fd ff       	call   0x4f00d0
51198b:	83 c4 04             	add    $0x4,%esp
51198e:	83 e8 80             	sub    $0xffffff80,%eax
511991:	50                   	push   %eax
511992:	56                   	push   %esi
511993:	e8 38 e7 fd ff       	call   0x4f00d0
511998:	83 c4 04             	add    $0x4,%esp
51199b:	50                   	push   %eax
51199c:	68 00 00 00 40       	push   $0x40000000
5119a1:	55                   	push   %ebp
5119a2:	53                   	push   %ebx
5119a3:	e8 a8 da 02 00       	call   0x53f450
5119a8:	ff 74 24 48          	push   0x48(%esp)
5119ac:	56                   	push   %esi
5119ad:	e8 ae e7 fd ff       	call   0x4f0160
5119b2:	83 c4 2c             	add    $0x2c,%esp
5119b5:	81 ef 00 00 00 40    	sub    $0x40000000,%edi
5119bb:	81 c3 00 00 00 40    	add    $0x40000000,%ebx
5119c1:	81 c5 00 00 00 40    	add    $0x40000000,%ebp
5119c7:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
5119cc:	75 85                	jne    0x511953
5119ce:	85 ff                	test   %edi,%edi
5119d0:	74 5e                	je     0x511a30
5119d2:	56                   	push   %esi
5119d3:	e8 68 e7 fd ff       	call   0x4f0140
5119d8:	56                   	push   %esi
5119d9:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5119dd:	e8 6e 58 fd ff       	call   0x4e7250
5119e2:	83 c4 08             	add    $0x8,%esp
5119e5:	50                   	push   %eax
5119e6:	8d 44 24 28          	lea    0x28(%esp),%eax
5119ea:	50                   	push   %eax
5119eb:	56                   	push   %esi
5119ec:	e8 2f e7 fd ff       	call   0x4f0120
5119f1:	83 c4 04             	add    $0x4,%esp
5119f4:	50                   	push   %eax
5119f5:	56                   	push   %esi
5119f6:	e8 d5 e6 fd ff       	call   0x4f00d0
5119fb:	83 c4 04             	add    $0x4,%esp
5119fe:	05 00 01 00 00       	add    $0x100,%eax
511a03:	50                   	push   %eax
511a04:	56                   	push   %esi
511a05:	e8 c6 e6 fd ff       	call   0x4f00d0
511a0a:	83 c4 04             	add    $0x4,%esp
511a0d:	83 e8 80             	sub    $0xffffff80,%eax
511a10:	50                   	push   %eax
511a11:	56                   	push   %esi
511a12:	e8 b9 e6 fd ff       	call   0x4f00d0
511a17:	83 c4 04             	add    $0x4,%esp
511a1a:	50                   	push   %eax
511a1b:	57                   	push   %edi
511a1c:	55                   	push   %ebp
511a1d:	53                   	push   %ebx
511a1e:	e8 2d da 02 00       	call   0x53f450
511a23:	ff 74 24 48          	push   0x48(%esp)
511a27:	56                   	push   %esi
511a28:	e8 33 e7 fd ff       	call   0x4f0160
511a2d:	83 c4 2c             	add    $0x2c,%esp
511a30:	5f                   	pop    %edi
511a31:	5e                   	pop    %esi
511a32:	5d                   	pop    %ebp
511a33:	b8 01 00 00 00       	mov    $0x1,%eax
511a38:	5b                   	pop    %ebx
511a39:	59                   	pop    %ecx
511a3a:	c3                   	ret
511a3b:	cc                   	int3
511a3c:	cc                   	int3
511a3d:	cc                   	int3
511a3e:	cc                   	int3
511a3f:	cc                   	int3
511a40:	b8 08 00 00 00       	mov    $0x8,%eax
511a45:	e8 66 fd 0b 00       	call   0x5d17b0
511a4a:	55                   	push   %ebp
511a4b:	8b 6c 24 10          	mov    0x10(%esp),%ebp
511a4f:	68 00 20 00 00       	push   $0x2000
511a54:	55                   	push   %ebp
511a55:	e8 16 e7 fd ff       	call   0x4f0170
511a5a:	83 c4 08             	add    $0x8,%esp
511a5d:	85 c0                	test   %eax,%eax
511a5f:	75 0d                	jne    0x511a6e
511a61:	8b 44 24 1c          	mov    0x1c(%esp),%eax
511a65:	8d 0c c5 00 00 00 00 	lea    0x0(,%eax,8),%ecx
511a6c:	eb 04                	jmp    0x511a72
511a6e:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
511a72:	33 c0                	xor    %eax,%eax
511a74:	89 4c 24 08          	mov    %ecx,0x8(%esp)
511a78:	89 44 24 1c          	mov    %eax,0x1c(%esp)
511a7c:	85 c9                	test   %ecx,%ecx
511a7e:	0f 84 b7 00 00 00    	je     0x511b3b
511a84:	53                   	push   %ebx
511a85:	56                   	push   %esi
511a86:	57                   	push   %edi
511a87:	8b f8                	mov    %eax,%edi
511a89:	8b f0                	mov    %eax,%esi
511a8b:	83 e7 07             	and    $0x7,%edi
511a8e:	c1 ee 03             	shr    $0x3,%esi
511a91:	b9 07 00 00 00       	mov    $0x7,%ecx
511a96:	b8 01 00 00 00       	mov    $0x1,%eax
511a9b:	2b cf                	sub    %edi,%ecx
511a9d:	d3 e0                	shl    %cl,%eax
511a9f:	8b 4c 24 24          	mov    0x24(%esp),%ecx
511aa3:	55                   	push   %ebp
511aa4:	22 04 0e             	and    (%esi,%ecx,1),%al
511aa7:	f6 d8                	neg    %al
511aa9:	1a c0                	sbb    %al,%al
511aab:	24 80                	and    $0x80,%al
511aad:	88 44 24 16          	mov    %al,0x16(%esp)
511ab1:	e8 9a 57 fd ff       	call   0x4e7250
511ab6:	83 c4 04             	add    $0x4,%esp
511ab9:	50                   	push   %eax
511aba:	55                   	push   %ebp
511abb:	e8 60 e6 fd ff       	call   0x4f0120
511ac0:	83 c4 04             	add    $0x4,%esp
511ac3:	50                   	push   %eax
511ac4:	55                   	push   %ebp
511ac5:	e8 06 e6 fd ff       	call   0x4f00d0
511aca:	83 c4 04             	add    $0x4,%esp
511acd:	05 00 01 00 00       	add    $0x100,%eax
511ad2:	50                   	push   %eax
511ad3:	55                   	push   %ebp
511ad4:	e8 f7 e5 fd ff       	call   0x4f00d0
511ad9:	83 c4 04             	add    $0x4,%esp
511adc:	83 e8 80             	sub    $0xffffff80,%eax
511adf:	50                   	push   %eax
511ae0:	55                   	push   %ebp
511ae1:	e8 ea e5 fd ff       	call   0x4f00d0
511ae6:	83 c4 04             	add    $0x4,%esp
511ae9:	50                   	push   %eax
511aea:	6a 01                	push   $0x1
511aec:	6a 01                	push   $0x1
511aee:	8d 44 24 2f          	lea    0x2f(%esp),%eax
511af2:	50                   	push   %eax
511af3:	8d 44 24 32          	lea    0x32(%esp),%eax
511af7:	50                   	push   %eax
511af8:	e8 63 db 02 00       	call   0x53f660
511afd:	8b 44 24 4c          	mov    0x4c(%esp),%eax
511b01:	ba 80 00 00 00       	mov    $0x80,%edx
511b06:	8a 5c 24 37          	mov    0x37(%esp),%bl
511b0a:	8a c8                	mov    %al,%cl
511b0c:	80 e1 07             	and    $0x7,%cl
511b0f:	80 e3 80             	and    $0x80,%bl
511b12:	d2 eb                	shr    %cl,%bl
511b14:	40                   	inc    %eax
511b15:	8b cf                	mov    %edi,%ecx
511b17:	89 44 24 4c          	mov    %eax,0x4c(%esp)
511b1b:	d3 fa                	sar    %cl,%edx
511b1d:	83 c4 24             	add    $0x24,%esp
511b20:	8b 4c 24 20          	mov    0x20(%esp),%ecx
511b24:	f6 d2                	not    %dl
511b26:	22 14 0e             	and    (%esi,%ecx,1),%dl
511b29:	0a da                	or     %dl,%bl
511b2b:	88 1c 0e             	mov    %bl,(%esi,%ecx,1)
511b2e:	3b 44 24 14          	cmp    0x14(%esp),%eax
511b32:	0f 82 4f ff ff ff    	jb     0x511a87
511b38:	5f                   	pop    %edi
511b39:	5e                   	pop    %esi
511b3a:	5b                   	pop    %ebx
511b3b:	b8 01 00 00 00       	mov    $0x1,%eax
511b40:	5d                   	pop    %ebp
511b41:	83 c4 08             	add    $0x8,%esp
511b44:	c3                   	ret
511b45:	cc                   	int3
511b46:	cc                   	int3
511b47:	cc                   	int3
511b48:	cc                   	int3
511b49:	cc                   	int3
511b4a:	cc                   	int3
511b4b:	cc                   	int3
511b4c:	cc                   	int3
511b4d:	cc                   	int3
511b4e:	cc                   	int3
511b4f:	cc                   	int3