501645:	cc                   	int3
501646:	cc                   	int3
501647:	cc                   	int3
501648:	cc                   	int3
501649:	cc                   	int3
50164a:	cc                   	int3
50164b:	cc                   	int3
50164c:	cc                   	int3
50164d:	cc                   	int3
50164e:	cc                   	int3
50164f:	cc                   	int3
501650:	b8 04 00 00 00       	mov    $0x4,%eax
501655:	e8 56 01 0d 00       	call   0x5d17b0
50165a:	53                   	push   %ebx
50165b:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
50165f:	57                   	push   %edi
501660:	8b 7b 14             	mov    0x14(%ebx),%edi
501663:	8b 47 18             	mov    0x18(%edi),%eax
501666:	85 c0                	test   %eax,%eax
501668:	74 46                	je     0x5016b0
50166a:	83 e8 01             	sub    $0x1,%eax
50166d:	74 21                	je     0x501690
50166f:	83 e8 01             	sub    $0x1,%eax
501672:	74 15                	je     0x501689
501674:	83 e8 01             	sub    $0x1,%eax
501677:	74 09                	je     0x501682
501679:	5f                   	pop    %edi
50167a:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
50167f:	5b                   	pop    %ebx
501680:	59                   	pop    %ecx
501681:	c3                   	ret
501682:	e8 b9 9d 01 00       	call   0x51b440
501687:	eb 0c                	jmp    0x501695
501689:	e8 52 9d 01 00       	call   0x51b3e0
50168e:	eb 05                	jmp    0x501695
501690:	e8 eb 9c 01 00       	call   0x51b380
501695:	50                   	push   %eax
501696:	68 98 03 00 00       	push   $0x398
50169b:	ff 74 24 1c          	push   0x1c(%esp)
50169f:	e8 3c f4 fe ff       	call   0x4f0ae0
5016a4:	83 c4 0c             	add    $0xc,%esp
5016a7:	b8 01 00 00 00       	mov    $0x1,%eax
5016ac:	5f                   	pop    %edi
5016ad:	5b                   	pop    %ebx
5016ae:	59                   	pop    %ecx
5016af:	c3                   	ret
5016b0:	8b 47 1c             	mov    0x1c(%edi),%eax
5016b3:	55                   	push   %ebp
5016b4:	56                   	push   %esi
5016b5:	85 c0                	test   %eax,%eax
5016b7:	74 19                	je     0x5016d2
5016b9:	50                   	push   %eax
5016ba:	e8 e1 9d 01 00       	call   0x51b4a0
5016bf:	83 c4 04             	add    $0x4,%esp
5016c2:	85 c0                	test   %eax,%eax
5016c4:	0f 84 37 01 00 00    	je     0x501801
5016ca:	50                   	push   %eax
5016cb:	6a 1c                	push   $0x1c
5016cd:	e9 f8 00 00 00       	jmp    0x5017ca
5016d2:	83 7b 1c 00          	cmpl   $0x0,0x1c(%ebx)
5016d6:	74 1b                	je     0x5016f3
5016d8:	e8 03 7f fd ff       	call   0x4d95e0
5016dd:	8b f0                	mov    %eax,%esi
5016df:	85 f6                	test   %esi,%esi
5016e1:	0f 84 1a 01 00 00    	je     0x501801
5016e7:	53                   	push   %ebx
5016e8:	56                   	push   %esi
5016e9:	e8 82 a5 01 00       	call   0x51bc70
5016ee:	83 c4 08             	add    $0x8,%esp
5016f1:	eb 02                	jmp    0x5016f5
5016f3:	33 f6                	xor    %esi,%esi
5016f5:	8b 4f 08             	mov    0x8(%edi),%ecx
5016f8:	85 c9                	test   %ecx,%ecx
5016fa:	0f 84 09 01 00 00    	je     0x501809
501700:	8b 07                	mov    (%edi),%eax
501702:	8b 6f 0c             	mov    0xc(%edi),%ebp
501705:	89 44 24 18          	mov    %eax,0x18(%esp)
501709:	8b 47 14             	mov    0x14(%edi),%eax
50170c:	89 44 24 10          	mov    %eax,0x10(%esp)
501710:	83 f9 02             	cmp    $0x2,%ecx
501713:	0f 8f df 00 00 00    	jg     0x5017f8
501719:	e8 62 0a ff ff       	call   0x4f2180
50171e:	8b d8                	mov    %eax,%ebx
501720:	85 db                	test   %ebx,%ebx
501722:	0f 84 d0 00 00 00    	je     0x5017f8
501728:	8b 4c 24 18          	mov    0x18(%esp),%ecx
50172c:	83 fd ff             	cmp    $0xffffffff,%ebp
50172f:	75 13                	jne    0x501744
501731:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
501737:	bd a0 00 00 00       	mov    $0xa0,%ebp
50173c:	b8 00 01 00 00       	mov    $0x100,%eax
501741:	0f 4d e8             	cmovge %eax,%ebp
501744:	8b 44 24 10          	mov    0x10(%esp),%eax
501748:	85 c0                	test   %eax,%eax
50174a:	75 14                	jne    0x501760
50174c:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
501752:	7c 07                	jl     0x50175b
501754:	e8 d7 4d 01 00       	call   0x516530
501759:	eb 05                	jmp    0x501760
50175b:	e8 b0 4d 01 00       	call   0x516510
501760:	8b 4f 08             	mov    0x8(%edi),%ecx
501763:	83 f9 01             	cmp    $0x1,%ecx
501766:	75 1c                	jne    0x501784
501768:	56                   	push   %esi
501769:	6a 00                	push   $0x0
50176b:	6a 00                	push   $0x0
50176d:	6a 00                	push   $0x0
50176f:	6a 00                	push   $0x0
501771:	6a 00                	push   $0x0
501773:	50                   	push   %eax
501774:	55                   	push   %ebp
501775:	ff 74 24 38          	push   0x38(%esp)
501779:	53                   	push   %ebx
50177a:	e8 41 a5 01 00       	call   0x51bcc0
50177f:	83 c4 28             	add    $0x28,%esp
501782:	eb 21                	jmp    0x5017a5
501784:	83 f9 02             	cmp    $0x2,%ecx
501787:	75 58                	jne    0x5017e1
501789:	56                   	push   %esi
50178a:	6a 00                	push   $0x0
50178c:	6a 00                	push   $0x0
50178e:	6a 00                	push   $0x0
501790:	6a ff                	push   $0xffffffff
501792:	6a 00                	push   $0x0
501794:	6a 00                	push   $0x0
501796:	50                   	push   %eax
501797:	55                   	push   %ebp
501798:	ff 74 24 3c          	push   0x3c(%esp)
50179c:	53                   	push   %ebx
50179d:	e8 ee ac 01 00       	call   0x51c490
5017a2:	83 c4 2c             	add    $0x2c,%esp
5017a5:	85 c0                	test   %eax,%eax
5017a7:	7e 38                	jle    0x5017e1
5017a9:	56                   	push   %esi
5017aa:	e8 01 7e fd ff       	call   0x4d95b0
5017af:	53                   	push   %ebx
5017b0:	e8 db 07 ff ff       	call   0x4f1f90
5017b5:	53                   	push   %ebx
5017b6:	8b f0                	mov    %eax,%esi
5017b8:	e8 33 09 ff ff       	call   0x4f20f0
5017bd:	83 c4 0c             	add    $0xc,%esp
5017c0:	85 f6                	test   %esi,%esi
5017c2:	74 3d                	je     0x501801
5017c4:	56                   	push   %esi
5017c5:	68 98 03 00 00       	push   $0x398
5017ca:	ff 74 24 24          	push   0x24(%esp)
5017ce:	e8 0d f3 fe ff       	call   0x4f0ae0
5017d3:	83 c4 0c             	add    $0xc,%esp
5017d6:	b8 01 00 00 00       	mov    $0x1,%eax
5017db:	5e                   	pop    %esi
5017dc:	5d                   	pop    %ebp
5017dd:	5f                   	pop    %edi
5017de:	5b                   	pop    %ebx
5017df:	59                   	pop    %ecx
5017e0:	c3                   	ret
5017e1:	53                   	push   %ebx
5017e2:	e8 09 09 ff ff       	call   0x4f20f0
5017e7:	56                   	push   %esi
5017e8:	e8 c3 7d fd ff       	call   0x4d95b0
5017ed:	83 c4 08             	add    $0x8,%esp
5017f0:	33 c0                	xor    %eax,%eax
5017f2:	5e                   	pop    %esi
5017f3:	5d                   	pop    %ebp
5017f4:	5f                   	pop    %edi
5017f5:	5b                   	pop    %ebx
5017f6:	59                   	pop    %ecx
5017f7:	c3                   	ret
5017f8:	56                   	push   %esi
5017f9:	e8 b2 7d fd ff       	call   0x4d95b0
5017fe:	83 c4 04             	add    $0x4,%esp
501801:	5e                   	pop    %esi
501802:	5d                   	pop    %ebp
501803:	5f                   	pop    %edi
501804:	33 c0                	xor    %eax,%eax
501806:	5b                   	pop    %ebx
501807:	59                   	pop    %ecx
501808:	c3                   	ret
501809:	e8 72 b2 00 00       	call   0x50ca80
50180e:	8b d8                	mov    %eax,%ebx
501810:	56                   	push   %esi
501811:	85 db                	test   %ebx,%ebx
501813:	74 e4                	je     0x5017f9
501815:	ff 77 04             	push   0x4(%edi)
501818:	ff 37                	push   (%edi)
50181a:	53                   	push   %ebx
50181b:	e8 c0 99 01 00       	call   0x51b1e0
501820:	56                   	push   %esi
501821:	8b f8                	mov    %eax,%edi
501823:	e8 88 7d fd ff       	call   0x4d95b0
501828:	83 c4 14             	add    $0x14,%esp
50182b:	53                   	push   %ebx
50182c:	85 ff                	test   %edi,%edi
50182e:	74 16                	je     0x501846
501830:	6a 1c                	push   $0x1c
501832:	ff 74 24 24          	push   0x24(%esp)
501836:	e8 a5 f2 fe ff       	call   0x4f0ae0
50183b:	83 c4 0c             	add    $0xc,%esp
50183e:	8b c7                	mov    %edi,%eax
501840:	5e                   	pop    %esi
501841:	5d                   	pop    %ebp
501842:	5f                   	pop    %edi
501843:	5b                   	pop    %ebx
501844:	59                   	pop    %ecx
501845:	c3                   	ret
501846:	e8 35 b1 00 00       	call   0x50c980
50184b:	83 c4 04             	add    $0x4,%esp
50184e:	8b c7                	mov    %edi,%eax
501850:	5e                   	pop    %esi
501851:	5d                   	pop    %ebp
501852:	5f                   	pop    %edi
501853:	5b                   	pop    %ebx
501854:	59                   	pop    %ecx
501855:	c3                   	ret
501856:	cc                   	int3
501857:	cc                   	int3
501858:	cc                   	int3
501859:	cc                   	int3
50185a:	cc                   	int3
50185b:	cc                   	int3
50185c:	cc                   	int3
50185d:	cc                   	int3
50185e:	cc                   	int3
50185f:	cc                   	int3
501860:	56                   	push   %esi
501861:	8b 74 24 08          	mov    0x8(%esp),%esi
501865:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
501869:	8b 46 14             	mov    0x14(%esi),%eax
50186c:	75 22                	jne    0x501890
50186e:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
501872:	75 1c                	jne    0x501890
501874:	68 94 01 00 00       	push   $0x194
501879:	68 5c 9e 62 00       	push   $0x629e5c
50187e:	6a 6b                	push   $0x6b
501880:	6a 71                	push   $0x71
501882:	6a 05                	push   $0x5
501884:	e8 f7 76 fd ff       	call   0x4d8f80
501889:	83 c4 14             	add    $0x14,%esp
50188c:	33 c0                	xor    %eax,%eax
50188e:	5e                   	pop    %esi
50188f:	c3                   	ret
501890:	8b 40 1c             	mov    0x1c(%eax),%eax
501893:	85 c0                	test   %eax,%eax
501895:	74 0b                	je     0x5018a2
501897:	50                   	push   %eax
501898:	e8 03 9c 01 00       	call   0x51b4a0
50189d:	83 c4 04             	add    $0x4,%esp
5018a0:	eb 05                	jmp    0x5018a7
5018a2:	e8 d9 b1 00 00       	call   0x50ca80
5018a7:	57                   	push   %edi
5018a8:	85 c0                	test   %eax,%eax
5018aa:	74 35                	je     0x5018e1
5018ac:	8b 7c 24 10          	mov    0x10(%esp),%edi
5018b0:	50                   	push   %eax
5018b1:	8b 06                	mov    (%esi),%eax
5018b3:	ff 30                	push   (%eax)
5018b5:	57                   	push   %edi
5018b6:	e8 25 f2 fe ff       	call   0x4f0ae0
5018bb:	8b 46 08             	mov    0x8(%esi),%eax
5018be:	83 c4 0c             	add    $0xc,%esp
5018c1:	85 c0                	test   %eax,%eax
5018c3:	74 0e                	je     0x5018d3
5018c5:	50                   	push   %eax
5018c6:	57                   	push   %edi
5018c7:	e8 24 f3 fe ff       	call   0x4f0bf0
5018cc:	83 c4 08             	add    $0x8,%esp
5018cf:	85 c0                	test   %eax,%eax
5018d1:	74 0e                	je     0x5018e1
5018d3:	ff 77 18             	push   0x18(%edi)
5018d6:	e8 35 69 01 00       	call   0x518210
5018db:	83 c4 04             	add    $0x4,%esp
5018de:	5f                   	pop    %edi
5018df:	5e                   	pop    %esi
5018e0:	c3                   	ret
5018e1:	5f                   	pop    %edi
5018e2:	33 c0                	xor    %eax,%eax
5018e4:	5e                   	pop    %esi
5018e5:	c3                   	ret
5018e6:	cc                   	int3
5018e7:	cc                   	int3
5018e8:	cc                   	int3
5018e9:	cc                   	int3
5018ea:	cc                   	int3
5018eb:	cc                   	int3
5018ec:	cc                   	int3
5018ed:	cc                   	int3
5018ee:	cc                   	int3
5018ef:	cc                   	int3
5018f0:	b8 04 00 00 00       	mov    $0x4,%eax
5018f5:	e8 b6 fe 0c 00       	call   0x5d17b0
5018fa:	8b 44 24 08          	mov    0x8(%esp),%eax
5018fe:	56                   	push   %esi
5018ff:	57                   	push   %edi
501900:	8b 78 08             	mov    0x8(%eax),%edi
501903:	8b 70 14             	mov    0x14(%eax),%esi
501906:	85 ff                	test   %edi,%edi
501908:	0f 84 3a 01 00 00    	je     0x501a48
50190e:	8b 40 0c             	mov    0xc(%eax),%eax
501911:	85 c0                	test   %eax,%eax
501913:	0f 84 2f 01 00 00    	je     0x501a48
501919:	8b 40 18             	mov    0x18(%eax),%eax
50191c:	8b 7f 18             	mov    0x18(%edi),%edi
50191f:	53                   	push   %ebx
501920:	8b 58 14             	mov    0x14(%eax),%ebx
501923:	8a 46 28             	mov    0x28(%esi),%al
501926:	3c 01                	cmp    $0x1,%al
501928:	75 53                	jne    0x50197d
50192a:	8b 44 24 18          	mov    0x18(%esp),%eax
50192e:	57                   	push   %edi
50192f:	85 c0                	test   %eax,%eax
501931:	75 18                	jne    0x50194b
501933:	e8 18 b4 00 00       	call   0x50cd50
501938:	8b 4c 24 20          	mov    0x20(%esp),%ecx
50193c:	83 c4 04             	add    $0x4,%esp
50193f:	5b                   	pop    %ebx
501940:	5f                   	pop    %edi
501941:	89 01                	mov    %eax,(%ecx)
501943:	b8 01 00 00 00       	mov    $0x1,%eax
501948:	5e                   	pop    %esi
501949:	59                   	pop    %ecx
50194a:	c3                   	ret
50194b:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
50194f:	53                   	push   %ebx
501950:	50                   	push   %eax
501951:	74 07                	je     0x50195a
501953:	e8 48 68 01 00       	call   0x5181a0
501958:	eb 05                	jmp    0x50195f
50195a:	e8 31 68 01 00       	call   0x518190
50195f:	8b c8                	mov    %eax,%ecx
501961:	83 c4 0c             	add    $0xc,%esp
501964:	85 c9                	test   %ecx,%ecx
501966:	79 05                	jns    0x50196d
501968:	5b                   	pop    %ebx
501969:	5f                   	pop    %edi
50196a:	5e                   	pop    %esi
50196b:	59                   	pop    %ecx
50196c:	c3                   	ret
50196d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
501971:	5b                   	pop    %ebx
501972:	5f                   	pop    %edi
501973:	89 08                	mov    %ecx,(%eax)
501975:	b8 01 00 00 00       	mov    $0x1,%eax
50197a:	5e                   	pop    %esi
50197b:	59                   	pop    %ecx
50197c:	c3                   	ret
50197d:	3c 02                	cmp    $0x2,%al
50197f:	0f 85 bc 00 00 00    	jne    0x501a41
501985:	8b 4e 3c             	mov    0x3c(%esi),%ecx
501988:	85 c9                	test   %ecx,%ecx
50198a:	0f 84 b1 00 00 00    	je     0x501a41
501990:	83 7e 2c 00          	cmpl   $0x0,0x2c(%esi)