51781e:	3b f0                	cmp    %eax,%esi
517820:	7c 9e                	jl     0x5177c0
517822:	5b                   	pop    %ebx
517823:	5e                   	pop    %esi
517824:	5d                   	pop    %ebp
517825:	5f                   	pop    %edi
517826:	59                   	pop    %ecx
517827:	c3                   	ret
517828:	8b 44 24 24          	mov    0x24(%esp),%eax
51782c:	89 1f                	mov    %ebx,(%edi)
51782e:	89 47 04             	mov    %eax,0x4(%edi)
517831:	5b                   	pop    %ebx
517832:	5e                   	pop    %esi
517833:	5d                   	pop    %ebp
517834:	5f                   	pop    %edi
517835:	59                   	pop    %ecx
517836:	c3                   	ret
517837:	cc                   	int3
517838:	cc                   	int3
517839:	cc                   	int3
51783a:	cc                   	int3
51783b:	cc                   	int3
51783c:	cc                   	int3
51783d:	cc                   	int3
51783e:	cc                   	int3
51783f:	cc                   	int3
517840:	8b 44 24 04          	mov    0x4(%esp),%eax
517844:	83 78 10 00          	cmpl   $0x0,0x10(%eax)
517848:	74 22                	je     0x51786c
51784a:	8b 4c 24 08          	mov    0x8(%esp),%ecx
51784e:	85 c9                	test   %ecx,%ecx
517850:	74 1a                	je     0x51786c
517852:	ff 70 24             	push   0x24(%eax)
517855:	6a 01                	push   $0x1
517857:	ff 74 24 14          	push   0x14(%esp)
51785b:	51                   	push   %ecx
51785c:	e8 b1 f3 0c 00       	call   0x5e6c12
517861:	83 c4 10             	add    $0x10,%esp
517864:	85 c0                	test   %eax,%eax
517866:	0f 45 44 24 0c       	cmovne 0xc(%esp),%eax
51786b:	c3                   	ret
51786c:	33 c0                	xor    %eax,%eax
51786e:	c3                   	ret
51786f:	cc                   	int3
517870:	56                   	push   %esi
517871:	8b 74 24 08          	mov    0x8(%esp),%esi
517875:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
517879:	74 6a                	je     0x5178e5
51787b:	8b 44 24 0c          	mov    0xc(%esp),%eax
51787f:	85 c0                	test   %eax,%eax
517881:	74 62                	je     0x5178e5
517883:	57                   	push   %edi
517884:	ff 76 24             	push   0x24(%esi)
517887:	ff 74 24 18          	push   0x18(%esp)
51788b:	6a 01                	push   $0x1
51788d:	50                   	push   %eax
51788e:	e8 88 e6 0c 00       	call   0x5e5f1b
517893:	8b f8                	mov    %eax,%edi
517895:	8b 46 24             	mov    0x24(%esi),%eax
517898:	50                   	push   %eax
517899:	e8 74 e3 0c 00       	call   0x5e5c12
51789e:	83 c4 14             	add    $0x14,%esp
5178a1:	85 c0                	test   %eax,%eax
5178a3:	74 3b                	je     0x5178e0
5178a5:	68 95 00 00 00       	push   $0x95
5178aa:	68 ec 19 63 00       	push   $0x6319ec
5178af:	ff 15 58 21 60 00    	call   *0x602158
5178b5:	50                   	push   %eax
5178b6:	6a 0b                	push   $0xb
5178b8:	6a 02                	push   $0x2
5178ba:	e8 c1 16 fc ff       	call   0x4d8f80
5178bf:	68 96 00 00 00       	push   $0x96
5178c4:	68 ec 19 63 00       	push   $0x6319ec
5178c9:	6a 02                	push   $0x2
5178cb:	68 82 00 00 00       	push   $0x82
5178d0:	6a 20                	push   $0x20
5178d2:	e8 a9 16 fc ff       	call   0x4d8f80
5178d7:	83 c4 28             	add    $0x28,%esp
5178da:	83 c8 ff             	or     $0xffffffff,%eax
5178dd:	5f                   	pop    %edi
5178de:	5e                   	pop    %esi
5178df:	c3                   	ret
5178e0:	8b c7                	mov    %edi,%eax
5178e2:	5f                   	pop    %edi
5178e3:	5e                   	pop    %esi
5178e4:	c3                   	ret
5178e5:	33 c0                	xor    %eax,%eax
5178e7:	5e                   	pop    %esi
5178e8:	c3                   	ret
5178e9:	cc                   	int3
5178ea:	cc                   	int3
5178eb:	cc                   	int3
5178ec:	cc                   	int3
5178ed:	cc                   	int3
5178ee:	cc                   	int3
5178ef:	cc                   	int3
5178f0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5178f4:	56                   	push   %esi
5178f5:	8b f1                	mov    %ecx,%esi
5178f7:	8d 56 01             	lea    0x1(%esi),%edx
5178fa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
517900:	8a 06                	mov    (%esi),%al
517902:	46                   	inc    %esi
517903:	84 c0                	test   %al,%al
517905:	75 f9                	jne    0x517900
517907:	8b 44 24 08          	mov    0x8(%esp),%eax
51790b:	2b f2                	sub    %edx,%esi
51790d:	83 78 10 00          	cmpl   $0x0,0x10(%eax)
517911:	74 1a                	je     0x51792d
517913:	85 c9                	test   %ecx,%ecx
517915:	74 16                	je     0x51792d
517917:	ff 70 24             	push   0x24(%eax)
51791a:	6a 01                	push   $0x1
51791c:	56                   	push   %esi
51791d:	51                   	push   %ecx
51791e:	e8 ef f2 0c 00       	call   0x5e6c12
517923:	83 c4 10             	add    $0x10,%esp
517926:	85 c0                	test   %eax,%eax
517928:	0f 45 c6             	cmovne %esi,%eax
51792b:	5e                   	pop    %esi
51792c:	c3                   	ret
51792d:	33 c0                	xor    %eax,%eax
51792f:	5e                   	pop    %esi
517930:	c3                   	ret
517931:	cc                   	int3
517932:	cc                   	int3
517933:	cc                   	int3
517934:	cc                   	int3
517935:	cc                   	int3
517936:	cc                   	int3
517937:	cc                   	int3
517938:	cc                   	int3
517939:	cc                   	int3
51793a:	cc                   	int3
51793b:	cc                   	int3
51793c:	cc                   	int3
51793d:	cc                   	int3
51793e:	cc                   	int3
51793f:	cc                   	int3
517940:	8b 44 24 04          	mov    0x4(%esp),%eax
517944:	56                   	push   %esi
517945:	8b 74 24 0c          	mov    0xc(%esp),%esi
517949:	c6 06 00             	movb   $0x0,(%esi)
51794c:	ff 70 24             	push   0x24(%eax)
51794f:	ff 74 24 14          	push   0x14(%esp)
517953:	56                   	push   %esi
517954:	e8 b7 e3 0c 00       	call   0x5e5d10
517959:	83 c4 0c             	add    $0xc,%esp
51795c:	85 c0                	test   %eax,%eax
51795e:	74 15                	je     0x517975
517960:	80 3e 00             	cmpb   $0x0,(%esi)
517963:	74 10                	je     0x517975
517965:	8d 4e 01             	lea    0x1(%esi),%ecx
517968:	8a 06                	mov    (%esi),%al
51796a:	46                   	inc    %esi
51796b:	84 c0                	test   %al,%al
51796d:	75 f9                	jne    0x517968
51796f:	2b f1                	sub    %ecx,%esi
517971:	8b c6                	mov    %esi,%eax
517973:	5e                   	pop    %esi
517974:	c3                   	ret
517975:	33 c0                	xor    %eax,%eax
517977:	5e                   	pop    %esi
517978:	c3                   	ret
517979:	cc                   	int3
51797a:	cc                   	int3
51797b:	cc                   	int3
51797c:	cc                   	int3
51797d:	cc                   	int3
51797e:	cc                   	int3
51797f:	cc                   	int3
517980:	8b 44 24 08          	mov    0x8(%esp),%eax
517984:	53                   	push   %ebx
517985:	56                   	push   %esi
517986:	8b 74 24 0c          	mov    0xc(%esp),%esi
51798a:	48                   	dec    %eax
51798b:	57                   	push   %edi
51798c:	bf 01 00 00 00       	mov    $0x1,%edi
517991:	8b 4e 24             	mov    0x24(%esi),%ecx
517994:	3d 84 00 00 00       	cmp    $0x84,%eax
517999:	0f 87 3d 02 00 00    	ja     0x517bdc
51799f:	0f b6 80 10 7c 51 00 	movzbl 0x517c10(%eax),%eax
5179a6:	ff 24 85 e4 7b 51 00 	jmp    *0x517be4(,%eax,4)
5179ad:	6a 00                	push   $0x0
5179af:	ff 74 24 1c          	push   0x1c(%esp)
5179b3:	51                   	push   %ecx
5179b4:	e8 05 e9 0c 00       	call   0x5e62be
5179b9:	83 c4 0c             	add    $0xc,%esp
5179bc:	8b f8                	mov    %eax,%edi
5179be:	5f                   	pop    %edi
5179bf:	5e                   	pop    %esi
5179c0:	5b                   	pop    %ebx
5179c1:	c3                   	ret
5179c2:	51                   	push   %ecx
5179c3:	e8 1e e2 0c 00       	call   0x5e5be6
5179c8:	83 c4 04             	add    $0x4,%esp
5179cb:	8b f8                	mov    %eax,%edi
5179cd:	5f                   	pop    %edi
5179ce:	5e                   	pop    %esi
5179cf:	5b                   	pop    %ebx
5179d0:	c3                   	ret
5179d1:	51                   	push   %ecx
5179d2:	e8 46 ef 0c 00       	call   0x5e691d
5179d7:	83 c4 04             	add    $0x4,%esp
5179da:	8b f8                	mov    %eax,%edi
5179dc:	5f                   	pop    %edi
5179dd:	5e                   	pop    %esi
5179de:	5b                   	pop    %ebx
5179df:	c3                   	ret
5179e0:	56                   	push   %esi
5179e1:	e8 ea 02 00 00       	call   0x517cd0
5179e6:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
5179ea:	8b c3                	mov    %ebx,%eax
5179ec:	83 e0 01             	and    $0x1,%eax
5179ef:	89 7e 10             	mov    %edi,0x10(%esi)
5179f2:	89 46 14             	mov    %eax,0x14(%esi)
5179f5:	8b 44 24 20          	mov    0x20(%esp),%eax
5179f9:	50                   	push   %eax
5179fa:	89 46 24             	mov    %eax,0x24(%esi)
5179fd:	e8 19 e3 0c 00       	call   0x5e5d1b
517a02:	f6 c3 10             	test   $0x10,%bl
517a05:	ba 00 80 00 00       	mov    $0x8000,%edx
517a0a:	b9 00 40 00 00       	mov    $0x4000,%ecx
517a0f:	0f 44 ca             	cmove  %edx,%ecx
517a12:	51                   	push   %ecx
517a13:	50                   	push   %eax
517a14:	e8 e1 c1 0c 00       	call   0x5e3bfa
517a19:	83 c4 10             	add    $0x10,%esp
517a1c:	8b c7                	mov    %edi,%eax
517a1e:	5f                   	pop    %edi
517a1f:	5e                   	pop    %esi
517a20:	5b                   	pop    %ebx
517a21:	c3                   	ret
517a22:	83 7e 14 00          	cmpl   $0x0,0x14(%esi)
517a26:	74 28                	je     0x517a50
517a28:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
517a2c:	74 1b                	je     0x517a49
517a2e:	85 c9                	test   %ecx,%ecx
517a30:	74 17                	je     0x517a49
517a32:	51                   	push   %ecx
517a33:	e8 7e e1 0c 00       	call   0x5e5bb6
517a38:	83 c4 04             	add    $0x4,%esp
517a3b:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
517a42:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
517a49:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
517a50:	8b 5c 24 18          	mov    0x18(%esp),%ebx
517a54:	8b c3                	mov    %ebx,%eax
517a56:	83 e0 01             	and    $0x1,%eax
517a59:	89 46 14             	mov    %eax,0x14(%esi)
517a5c:	f6 c3 08             	test   $0x8,%bl
517a5f:	74 12                	je     0x517a73
517a61:	f6 c3 02             	test   $0x2,%bl
517a64:	b8 18 1a 63 00       	mov    $0x631a18,%eax
517a69:	b9 14 1a 63 00       	mov    $0x631a14,%ecx
517a6e:	0f 45 c1             	cmovne %ecx,%eax
517a71:	eb 2a                	jmp    0x517a9d
517a73:	8b c3                	mov    %ebx,%eax
517a75:	83 e0 06             	and    $0x6,%eax
517a78:	3c 06                	cmp    $0x6,%al
517a7a:	75 07                	jne    0x517a83
517a7c:	b8 1c 1a 63 00       	mov    $0x631a1c,%eax
517a81:	eb 1a                	jmp    0x517a9d
517a83:	f6 c3 04             	test   $0x4,%bl
517a86:	74 07                	je     0x517a8f
517a88:	b8 20 1a 63 00       	mov    $0x631a20,%eax
517a8d:	eb 0e                	jmp    0x517a9d
517a8f:	f6 c3 02             	test   $0x2,%bl
517a92:	0f 84 b2 00 00 00    	je     0x517b4a
517a98:	b8 54 23 61 00       	mov    $0x612354,%eax
517a9d:	6a 04                	push   $0x4
517a9f:	50                   	push   %eax
517aa0:	8d 44 24 18          	lea    0x18(%esp),%eax
517aa4:	50                   	push   %eax
517aa5:	e8 16 aa fc ff       	call   0x4e24c0
517aaa:	f6 c3 10             	test   $0x10,%bl
517aad:	b9 24 1a 63 00       	mov    $0x631a24,%ecx
517ab2:	b8 fc aa 60 00       	mov    $0x60aafc,%eax
517ab7:	0f 44 c1             	cmove  %ecx,%eax
517aba:	6a 04                	push   $0x4
517abc:	50                   	push   %eax
517abd:	8d 44 24 24          	lea    0x24(%esp),%eax
517ac1:	50                   	push   %eax
517ac2:	e8 99 a9 fc ff       	call   0x4e2460
517ac7:	8b 5c 24 34          	mov    0x34(%esp),%ebx
517acb:	8d 44 24 28          	lea    0x28(%esp),%eax
517acf:	50                   	push   %eax
517ad0:	53                   	push   %ebx
517ad1:	e8 8a c4 03 00       	call   0x553f60
517ad6:	83 c4 20             	add    $0x20,%esp
517ad9:	85 c0                	test   %eax,%eax
517adb:	75 56                	jne    0x517b33
517add:	68 20 01 00 00       	push   $0x120
517ae2:	68 ec 19 63 00       	push   $0x6319ec
517ae7:	ff 15 58 21 60 00    	call   *0x602158
517aed:	50                   	push   %eax
517aee:	6a 01                	push   $0x1
517af0:	6a 02                	push   $0x2
517af2:	e8 89 14 fc ff       	call   0x4d8f80
517af7:	68 04 1a 63 00       	push   $0x631a04
517afc:	8d 44 24 28          	lea    0x28(%esp),%eax
517b00:	50                   	push   %eax
517b01:	68 08 1a 63 00       	push   $0x631a08
517b06:	53                   	push   %ebx
517b07:	68 0c 1a 63 00       	push   $0x631a0c
517b0c:	6a 05                	push   $0x5
517b0e:	e8 5d 0b fc ff       	call   0x4d8670
517b13:	68 22 01 00 00       	push   $0x122
517b18:	68 ec 19 63 00       	push   $0x6319ec
517b1d:	6a 02                	push   $0x2
517b1f:	6a 74                	push   $0x74
517b21:	6a 20                	push   $0x20
517b23:	e8 58 14 fc ff       	call   0x4d8f80
517b28:	83 c4 40             	add    $0x40,%esp
517b2b:	33 ff                	xor    %edi,%edi
517b2d:	8b c7                	mov    %edi,%eax
517b2f:	5f                   	pop    %edi
517b30:	5e                   	pop    %esi
517b31:	5b                   	pop    %ebx
517b32:	c3                   	ret
517b33:	6a 00                	push   $0x0
517b35:	56                   	push   %esi
517b36:	89 46 24             	mov    %eax,0x24(%esi)
517b39:	89 7e 10             	mov    %edi,0x10(%esi)
517b3c:	e8 bf 0f fe ff       	call   0x4f8b00
517b41:	83 c4 08             	add    $0x8,%esp
517b44:	8b c7                	mov    %edi,%eax
517b46:	5f                   	pop    %edi
517b47:	5e                   	pop    %esi
517b48:	5b                   	pop    %ebx
517b49:	c3                   	ret
517b4a:	68 11 01 00 00       	push   $0x111
517b4f:	68 ec 19 63 00       	push   $0x6319ec
517b54:	6a 65                	push   $0x65
517b56:	6a 74                	push   $0x74
517b58:	6a 20                	push   $0x20
517b5a:	e8 21 14 fc ff       	call   0x4d8f80
517b5f:	83 c4 14             	add    $0x14,%esp
517b62:	33 ff                	xor    %edi,%edi
517b64:	8b c7                	mov    %edi,%eax
517b66:	5f                   	pop    %edi
517b67:	5e                   	pop    %esi
517b68:	5b                   	pop    %ebx
517b69:	c3                   	ret
517b6a:	8b 44 24 1c          	mov    0x1c(%esp),%eax
517b6e:	85 c0                	test   %eax,%eax
517b70:	74 6c                	je     0x517bde
517b72:	89 08                	mov    %ecx,(%eax)
517b74:	8b c7                	mov    %edi,%eax
517b76:	5f                   	pop    %edi
517b77:	5e                   	pop    %esi