4fb804:	8b 76 14             	mov    0x14(%esi),%esi
4fb807:	0f 57 c0             	xorps  %xmm0,%xmm0
4fb80a:	8b 7f 48             	mov    0x48(%edi),%edi
4fb80d:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4fb810:	8b 45 b8             	mov    -0x48(%ebp),%eax
4fb813:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4fb816:	89 7d ac             	mov    %edi,-0x54(%ebp)
4fb819:	66 0f 13 45 9c       	movlpd %xmm0,-0x64(%ebp)
4fb81e:	8b 40 0c             	mov    0xc(%eax),%eax
4fb821:	8d 04 40             	lea    (%eax,%eax,2),%eax
4fb824:	c1 e0 04             	shl    $0x4,%eax
4fb827:	03 c6                	add    %esi,%eax
4fb829:	89 45 94             	mov    %eax,-0x6c(%ebp)
4fb82c:	3b f0                	cmp    %eax,%esi
4fb82e:	0f 83 ba 01 00 00    	jae    0x4fb9ee
4fb834:	8b 45 a0             	mov    -0x60(%ebp),%eax
4fb837:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4fb83a:	8b 45 9c             	mov    -0x64(%ebp),%eax
4fb83d:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4fb840:	8b 4d ac             	mov    -0x54(%ebp),%ecx
4fb843:	8b 3e                	mov    (%esi),%edi
4fb845:	8b 01                	mov    (%ecx),%eax
4fb847:	0b 41 04             	or     0x4(%ecx),%eax
4fb84a:	75 5f                	jne    0x4fb8ab
4fb84c:	f6 46 0a 02          	testb  $0x2,0xa(%esi)
4fb850:	75 59                	jne    0x4fb8ab
4fb852:	f6 47 04 01          	testb  $0x1,0x4(%edi)
4fb856:	75 53                	jne    0x4fb8ab
4fb858:	b8 03 00 00 00       	mov    $0x3,%eax
4fb85d:	c7 45 e4 c0 12 50 00 	movl   $0x5012c0,-0x1c(%ebp)
4fb864:	66 89 45 f4          	mov    %ax,-0xc(%ebp)
4fb868:	8b 42 2c             	mov    0x2c(%edx),%eax
4fb86b:	89 45 f8             	mov    %eax,-0x8(%ebp)
4fb86e:	8d 45 e0             	lea    -0x20(%ebp),%eax
4fb871:	57                   	push   %edi
4fb872:	50                   	push   %eax
4fb873:	c7 45 e8 f0 c7 53 00 	movl   $0x53c7f0,-0x18(%ebp)
4fb87a:	e8 31 47 06 00       	call   0x55ffb0
4fb87f:	83 c4 08             	add    $0x8,%esp
4fb882:	66 83 7d f4 00       	cmpw   $0x0,-0xc(%ebp)
4fb887:	74 1f                	je     0x4fb8a8
4fb889:	8b 5d cc             	mov    -0x34(%ebp),%ebx
4fb88c:	6a 00                	push   $0x0
4fb88e:	6a 00                	push   $0x0
4fb890:	57                   	push   %edi
4fb891:	ff 33                	push   (%ebx)
4fb893:	e8 c8 4f 00 00       	call   0x500860
4fb898:	50                   	push   %eax
4fb899:	ff 75 98             	push   -0x68(%ebp)
4fb89c:	53                   	push   %ebx
4fb89d:	e8 5e 7f 02 00       	call   0x523800
4fb8a2:	83 c4 1c             	add    $0x1c,%esp
4fb8a5:	89 45 98             	mov    %eax,-0x68(%ebp)
4fb8a8:	8b 55 d0             	mov    -0x30(%ebp),%edx
4fb8ab:	8b 4e 14             	mov    0x14(%esi),%ecx
4fb8ae:	3b 4a 2c             	cmp    0x2c(%edx),%ecx
4fb8b1:	0f 85 1d 01 00 00    	jne    0x4fb9d4
4fb8b7:	0f b7 4e 0c          	movzwl 0xc(%esi),%ecx
4fb8bb:	f6 c1 82             	test   $0x82,%cl
4fb8be:	0f 84 10 01 00 00    	je     0x4fb9d4
4fb8c4:	f6 42 24 08          	testb  $0x8,0x24(%edx)
4fb8c8:	74 10                	je     0x4fb8da
4fb8ca:	8b 06                	mov    (%esi),%eax
4fb8cc:	f6 40 04 01          	testb  $0x1,0x4(%eax)
4fb8d0:	75 08                	jne    0x4fb8da
4fb8d2:	84 c9                	test   %cl,%cl
4fb8d4:	0f 88 fa 00 00 00    	js     0x4fb9d4
4fb8da:	8b 4e 20             	mov    0x20(%esi),%ecx
4fb8dd:	8b 46 24             	mov    0x24(%esi),%eax
4fb8e0:	23 4d 14             	and    0x14(%ebp),%ecx
4fb8e3:	23 45 18             	and    0x18(%ebp),%eax
4fb8e6:	0b c8                	or     %eax,%ecx
4fb8e8:	0f 85 e6 00 00 00    	jne    0x4fb9d4
4fb8ee:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4fb8f1:	85 c9                	test   %ecx,%ecx
4fb8f3:	0f 88 db 00 00 00    	js     0x4fb9d4
4fb8f9:	8b 42 10             	mov    0x10(%edx),%eax
4fb8fc:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4fb8ff:	ff 36                	push   (%esi)
4fb901:	8b 40 04             	mov    0x4(%eax),%eax
4fb904:	8a 5c 88 0d          	mov    0xd(%eax,%ecx,4),%bl
4fb908:	e8 f3 f6 ff ff       	call   0x4fb000
4fb90d:	83 c4 04             	add    $0x4,%esp
4fb910:	3c 42                	cmp    $0x42,%al
4fb912:	7c 1c                	jl     0x4fb930
4fb914:	75 0a                	jne    0x4fb920
4fb916:	33 c0                	xor    %eax,%eax
4fb918:	80 fb 42             	cmp    $0x42,%bl
4fb91b:	0f 94 c0             	sete   %al
4fb91e:	eb 08                	jmp    0x4fb928
4fb920:	33 c0                	xor    %eax,%eax
4fb922:	80 fb 43             	cmp    $0x43,%bl
4fb925:	0f 9d c0             	setge  %al
4fb928:	85 c0                	test   %eax,%eax
4fb92a:	0f 84 a1 00 00 00    	je     0x4fb9d1
4fb930:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4fb933:	33 ff                	xor    %edi,%edi
4fb935:	83 f9 40             	cmp    $0x40,%ecx
4fb938:	7c 07                	jl     0x4fb941
4fb93a:	bb 00 00 00 80       	mov    $0x80000000,%ebx
4fb93f:	eb 15                	jmp    0x4fb956
4fb941:	8b c1                	mov    %ecx,%eax
4fb943:	33 db                	xor    %ebx,%ebx
4fb945:	0f ab c7             	bts    %eax,%edi
4fb948:	83 f8 20             	cmp    $0x20,%eax
4fb94b:	0f 43 df             	cmovae %edi,%ebx
4fb94e:	33 fb                	xor    %ebx,%edi
4fb950:	83 f8 40             	cmp    $0x40,%eax
4fb953:	0f 43 df             	cmovae %edi,%ebx
4fb956:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
4fb95a:	75 24                	jne    0x4fb980
4fb95c:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4fb95f:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4fb962:	8b 42 04             	mov    0x4(%edx),%eax
4fb965:	ff 34 88             	push   (%eax,%ecx,4)
4fb968:	ff 32                	push   (%edx)
4fb96a:	68 40 bb 6b 00       	push   $0x6bbb40
4fb96f:	68 1c 01 00 00       	push   $0x11c
4fb974:	e8 67 46 fe ff       	call   0x4dffe0
4fb979:	83 c4 10             	add    $0x10,%esp
4fb97c:	c6 45 df 01          	movb   $0x1,-0x21(%ebp)
4fb980:	8b cf                	mov    %edi,%ecx
4fb982:	8b c3                	mov    %ebx,%eax
4fb984:	23 4d b4             	and    -0x4c(%ebp),%ecx
4fb987:	23 45 d4             	and    -0x2c(%ebp),%eax
4fb98a:	0b c8                	or     %eax,%ecx
4fb98c:	75 43                	jne    0x4fb9d1
4fb98e:	8b 45 d8             	mov    -0x28(%ebp),%eax
4fb991:	8b 4d ac             	mov    -0x54(%ebp),%ecx
4fb994:	40                   	inc    %eax
4fb995:	50                   	push   %eax
4fb996:	89 45 bc             	mov    %eax,-0x44(%ebp)
4fb999:	8b 45 cc             	mov    -0x34(%ebp),%eax
4fb99c:	51                   	push   %ecx
4fb99d:	ff 30                	push   (%eax)
4fb99f:	e8 ac 77 06 00       	call   0x563150
4fb9a4:	83 c4 0c             	add    $0xc,%esp
4fb9a7:	85 c0                	test   %eax,%eax
4fb9a9:	0f 85 c2 07 00 00    	jne    0x4fc171
4fb9af:	8b 45 ac             	mov    -0x54(%ebp),%eax
4fb9b2:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4fb9b5:	09 7d b4             	or     %edi,-0x4c(%ebp)
4fb9b8:	8b 7d d4             	mov    -0x2c(%ebp),%edi
4fb9bb:	8b 40 30             	mov    0x30(%eax),%eax
4fb9be:	0b fb                	or     %ebx,%edi
4fb9c0:	8b 55 d0             	mov    -0x30(%ebp),%edx
4fb9c3:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4fb9c6:	89 34 88             	mov    %esi,(%eax,%ecx,4)
4fb9c9:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4fb9cc:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4fb9cf:	eb 09                	jmp    0x4fb9da
4fb9d1:	8b 55 d0             	mov    -0x30(%ebp),%edx
4fb9d4:	8b 7d d4             	mov    -0x2c(%ebp),%edi
4fb9d7:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4fb9da:	83 c6 30             	add    $0x30,%esi
4fb9dd:	3b 75 94             	cmp    -0x6c(%ebp),%esi
4fb9e0:	0f 82 5a fe ff ff    	jb     0x4fb840
4fb9e6:	8b 5d c0             	mov    -0x40(%ebp),%ebx
4fb9e9:	8b 75 b4             	mov    -0x4c(%ebp),%esi
4fb9ec:	eb 06                	jmp    0x4fb9f4
4fb9ee:	8b 7d a0             	mov    -0x60(%ebp),%edi
4fb9f1:	8b 75 9c             	mov    -0x64(%ebp),%esi
4fb9f4:	8b 45 ac             	mov    -0x54(%ebp),%eax
4fb9f7:	f7 d7                	not    %edi
4fb9f9:	81 cf 00 00 00 80    	or     $0x80000000,%edi
4fb9ff:	f7 d6                	not    %esi
4fba01:	66 89 48 28          	mov    %cx,0x28(%eax)
4fba05:	66 89 48 18          	mov    %cx,0x18(%eax)
4fba09:	c7 40 24 41 42 00 00 	movl   $0x4241,0x24(%eax)
4fba10:	8b 4a 38             	mov    0x38(%edx),%ecx
4fba13:	23 f1                	and    %ecx,%esi
4fba15:	8b 42 3c             	mov    0x3c(%edx),%eax
4fba18:	23 f8                	and    %eax,%edi
4fba1a:	8b 55 c4             	mov    -0x3c(%ebp),%edx
4fba1d:	89 7d d4             	mov    %edi,-0x2c(%ebp)
4fba20:	89 75 b4             	mov    %esi,-0x4c(%ebp)
4fba23:	33 f6                	xor    %esi,%esi
4fba25:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
4fba28:	0f b7 7a 2a          	movzwl 0x2a(%edx),%edi
4fba2c:	ba 3f 00 00 00       	mov    $0x3f,%edx
4fba31:	89 45 a0             	mov    %eax,-0x60(%ebp)
4fba34:	89 7d bc             	mov    %edi,-0x44(%ebp)
4fba37:	66 3b d7             	cmp    %di,%dx
4fba3a:	7d 05                	jge    0x4fba41
4fba3c:	89 55 90             	mov    %edx,-0x70(%ebp)
4fba3f:	eb 0a                	jmp    0x4fba4b
4fba41:	0f bf d7             	movswl %di,%edx
4fba44:	89 55 90             	mov    %edx,-0x70(%ebp)
4fba47:	85 d2                	test   %edx,%edx
4fba49:	7e 3a                	jle    0x4fba85
4fba4b:	8b 5d 90             	mov    -0x70(%ebp),%ebx
4fba4e:	8b 7d d4             	mov    -0x2c(%ebp),%edi
4fba51:	33 d2                	xor    %edx,%edx
4fba53:	33 c9                	xor    %ecx,%ecx
4fba55:	8b c6                	mov    %esi,%eax
4fba57:	0f ab c2             	bts    %eax,%edx
4fba5a:	83 f8 20             	cmp    $0x20,%eax
4fba5d:	0f 43 ca             	cmovae %edx,%ecx
4fba60:	33 d1                	xor    %ecx,%edx
4fba62:	83 f8 40             	cmp    $0x40,%eax
4fba65:	0f 43 ca             	cmovae %edx,%ecx
4fba68:	23 55 b4             	and    -0x4c(%ebp),%edx
4fba6b:	23 cf                	and    %edi,%ecx
4fba6d:	0b d1                	or     %ecx,%edx
4fba6f:	74 03                	je     0x4fba74
4fba71:	ff 45 d8             	incl   -0x28(%ebp)
4fba74:	46                   	inc    %esi
4fba75:	3b f3                	cmp    %ebx,%esi
4fba77:	7c d8                	jl     0x4fba51
4fba79:	8b 5d c0             	mov    -0x40(%ebp),%ebx
4fba7c:	8b 7d bc             	mov    -0x44(%ebp),%edi
4fba7f:	8b 45 a0             	mov    -0x60(%ebp),%eax
4fba82:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
4fba85:	85 c0                	test   %eax,%eax
4fba87:	7f 14                	jg     0x4fba9d
4fba89:	7c 04                	jl     0x4fba8f
4fba8b:	85 c9                	test   %ecx,%ecx
4fba8d:	73 0e                	jae    0x4fba9d
4fba8f:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4fba92:	0f bf c7             	movswl %di,%eax
4fba95:	83 c1 c1             	add    $0xffffffc1,%ecx
4fba98:	03 c8                	add    %eax,%ecx
4fba9a:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4fba9d:	8b 75 cc             	mov    -0x34(%ebp),%esi
4fbaa0:	8d 45 bc             	lea    -0x44(%ebp),%eax
4fbaa3:	50                   	push   %eax
4fbaa4:	8b 45 d8             	mov    -0x28(%ebp),%eax
4fbaa7:	6a 00                	push   $0x0
4fbaa9:	40                   	inc    %eax
4fbaaa:	50                   	push   %eax
4fbaab:	ff 36                	push   (%esi)
4fbaad:	e8 3e c7 01 00       	call   0x5181f0
4fbab2:	83 c4 10             	add    $0x10,%esp
4fbab5:	89 45 c8             	mov    %eax,-0x38(%ebp)
4fbab8:	85 c0                	test   %eax,%eax
4fbaba:	0f 84 b4 06 00 00    	je     0x4fc174
4fbac0:	8b 4d ac             	mov    -0x54(%ebp),%ecx
4fbac3:	33 ff                	xor    %edi,%edi
4fbac5:	0f 57 c0             	xorps  %xmm0,%xmm0
4fbac8:	89 7d a8             	mov    %edi,-0x58(%ebp)
4fbacb:	66 0f 13 45 9c       	movlpd %xmm0,-0x64(%ebp)
4fbad0:	89 41 20             	mov    %eax,0x20(%ecx)
4fbad3:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4fbad6:	c7 00 5c bb 6b 00    	movl   $0x6bbb5c,(%eax)
4fbadc:	89 48 0c             	mov    %ecx,0xc(%eax)
4fbadf:	8b 45 b8             	mov    -0x48(%ebp),%eax
4fbae2:	8b 70 14             	mov    0x14(%eax),%esi
4fbae5:	89 75 a4             	mov    %esi,-0x5c(%ebp)
4fbae8:	3b 75 94             	cmp    -0x6c(%ebp),%esi
4fbaeb:	0f 83 6b 01 00 00    	jae    0x4fbc5c
4fbaf1:	8b 45 a0             	mov    -0x60(%ebp),%eax
4fbaf4:	8b 5d cc             	mov    -0x34(%ebp),%ebx
4fbaf7:	8b 55 d0             	mov    -0x30(%ebp),%edx
4fbafa:	89 45 bc             	mov    %eax,-0x44(%ebp)
4fbafd:	8b 45 9c             	mov    -0x64(%ebp),%eax
4fbb00:	89 45 a0             	mov    %eax,-0x60(%ebp)
4fbb03:	8b 46 14             	mov    0x14(%esi),%eax
4fbb06:	3b 42 2c             	cmp    0x2c(%edx),%eax
4fbb09:	0f 85 3b 01 00 00    	jne    0x4fbc4a
4fbb0f:	0f b7 4e 0c          	movzwl 0xc(%esi),%ecx
4fbb13:	f6 c1 82             	test   $0x82,%cl
4fbb16:	0f 84 2e 01 00 00    	je     0x4fbc4a
4fbb1c:	f6 42 24 08          	testb  $0x8,0x24(%edx)
4fbb20:	74 10                	je     0x4fbb32
4fbb22:	8b 06                	mov    (%esi),%eax
4fbb24:	f6 40 04 01          	testb  $0x1,0x4(%eax)
4fbb28:	75 08                	jne    0x4fbb32
4fbb2a:	84 c9                	test   %cl,%cl
4fbb2c:	0f 88 18 01 00 00    	js     0x4fbc4a
4fbb32:	8b 4e 20             	mov    0x20(%esi),%ecx
4fbb35:	8b 46 24             	mov    0x24(%esi),%eax
4fbb38:	23 4d 14             	and    0x14(%ebp),%ecx
4fbb3b:	23 45 18             	and    0x18(%ebp),%eax
4fbb3e:	0b c8                	or     %eax,%ecx
4fbb40:	0f 85 04 01 00 00    	jne    0x4fbc4a
4fbb46:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4fbb49:	85 c9                	test   %ecx,%ecx
4fbb4b:	0f 88 f9 00 00 00    	js     0x4fbc4a
4fbb51:	8b 42 10             	mov    0x10(%edx),%eax
4fbb54:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4fbb57:	ff 36                	push   (%esi)
4fbb59:	8b 40 04             	mov    0x4(%eax),%eax
4fbb5c:	8a 44 88 0d          	mov    0xd(%eax,%ecx,4),%al
4fbb60:	88 45 df             	mov    %al,-0x21(%ebp)
4fbb63:	e8 98 f4 ff ff       	call   0x4fb000
4fbb68:	83 c4 04             	add    $0x4,%esp
4fbb6b:	3c 42                	cmp    $0x42,%al
4fbb6d:	7c 1e                	jl     0x4fbb8d
4fbb6f:	75 0b                	jne    0x4fbb7c
4fbb71:	33 c0                	xor    %eax,%eax
4fbb73:	80 7d df 42          	cmpb   $0x42,-0x21(%ebp)
4fbb77:	0f 94 c0             	sete   %al
4fbb7a:	eb 09                	jmp    0x4fbb85
4fbb7c:	33 c0                	xor    %eax,%eax
4fbb7e:	80 7d df 43          	cmpb   $0x43,-0x21(%ebp)
4fbb82:	0f 9d c0             	setge  %al
4fbb85:	85 c0                	test   %eax,%eax
4fbb87:	0f 84 ba 00 00 00    	je     0x4fbc47
4fbb8d:	8b 46 1c             	mov    0x1c(%esi),%eax
4fbb90:	33 d2                	xor    %edx,%edx
4fbb92:	83 f8 40             	cmp    $0x40,%eax
4fbb95:	7c 07                	jl     0x4fbb9e
4fbb97:	be 00 00 00 80       	mov    $0x80000000,%esi
4fbb9c:	eb 13                	jmp    0x4fbbb1
4fbb9e:	33 f6                	xor    %esi,%esi
4fbba0:	0f ab c2             	bts    %eax,%edx
4fbba3:	83 f8 20             	cmp    $0x20,%eax
4fbba6:	0f 43 f2             	cmovae %edx,%esi
4fbba9:	33 d6                	xor    %esi,%edx
4fbbab:	83 f8 40             	cmp    $0x40,%eax
4fbbae:	0f 43 f2             	cmovae %edx,%esi
4fbbb1:	8b ca                	mov    %edx,%ecx
4fbbb3:	8b c6                	mov    %esi,%eax
4fbbb5:	23 4d a0             	and    -0x60(%ebp),%ecx
4fbbb8:	23 45 bc             	and    -0x44(%ebp),%eax
4fbbbb:	0b c8                	or     %eax,%ecx
4fbbbd:	0f 85 81 00 00 00    	jne    0x4fbc44
4fbbc3:	8b 45 a4             	mov    -0x5c(%ebp),%eax
4fbbc6:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4fbbc9:	09 55 a0             	or     %edx,-0x60(%ebp)
4fbbcc:	8b 55 a8             	mov    -0x58(%ebp),%edx
4fbbcf:	8b 38                	mov    (%eax),%edi
4fbbd1:	8b 49 04             	mov    0x4(%ecx),%ecx
4fbbd4:	66 8b 40 1c          	mov    0x1c(%eax),%ax
4fbbd8:	09 75 bc             	or     %esi,-0x44(%ebp)
4fbbdb:	66 89 04 51          	mov    %ax,(%ecx,%edx,2)
4fbbdf:	f7 47 04 00 02 00 00 	testl  $0x200,0x4(%edi)
4fbbe6:	74 08                	je     0x4fbbf0
4fbbe8:	8b 77 0c             	mov    0xc(%edi),%esi
4fbbeb:	8b 47 10             	mov    0x10(%edi),%eax
4fbbee:	eb 06                	jmp    0x4fbbf6
4fbbf0:	8b 77 10             	mov    0x10(%edi),%esi
4fbbf3:	8b 47 0c             	mov    0xc(%edi),%eax
4fbbf6:	f7 40 04 00 01 00 00 	testl  $0x100,0x4(%eax)
4fbbfd:	74 03                	je     0x4fbc02
4fbbff:	50                   	push   %eax
4fbc00:	eb 1c                	jmp    0x4fbc1e
4fbc02:	85 f6                	test   %esi,%esi
4fbc04:	74 09                	je     0x4fbc0f
4fbc06:	f7 46 04 00 01 00 00 	testl  $0x100,0x4(%esi)
4fbc0d:	75 0e                	jne    0x4fbc1d
4fbc0f:	50                   	push   %eax
4fbc10:	53                   	push   %ebx
4fbc11:	e8 ca a6 02 00       	call   0x5262e0
4fbc16:	83 c4 08             	add    $0x8,%esp
4fbc19:	85 c0                	test   %eax,%eax
4fbc1b:	75 0e                	jne    0x4fbc2b
4fbc1d:	56                   	push   %esi
4fbc1e:	53                   	push   %ebx
4fbc1f:	e8 bc a6 02 00       	call   0x5262e0