517870:	8b 48 04             	mov    0x4(%eax),%ecx
517873:	0f bf 09             	movswl (%ecx),%ecx
517876:	3b cf                	cmp    %edi,%ecx
517878:	75 0c                	jne    0x517886
51787a:	8b 4e 04             	mov    0x4(%esi),%ecx
51787d:	8b 50 20             	mov    0x20(%eax),%edx
517880:	8b 4c 99 08          	mov    0x8(%ecx,%ebx,4),%ecx
517884:	89 0a                	mov    %ecx,(%edx)
517886:	8b 40 14             	mov    0x14(%eax),%eax
517889:	85 c0                	test   %eax,%eax
51788b:	75 e3                	jne    0x517870
51788d:	5f                   	pop    %edi
51788e:	5e                   	pop    %esi
51788f:	5b                   	pop    %ebx
517890:	8b e5                	mov    %ebp,%esp
517892:	5d                   	pop    %ebp
517893:	c3                   	ret
517894:	8b 4d 08             	mov    0x8(%ebp),%ecx
517897:	51                   	push   %ecx
517898:	ff 75 fc             	push   -0x4(%ebp)
51789b:	e8 d0 9a 00 00       	call   0x521370
5178a0:	83 c4 08             	add    $0x8,%esp
5178a3:	5f                   	pop    %edi
5178a4:	5e                   	pop    %esi
5178a5:	5b                   	pop    %ebx
5178a6:	8b e5                	mov    %ebp,%esp
5178a8:	5d                   	pop    %ebp
5178a9:	c3                   	ret
5178aa:	cc                   	int3
5178ab:	cc                   	int3
5178ac:	cc                   	int3
5178ad:	cc                   	int3
5178ae:	cc                   	int3
5178af:	cc                   	int3
5178b0:	55                   	push   %ebp
5178b1:	8b ec                	mov    %esp,%ebp
5178b3:	83 ec 08             	sub    $0x8,%esp
5178b6:	56                   	push   %esi
5178b7:	8b 75 08             	mov    0x8(%ebp),%esi
5178ba:	57                   	push   %edi
5178bb:	8b be e4 00 00 00    	mov    0xe4(%esi),%edi
5178c1:	8b 16                	mov    (%esi),%edx
5178c3:	89 55 f8             	mov    %edx,-0x8(%ebp)
5178c6:	85 ff                	test   %edi,%edi
5178c8:	0f 84 bb 01 00 00    	je     0x517a89
5178ce:	0f bf 47 2a          	movswl 0x2a(%edi),%eax
5178d2:	40                   	inc    %eax
5178d3:	3b 42 74             	cmp    0x74(%edx),%eax
5178d6:	7e 16                	jle    0x5178ee
5178d8:	ff 37                	push   (%edi)
5178da:	68 60 9e 6b 00       	push   $0x6b9e60
5178df:	56                   	push   %esi
5178e0:	e8 7b b9 00 00       	call   0x523260
5178e5:	83 c4 0c             	add    $0xc,%esp
5178e8:	5f                   	pop    %edi
5178e9:	5e                   	pop    %esi
5178ea:	8b e5                	mov    %ebp,%esp
5178ec:	5d                   	pop    %ebp
5178ed:	c3                   	ret
5178ee:	8b 45 10             	mov    0x10(%ebp),%eax
5178f1:	53                   	push   %ebx
5178f2:	6a 00                	push   $0x0
5178f4:	8b 48 04             	mov    0x4(%eax),%ecx
5178f7:	8b 45 0c             	mov    0xc(%ebp),%eax
5178fa:	83 c1 02             	add    $0x2,%ecx
5178fd:	8b 40 04             	mov    0x4(%eax),%eax
517900:	03 c1                	add    %ecx,%eax
517902:	50                   	push   %eax
517903:	52                   	push   %edx
517904:	e8 d7 9a 00 00       	call   0x5213e0
517909:	8b d8                	mov    %eax,%ebx
51790b:	83 c4 0c             	add    $0xc,%esp
51790e:	85 db                	test   %ebx,%ebx
517910:	0f 84 72 01 00 00    	je     0x517a88
517916:	80 be c8 00 00 00 02 	cmpb   $0x2,0xc8(%esi)
51791d:	72 0d                	jb     0x51792c
51791f:	ff 75 0c             	push   0xc(%ebp)
517922:	53                   	push   %ebx
517923:	56                   	push   %esi
517924:	e8 27 05 02 00       	call   0x537e50
517929:	83 c4 0c             	add    $0xc,%esp
51792c:	8b 75 0c             	mov    0xc(%ebp),%esi
51792f:	ff 76 04             	push   0x4(%esi)
517932:	ff 36                	push   (%esi)
517934:	53                   	push   %ebx
517935:	e8 c6 b5 0c 00       	call   0x5e2f00
51793a:	8b 46 04             	mov    0x4(%esi),%eax
51793d:	53                   	push   %ebx
51793e:	c6 04 03 00          	movb   $0x0,(%ebx,%eax,1)
517942:	e8 99 ab 00 00       	call   0x5224e0
517947:	0f b7 57 2a          	movzwl 0x2a(%edi),%edx
51794b:	33 c9                	xor    %ecx,%ecx
51794d:	33 c0                	xor    %eax,%eax
51794f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
517952:	83 c4 10             	add    $0x10,%esp
517955:	66 3b c2             	cmp    %dx,%ax
517958:	7d 2f                	jge    0x517989
51795a:	8b 77 04             	mov    0x4(%edi),%esi
51795d:	0f 1f 00             	nopl   (%eax)
517960:	8b 06                	mov    (%esi),%eax
517962:	85 c0                	test   %eax,%eax
517964:	74 15                	je     0x51797b
517966:	50                   	push   %eax
517967:	53                   	push   %ebx
517968:	e8 c3 62 02 00       	call   0x53dc30
51796d:	83 c4 08             	add    $0x8,%esp
517970:	85 c0                	test   %eax,%eax
517972:	74 61                	je     0x5179d5
517974:	8b 4d fc             	mov    -0x4(%ebp),%ecx
517977:	0f b7 57 2a          	movzwl 0x2a(%edi),%edx
51797b:	41                   	inc    %ecx
51797c:	0f bf c2             	movswl %dx,%eax
51797f:	83 c6 14             	add    $0x14,%esi
517982:	89 4d fc             	mov    %ecx,-0x4(%ebp)
517985:	3b c8                	cmp    %eax,%ecx
517987:	7c d7                	jl     0x517960
517989:	f6 c2 07             	test   $0x7,%dl
51798c:	75 6d                	jne    0x5179fb
51798e:	0f bf c2             	movswl %dx,%eax
517991:	99                   	cltd
517992:	83 c0 08             	add    $0x8,%eax
517995:	8b c8                	mov    %eax,%ecx
517997:	83 d2 00             	adc    $0x0,%edx
51799a:	8b f2                	mov    %edx,%esi
51799c:	0f a4 ce 02          	shld   $0x2,%ecx,%esi
5179a0:	6a 00                	push   $0x0
5179a2:	c1 e1 02             	shl    $0x2,%ecx
5179a5:	03 c1                	add    %ecx,%eax
5179a7:	13 d6                	adc    %esi,%edx
5179a9:	8b 75 f8             	mov    -0x8(%ebp),%esi
5179ac:	0f a4 c2 02          	shld   $0x2,%eax,%edx
5179b0:	c1 e0 02             	shl    $0x2,%eax
5179b3:	50                   	push   %eax
5179b4:	ff 77 04             	push   0x4(%edi)
5179b7:	56                   	push   %esi
5179b8:	e8 a3 9b 00 00       	call   0x521560
5179bd:	83 c4 10             	add    $0x10,%esp
5179c0:	85 c0                	test   %eax,%eax
5179c2:	75 34                	jne    0x5179f8
5179c4:	53                   	push   %ebx
5179c5:	56                   	push   %esi
5179c6:	e8 a5 99 00 00       	call   0x521370
5179cb:	83 c4 08             	add    $0x8,%esp
5179ce:	5b                   	pop    %ebx
5179cf:	5f                   	pop    %edi
5179d0:	5e                   	pop    %esi
5179d1:	8b e5                	mov    %ebp,%esp
5179d3:	5d                   	pop    %ebp
5179d4:	c3                   	ret
5179d5:	8b 45 08             	mov    0x8(%ebp),%eax
5179d8:	53                   	push   %ebx
5179d9:	68 78 9e 6b 00       	push   $0x6b9e78
5179de:	50                   	push   %eax
5179df:	e8 7c b8 00 00       	call   0x523260
5179e4:	8b 75 f8             	mov    -0x8(%ebp),%esi
5179e7:	53                   	push   %ebx
5179e8:	56                   	push   %esi
5179e9:	e8 82 99 00 00       	call   0x521370
5179ee:	83 c4 14             	add    $0x14,%esp
5179f1:	5b                   	pop    %ebx
5179f2:	5f                   	pop    %edi
5179f3:	5e                   	pop    %esi
5179f4:	8b e5                	mov    %ebp,%esp
5179f6:	5d                   	pop    %ebp
5179f7:	c3                   	ret
5179f8:	89 47 04             	mov    %eax,0x4(%edi)
5179fb:	0f bf 47 2a          	movswl 0x2a(%edi),%eax
5179ff:	0f 57 c0             	xorps  %xmm0,%xmm0
517a02:	8b 55 10             	mov    0x10(%ebp),%edx
517a05:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
517a08:	8b 47 04             	mov    0x4(%edi),%eax
517a0b:	0f 11 04 88          	movups %xmm0,(%eax,%ecx,4)
517a0f:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
517a16:	00
517a17:	89 1c 88             	mov    %ebx,(%eax,%ecx,4)
517a1a:	8b 52 04             	mov    0x4(%edx),%edx
517a1d:	8d 04 88             	lea    (%eax,%ecx,4),%eax
517a20:	89 45 f8             	mov    %eax,-0x8(%ebp)
517a23:	85 d2                	test   %edx,%edx
517a25:	75 08                	jne    0x517a2f
517a27:	66 c7 40 0d 41 01    	movw   $0x141,0xd(%eax)
517a2d:	eb 47                	jmp    0x517a76
517a2f:	8b cb                	mov    %ebx,%ecx
517a31:	8d 71 01             	lea    0x1(%ecx),%esi
517a34:	8a 01                	mov    (%ecx),%al
517a36:	41                   	inc    %ecx
517a37:	84 c0                	test   %al,%al
517a39:	75 f9                	jne    0x517a34
517a3b:	2b ce                	sub    %esi,%ecx
517a3d:	8d 73 01             	lea    0x1(%ebx),%esi
517a40:	8b 5d 10             	mov    0x10(%ebp),%ebx
517a43:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
517a49:	52                   	push   %edx
517a4a:	03 f1                	add    %ecx,%esi
517a4c:	ff 33                	push   (%ebx)
517a4e:	56                   	push   %esi
517a4f:	e8 ac b4 0c 00       	call   0x5e2f00
517a54:	8b 43 04             	mov    0x4(%ebx),%eax
517a57:	56                   	push   %esi
517a58:	c6 04 06 00          	movb   $0x0,(%esi,%eax,1)
517a5c:	e8 7f aa 00 00       	call   0x5224e0
517a61:	8b 5d f8             	mov    -0x8(%ebp),%ebx
517a64:	53                   	push   %ebx
517a65:	56                   	push   %esi
517a66:	e8 55 06 00 00       	call   0x5180c0
517a6b:	83 c4 18             	add    $0x18,%esp
517a6e:	88 43 0d             	mov    %al,0xd(%ebx)
517a71:	66 83 4b 10 04       	orw    $0x4,0x10(%ebx)
517a76:	8b 45 08             	mov    0x8(%ebp),%eax
517a79:	66 ff 47 2a          	incw   0x2a(%edi)
517a7d:	66 ff 47 2c          	incw   0x2c(%edi)
517a81:	c7 40 4c 00 00 00 00 	movl   $0x0,0x4c(%eax)
517a88:	5b                   	pop    %ebx
517a89:	5f                   	pop    %edi
517a8a:	5e                   	pop    %esi
517a8b:	8b e5                	mov    %ebp,%esp
517a8d:	5d                   	pop    %ebp
517a8e:	c3                   	ret
517a8f:	cc                   	int3
517a90:	55                   	push   %ebp
517a91:	8b ec                	mov    %esp,%ebp
517a93:	83 ec 68             	sub    $0x68,%esp
517a96:	a1 d4 89 72 00       	mov    0x7289d4,%eax
517a9b:	33 c5                	xor    %ebp,%eax
517a9d:	89 45 fc             	mov    %eax,-0x4(%ebp)
517aa0:	8b 45 10             	mov    0x10(%ebp),%eax
517aa3:	53                   	push   %ebx
517aa4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
517aa7:	56                   	push   %esi
517aa8:	8b 75 08             	mov    0x8(%ebp),%esi
517aab:	89 45 cc             	mov    %eax,-0x34(%ebp)
517aae:	8b 45 14             	mov    0x14(%ebp),%eax
517ab1:	57                   	push   %edi
517ab2:	8b 96 e4 00 00 00    	mov    0xe4(%esi),%edx
517ab8:	8b 3e                	mov    (%esi),%edi
517aba:	89 45 d0             	mov    %eax,-0x30(%ebp)
517abd:	85 d2                	test   %edx,%edx
517abf:	0f 84 fb 00 00 00    	je     0x517bc0
517ac5:	80 bf a5 00 00 00 00 	cmpb   $0x0,0xa5(%edi)
517acc:	74 10                	je     0x517ade
517ace:	80 bf a4 00 00 00 01 	cmpb   $0x1,0xa4(%edi)
517ad5:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
517adc:	75 07                	jne    0x517ae5
517ade:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
517ae5:	0f bf 42 2a          	movswl 0x2a(%edx),%eax
517ae9:	c7 45 e4 c0 12 50 00 	movl   $0x5012c0,-0x1c(%ebp)
517af0:	c7 45 e8 f0 c7 53 00 	movl   $0x53c7f0,-0x18(%ebp)
517af7:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
517afe:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
517b01:	8b 42 04             	mov    0x4(%edx),%eax
517b04:	8d 04 88             	lea    (%eax,%ecx,4),%eax
517b07:	8b 4d d8             	mov    -0x28(%ebp),%ecx
517b0a:	0f b6 c9             	movzbl %cl,%ecx
517b0d:	83 c0 ec             	add    $0xffffffec,%eax
517b10:	66 83 c1 04          	add    $0x4,%cx
517b14:	89 45 d4             	mov    %eax,-0x2c(%ebp)
517b17:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
517b1b:	85 db                	test   %ebx,%ebx
517b1d:	74 14                	je     0x517b33
517b1f:	8d 45 e0             	lea    -0x20(%ebp),%eax
517b22:	53                   	push   %ebx
517b23:	50                   	push   %eax
517b24:	e8 87 84 04 00       	call   0x55ffb0
517b29:	66 8b 4d f4          	mov    -0xc(%ebp),%cx
517b2d:	83 c4 08             	add    $0x8,%esp
517b30:	8b 45 d4             	mov    -0x2c(%ebp),%eax
517b33:	66 85 c9             	test   %cx,%cx
517b36:	75 12                	jne    0x517b4a
517b38:	ff 30                	push   (%eax)
517b3a:	68 94 9e 6b 00       	push   $0x6b9e94
517b3f:	56                   	push   %esi
517b40:	e8 1b b7 00 00       	call   0x523260
517b45:	83 c4 0c             	add    $0xc,%esp
517b48:	eb 76                	jmp    0x517bc0
517b4a:	f6 40 10 60          	testb  $0x60,0x10(%eax)
517b4e:	74 0d                	je     0x517b5d
517b50:	68 c4 9e 6b 00       	push   $0x6b9ec4
517b55:	56                   	push   %esi
517b56:	e8 05 b7 00 00       	call   0x523260
517b5b:	eb 60                	jmp    0x517bbd
517b5d:	8b 40 04             	mov    0x4(%eax),%eax
517b60:	85 c0                	test   %eax,%eax
517b62:	74 0a                	je     0x517b6e
517b64:	50                   	push   %eax
517b65:	57                   	push   %edi
517b66:	e8 45 ec 00 00       	call   0x5267b0
517b6b:	83 c4 08             	add    $0x8,%esp
517b6e:	6a 34                	push   $0x34
517b70:	8d 45 98             	lea    -0x68(%ebp),%eax
517b73:	6a 00                	push   $0x0
517b75:	50                   	push   %eax
517b76:	e8 85 be 0c 00       	call   0x5e3a00
517b7b:	ff 75 d0             	push   -0x30(%ebp)
517b7e:	c6 45 98 b2          	movb   $0xb2,-0x68(%ebp)
517b82:	ff 75 cc             	push   -0x34(%ebp)
517b85:	57                   	push   %edi
517b86:	e8 95 9a 00 00       	call   0x521620
517b8b:	6a 00                	push   $0x0
517b8d:	89 45 a0             	mov    %eax,-0x60(%ebp)
517b90:	8d 45 98             	lea    -0x68(%ebp),%eax
517b93:	6a 01                	push   $0x1
517b95:	50                   	push   %eax
517b96:	57                   	push   %edi
517b97:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
517b9a:	c7 45 9c 00 10 00 00 	movl   $0x1000,-0x64(%ebp)
517ba1:	e8 ba 8c fe ff       	call   0x500860
517ba6:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
517ba9:	83 c4 28             	add    $0x28,%esp
517bac:	89 41 04             	mov    %eax,0x4(%ecx)
517baf:	8b 45 a0             	mov    -0x60(%ebp),%eax
517bb2:	85 c0                	test   %eax,%eax
517bb4:	74 0a                	je     0x517bc0
517bb6:	50                   	push   %eax
517bb7:	57                   	push   %edi
517bb8:	e8 b3 97 00 00       	call   0x521370
517bbd:	83 c4 08             	add    $0x8,%esp
517bc0:	8a 86 c8 00 00 00    	mov    0xc8(%esi),%al
517bc6:	88 45 df             	mov    %al,-0x21(%ebp)
517bc9:	3c 02                	cmp    $0x2,%al
517bcb:	72 45                	jb     0x517c12
517bcd:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
517bd4:	0f 57 c0             	xorps  %xmm0,%xmm0
517bd7:	66 0f d6 45 f0       	movq   %xmm0,-0x10(%ebp)
517bdc:	c6 86 c8 00 00 00 03 	movb   $0x3,0xc8(%esi)
517be3:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
517be7:	89 75 e0             	mov    %esi,-0x20(%ebp)
517bea:	c7 45 e4 90 31 51 00 	movl   $0x513190,-0x1c(%ebp)
517bf1:	c7 45 e8 c0 31 51 00 	movl   $0x5131c0,-0x18(%ebp)
517bf8:	85 db                	test   %ebx,%ebx
517bfa:	74 10                	je     0x517c0c
517bfc:	8d 45 e0             	lea    -0x20(%ebp),%eax
517bff:	53                   	push   %ebx
517c00:	50                   	push   %eax
517c01:	e8 aa 83 04 00       	call   0x55ffb0
517c06:	8a 45 df             	mov    -0x21(%ebp),%al
517c09:	83 c4 08             	add    $0x8,%esp
517c0c:	88 86 c8 00 00 00    	mov    %al,0xc8(%esi)
517c12:	85 db                	test   %ebx,%ebx
517c14:	74 0a                	je     0x517c20
517c16:	53                   	push   %ebx
517c17:	57                   	push   %edi
517c18:	e8 93 eb 00 00       	call   0x5267b0
517c1d:	83 c4 08             	add    $0x8,%esp
517c20:	8b 4d fc             	mov    -0x4(%ebp),%ecx
517c23:	5f                   	pop    %edi
517c24:	5e                   	pop    %esi
517c25:	33 cd                	xor    %ebp,%ecx
517c27:	5b                   	pop    %ebx
517c28:	e8 ad 98 0c 00       	call   0x5e14da
517c2d:	8b e5                	mov    %ebp,%esp