52889e:	7e 59                	jle    0x5288f9
5288a0:	83 fa 08             	cmp    $0x8,%edx
5288a3:	72 48                	jb     0x5288ed
5288a5:	0f 28 0d 70 c6 6b 00 	movaps 0x6bc670,%xmm1
5288ac:	8b c2                	mov    %edx,%eax
5288ae:	25 07 00 00 80       	and    $0x80000007,%eax
5288b3:	79 05                	jns    0x5288ba
5288b5:	48                   	dec    %eax
5288b6:	83 c8 f8             	or     $0xfffffff8,%eax
5288b9:	40                   	inc    %eax
5288ba:	8b f2                	mov    %edx,%esi
5288bc:	2b f0                	sub    %eax,%esi
5288be:	66 90                	xchg   %ax,%ax
5288c0:	66 0f 6e c1          	movd   %ecx,%xmm0
5288c4:	8d 41 04             	lea    0x4(%ecx),%eax
5288c7:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
5288cc:	66 0f fe c1          	paddd  %xmm1,%xmm0
5288d0:	0f 11 04 8b          	movups %xmm0,(%ebx,%ecx,4)
5288d4:	66 0f 6e c0          	movd   %eax,%xmm0
5288d8:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
5288dd:	66 0f fe c1          	paddd  %xmm1,%xmm0
5288e1:	0f 11 44 8b 10       	movups %xmm0,0x10(%ebx,%ecx,4)
5288e6:	83 c1 08             	add    $0x8,%ecx
5288e9:	3b ce                	cmp    %esi,%ecx
5288eb:	7c d3                	jl     0x5288c0
5288ed:	3b ca                	cmp    %edx,%ecx
5288ef:	7d 08                	jge    0x5288f9
5288f1:	89 0c 8b             	mov    %ecx,(%ebx,%ecx,4)
5288f4:	41                   	inc    %ecx
5288f5:	3b ca                	cmp    %edx,%ecx
5288f7:	7c f8                	jl     0x5288f1
5288f9:	8b 4d 90             	mov    -0x70(%ebp),%ecx
5288fc:	8b 45 c4             	mov    -0x3c(%ebp),%eax
5288ff:	89 01                	mov    %eax,(%ecx)
528901:	8b c7                	mov    %edi,%eax
528903:	8b 4d fc             	mov    -0x4(%ebp),%ecx
528906:	5f                   	pop    %edi
528907:	5e                   	pop    %esi
528908:	33 cd                	xor    %ebp,%ecx
52890a:	5b                   	pop    %ebx
52890b:	e8 ca 8b 0b 00       	call   0x5e14da
528910:	8b e5                	mov    %ebp,%esp
528912:	5d                   	pop    %ebp
528913:	c3                   	ret
528914:	cc                   	int3
528915:	cc                   	int3
528916:	cc                   	int3
528917:	cc                   	int3
528918:	cc                   	int3
528919:	cc                   	int3
52891a:	cc                   	int3
52891b:	cc                   	int3
52891c:	cc                   	int3
52891d:	cc                   	int3
52891e:	cc                   	int3
52891f:	cc                   	int3
528920:	55                   	push   %ebp
528921:	8b ec                	mov    %esp,%ebp
528923:	83 ec 08             	sub    $0x8,%esp
528926:	53                   	push   %ebx
528927:	56                   	push   %esi
528928:	8b 75 08             	mov    0x8(%ebp),%esi
52892b:	33 db                	xor    %ebx,%ebx
52892d:	57                   	push   %edi
52892e:	33 ff                	xor    %edi,%edi
528930:	39 5e 14             	cmp    %ebx,0x14(%esi)
528933:	7e 61                	jle    0x528996
528935:	8b 55 10             	mov    0x10(%ebp),%edx
528938:	8b 76 10             	mov    0x10(%esi),%esi
52893b:	8b c7                	mov    %edi,%eax
52893d:	83 f0 01             	xor    $0x1,%eax
528940:	8b cf                	mov    %edi,%ecx
528942:	83 ff 02             	cmp    $0x2,%edi
528945:	0f 4c c8             	cmovl  %eax,%ecx
528948:	03 c9                	add    %ecx,%ecx
52894a:	8b 44 ce 0c          	mov    0xc(%esi,%ecx,8),%eax
52894e:	89 45 fc             	mov    %eax,-0x4(%ebp)
528951:	85 d2                	test   %edx,%edx
528953:	74 1d                	je     0x528972
528955:	8b 34 ce             	mov    (%esi,%ecx,8),%esi
528958:	8b c2                	mov    %edx,%eax
52895a:	2b f2                	sub    %edx,%esi
52895c:	0f 1f 40 00          	nopl   0x0(%eax)
528960:	0f b6 10             	movzbl (%eax),%edx
528963:	0f b6 0c 06          	movzbl (%esi,%eax,1),%ecx
528967:	3b d1                	cmp    %ecx,%edx
528969:	75 34                	jne    0x52899f
52896b:	85 d2                	test   %edx,%edx
52896d:	75 42                	jne    0x5289b1
52896f:	8b 45 fc             	mov    -0x4(%ebp),%eax
528972:	6a 00                	push   $0x0
528974:	ff 75 0c             	push   0xc(%ebp)
528977:	83 c0 18             	add    $0x18,%eax
52897a:	50                   	push   %eax
52897b:	e8 50 96 fd ff       	call   0x501fd0
528980:	83 c4 0c             	add    $0xc,%esp
528983:	8b 58 08             	mov    0x8(%eax),%ebx
528986:	85 db                	test   %ebx,%ebx
528988:	75 0c                	jne    0x528996
52898a:	8b 75 08             	mov    0x8(%ebp),%esi
52898d:	47                   	inc    %edi
52898e:	8b 55 10             	mov    0x10(%ebp),%edx
528991:	3b 7e 14             	cmp    0x14(%esi),%edi
528994:	7c a2                	jl     0x528938
528996:	5f                   	pop    %edi
528997:	5e                   	pop    %esi
528998:	8b c3                	mov    %ebx,%eax
52899a:	5b                   	pop    %ebx
52899b:	8b e5                	mov    %ebp,%esp
52899d:	5d                   	pop    %ebp
52899e:	c3                   	ret
52899f:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
5289a6:	0f b6 92 20 2a 6b 00 	movzbl 0x6b2a20(%edx),%edx
5289ad:	2b d1                	sub    %ecx,%edx
5289af:	75 d9                	jne    0x52898a
5289b1:	40                   	inc    %eax
5289b2:	eb ac                	jmp    0x528960
5289b4:	cc                   	int3
5289b5:	cc                   	int3
5289b6:	cc                   	int3
5289b7:	cc                   	int3
5289b8:	cc                   	int3
5289b9:	cc                   	int3
5289ba:	cc                   	int3
5289bb:	cc                   	int3
5289bc:	cc                   	int3
5289bd:	cc                   	int3
5289be:	cc                   	int3
5289bf:	cc                   	int3
5289c0:	55                   	push   %ebp
5289c1:	8b ec                	mov    %esp,%ebp
5289c3:	8b 55 10             	mov    0x10(%ebp),%edx
5289c6:	83 ec 08             	sub    $0x8,%esp
5289c9:	53                   	push   %ebx
5289ca:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5289cd:	56                   	push   %esi
5289ce:	57                   	push   %edi
5289cf:	8b 7d 08             	mov    0x8(%ebp),%edi
5289d2:	33 f6                	xor    %esi,%esi
5289d4:	39 77 14             	cmp    %esi,0x14(%edi)
5289d7:	0f 8e 81 00 00 00    	jle    0x528a5e
5289dd:	0f 1f 00             	nopl   (%eax)
5289e0:	8b c6                	mov    %esi,%eax
5289e2:	8b ce                	mov    %esi,%ecx
5289e4:	83 f0 01             	xor    $0x1,%eax
5289e7:	83 fe 02             	cmp    $0x2,%esi
5289ea:	0f 4c c8             	cmovl  %eax,%ecx
5289ed:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5289f0:	85 d2                	test   %edx,%edx
5289f2:	74 24                	je     0x528a18
5289f4:	8b c2                	mov    %edx,%eax
5289f6:	8b d1                	mov    %ecx,%edx
5289f8:	8b 4f 10             	mov    0x10(%edi),%ecx
5289fb:	03 d2                	add    %edx,%edx
5289fd:	8b 3c d1             	mov    (%ecx,%edx,8),%edi
528a00:	2b 7d 10             	sub    0x10(%ebp),%edi
528a03:	0f b6 10             	movzbl (%eax),%edx
528a06:	0f b6 0c 07          	movzbl (%edi,%eax,1),%ecx
528a0a:	3b d1                	cmp    %ecx,%edx
528a0c:	75 2f                	jne    0x528a3d
528a0e:	85 d2                	test   %edx,%edx
528a10:	75 3d                	jne    0x528a4f
528a12:	8b 4d fc             	mov    -0x4(%ebp),%ecx
528a15:	8b 7d 08             	mov    0x8(%ebp),%edi
528a18:	8b 47 10             	mov    0x10(%edi),%eax
528a1b:	03 c9                	add    %ecx,%ecx
528a1d:	6a 00                	push   $0x0
528a1f:	53                   	push   %ebx
528a20:	8b 44 c8 0c          	mov    0xc(%eax,%ecx,8),%eax
528a24:	83 c0 08             	add    $0x8,%eax
528a27:	50                   	push   %eax
528a28:	e8 a3 95 fd ff       	call   0x501fd0
528a2d:	83 c4 0c             	add    $0xc,%esp
528a30:	8b 40 08             	mov    0x8(%eax),%eax
528a33:	85 c0                	test   %eax,%eax
528a35:	0f 85 a0 00 00 00    	jne    0x528adb
528a3b:	eb 18                	jmp    0x528a55
528a3d:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
528a44:	0f b6 92 20 2a 6b 00 	movzbl 0x6b2a20(%edx),%edx
528a4b:	2b d1                	sub    %ecx,%edx
528a4d:	75 03                	jne    0x528a52
528a4f:	40                   	inc    %eax
528a50:	eb b1                	jmp    0x528a03
528a52:	8b 7d 08             	mov    0x8(%ebp),%edi
528a55:	8b 55 10             	mov    0x10(%ebp),%edx
528a58:	46                   	inc    %esi
528a59:	3b 77 14             	cmp    0x14(%edi),%esi
528a5c:	7c 82                	jl     0x5289e0
528a5e:	ba 24 8a 6b 00       	mov    $0x6b8a24,%edx
528a63:	2b d3                	sub    %ebx,%edx
528a65:	0f b6 0b             	movzbl (%ebx),%ecx
528a68:	0f b6 04 1a          	movzbl (%edx,%ebx,1),%eax
528a6c:	3b c8                	cmp    %eax,%ecx
528a6e:	75 17                	jne    0x528a87
528a70:	85 c9                	test   %ecx,%ecx
528a72:	75 25                	jne    0x528a99
528a74:	8b 47 10             	mov    0x10(%edi),%eax
528a77:	8b 55 10             	mov    0x10(%ebp),%edx
528a7a:	8b 48 10             	mov    0x10(%eax),%ecx
528a7d:	85 d2                	test   %edx,%edx
528a7f:	75 1b                	jne    0x528a9c
528a81:	f7 d9                	neg    %ecx
528a83:	1b c9                	sbb    %ecx,%ecx
528a85:	eb 2f                	jmp    0x528ab6
528a87:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
528a8e:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
528a95:	2b c8                	sub    %eax,%ecx
528a97:	75 40                	jne    0x528ad9
528a99:	43                   	inc    %ebx
528a9a:	eb c9                	jmp    0x528a65
528a9c:	85 c9                	test   %ecx,%ecx
528a9e:	74 39                	je     0x528ad9
528aa0:	8b f1                	mov    %ecx,%esi
528aa2:	2b f2                	sub    %edx,%esi
528aa4:	0f b6 0a             	movzbl (%edx),%ecx
528aa7:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
528aab:	3b c8                	cmp    %eax,%ecx
528aad:	75 15                	jne    0x528ac4
528aaf:	85 c9                	test   %ecx,%ecx
528ab1:	75 23                	jne    0x528ad6
528ab3:	8b 55 10             	mov    0x10(%ebp),%edx
528ab6:	85 c9                	test   %ecx,%ecx
528ab8:	75 1f                	jne    0x528ad9
528aba:	bb 60 9d 6b 00       	mov    $0x6b9d60,%ebx
528abf:	e9 0e ff ff ff       	jmp    0x5289d2
528ac4:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
528acb:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
528ad2:	2b c8                	sub    %eax,%ecx
528ad4:	75 dd                	jne    0x528ab3
528ad6:	42                   	inc    %edx
528ad7:	eb cb                	jmp    0x528aa4
528ad9:	33 c0                	xor    %eax,%eax
528adb:	5f                   	pop    %edi
528adc:	5e                   	pop    %esi
528add:	5b                   	pop    %ebx
528ade:	8b e5                	mov    %ebp,%esp
528ae0:	5d                   	pop    %ebp
528ae1:	c3                   	ret
528ae2:	cc                   	int3
528ae3:	cc                   	int3
528ae4:	cc                   	int3
528ae5:	cc                   	int3
528ae6:	cc                   	int3
528ae7:	cc                   	int3
528ae8:	cc                   	int3
528ae9:	cc                   	int3
528aea:	cc                   	int3
528aeb:	cc                   	int3
528aec:	cc                   	int3
528aed:	cc                   	int3
528aee:	cc                   	int3
528aef:	cc                   	int3
528af0:	55                   	push   %ebp
528af1:	8b ec                	mov    %esp,%ebp
528af3:	83 ec 10             	sub    $0x10,%esp
528af6:	56                   	push   %esi
528af7:	8b 75 08             	mov    0x8(%ebp),%esi
528afa:	57                   	push   %edi
528afb:	80 7e 12 00          	cmpb   $0x0,0x12(%esi)
528aff:	8b 3e                	mov    (%esi),%edi
528b01:	89 7d f0             	mov    %edi,-0x10(%ebp)
528b04:	0f 85 37 02 00 00    	jne    0x528d41
528b0a:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
528b0e:	0f 85 41 02 00 00    	jne    0x528d55
528b14:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
528b18:	0f 85 37 02 00 00    	jne    0x528d55
528b1e:	53                   	push   %ebx
528b1f:	8b 5e 08             	mov    0x8(%esi),%ebx
528b22:	89 5d 08             	mov    %ebx,0x8(%ebp)
528b25:	85 db                	test   %ebx,%ebx
528b27:	75 25                	jne    0x528b4e
528b29:	39 5e 74             	cmp    %ebx,0x74(%esi)
528b2c:	75 0a                	jne    0x528b38
528b2e:	f6 47 4c 08          	testb  $0x8,0x4c(%edi)
528b32:	75 04                	jne    0x528b38
528b34:	c6 46 17 01          	movb   $0x1,0x17(%esi)
528b38:	56                   	push   %esi
528b39:	e8 d2 98 01 00       	call   0x542410
528b3e:	8b d8                	mov    %eax,%ebx
528b40:	89 45 08             	mov    %eax,0x8(%ebp)
528b43:	83 c4 04             	add    $0x4,%esp
528b46:	85 db                	test   %ebx,%ebx
528b48:	0f 84 f9 01 00 00    	je     0x528d47
528b4e:	6a 44                	push   $0x44
528b50:	53                   	push   %ebx
528b51:	e8 ca 8e 01 00       	call   0x541a20
528b56:	83 c4 08             	add    $0x8,%esp
528b59:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
528b5d:	0f 85 c0 01 00 00    	jne    0x528d23
528b63:	83 7e 54 00          	cmpl   $0x0,0x54(%esi)
528b67:	75 0a                	jne    0x528b73
528b69:	83 7e 44 00          	cmpl   $0x0,0x44(%esi)
528b6d:	0f 84 b0 01 00 00    	je     0x528d23
528b73:	8b 03                	mov    (%ebx),%eax
528b75:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
528b78:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
528b7c:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
528b81:	75 03                	jne    0x528b86
528b83:	8b 43 68             	mov    0x68(%ebx),%eax
528b86:	33 db                	xor    %ebx,%ebx
528b88:	89 48 08             	mov    %ecx,0x8(%eax)
528b8b:	39 5f 14             	cmp    %ebx,0x14(%edi)
528b8e:	7e 67                	jle    0x528bf7
528b90:	89 5d fc             	mov    %ebx,-0x4(%ebp)
528b93:	b8 01 00 00 00       	mov    $0x1,%eax
528b98:	8b cb                	mov    %ebx,%ecx
528b9a:	d3 e0                	shl    %cl,%eax
528b9c:	89 45 f8             	mov    %eax,-0x8(%ebp)
528b9f:	85 46 54             	test   %eax,0x54(%esi)
528ba2:	74 49                	je     0x528bed
528ba4:	53                   	push   %ebx
528ba5:	ff 75 08             	push   0x8(%ebp)
528ba8:	e8 43 4f 02 00       	call   0x54daf0
528bad:	8b 47 10             	mov    0x10(%edi),%eax
528bb0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
528bb3:	8b 44 08 0c          	mov    0xc(%eax,%ecx,1),%eax
528bb7:	ff 70 04             	push   0x4(%eax)
528bba:	ff 30                	push   (%eax)
528bbc:	8b 46 50             	mov    0x50(%esi),%eax
528bbf:	23 45 f8             	and    -0x8(%ebp),%eax
528bc2:	f7 d8                	neg    %eax
528bc4:	1b c0                	sbb    %eax,%eax
528bc6:	f7 d8                	neg    %eax
528bc8:	50                   	push   %eax
528bc9:	53                   	push   %ebx
528bca:	6a 02                	push   $0x2
528bcc:	ff 75 08             	push   0x8(%ebp)
528bcf:	e8 3c 90 01 00       	call   0x541c10
528bd4:	83 c4 20             	add    $0x20,%esp
528bd7:	80 bf a5 00 00 00 00 	cmpb   $0x0,0xa5(%edi)
528bde:	75 0d                	jne    0x528bed
528be0:	6a 01                	push   $0x1
528be2:	ff 75 08             	push   0x8(%ebp)
528be5:	e8 46 94 01 00       	call   0x542030
528bea:	83 c4 08             	add    $0x8,%esp
528bed:	83 45 fc 10          	addl   $0x10,-0x4(%ebp)
528bf1:	43                   	inc    %ebx
528bf2:	3b 5f 14             	cmp    0x14(%edi),%ebx
528bf5:	7c 9c                	jl     0x528b93
528bf7:	8b 5d 08             	mov    0x8(%ebp),%ebx
528bfa:	33 c9                	xor    %ecx,%ecx
528bfc:	89 4d fc             	mov    %ecx,-0x4(%ebp)
528bff:	39 8e cc 00 00 00    	cmp    %ecx,0xcc(%esi)
528c05:	7e 4a                	jle    0x528c51
528c07:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
528c0e:	00 00
528c10:	8b 86 fc 00 00 00    	mov    0xfc(%esi),%eax
528c16:	8b 04 88             	mov    (%eax,%ecx,4),%eax
528c19:	8b 40 40             	mov    0x40(%eax),%eax
528c1c:	85 c0                	test   %eax,%eax