5aa87d:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5aa881:	83 fd 20             	cmp    $0x20,%ebp
5aa884:	7f 13                	jg     0x5aa899
5aa886:	8b 06                	mov    (%esi),%eax
5aa888:	85 c0                	test   %eax,%eax
5aa88a:	0f 84 73 02 00 00    	je     0x5aab03
5aa890:	83 f8 01             	cmp    $0x1,%eax
5aa893:	0f 84 1c 02 00 00    	je     0x5aaab5
5aa899:	3b 6c 24 2c          	cmp    0x2c(%esp),%ebp
5aa89d:	7d 4c                	jge    0x5aa8eb
5aa89f:	8b 54 24 24          	mov    0x24(%esp),%edx
5aa8a3:	8b c5                	mov    %ebp,%eax
5aa8a5:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
5aa8a9:	8b f1                	mov    %ecx,%esi
5aa8ab:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5aa8af:	8b 44 24 40          	mov    0x40(%esp),%eax
5aa8b3:	89 44 24 24          	mov    %eax,0x24(%esp)
5aa8b7:	8b 44 24 34          	mov    0x34(%esp),%eax
5aa8bb:	8b 4c 24 24          	mov    0x24(%esp),%ecx
5aa8bf:	89 54 24 40          	mov    %edx,0x40(%esp)
5aa8c3:	8b 54 24 20          	mov    0x20(%esp),%edx
5aa8c7:	89 54 24 34          	mov    %edx,0x34(%esp)
5aa8cb:	8b d3                	mov    %ebx,%edx
5aa8cd:	8b 09                	mov    (%ecx),%ecx
5aa8cf:	89 44 24 20          	mov    %eax,0x20(%esp)
5aa8d3:	8b 00                	mov    (%eax),%eax
5aa8d5:	89 6c 24 30          	mov    %ebp,0x30(%esp)
5aa8d9:	89 74 24 28          	mov    %esi,0x28(%esp)
5aa8dd:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5aa8e1:	89 54 24 1c          	mov    %edx,0x1c(%esp)
5aa8e5:	89 44 24 14          	mov    %eax,0x14(%esp)
5aa8e9:	eb 04                	jmp    0x5aa8ef
5aa8eb:	8b 44 24 14          	mov    0x14(%esp),%eax
5aa8ef:	33 db                	xor    %ebx,%ebx
5aa8f1:	85 ff                	test   %edi,%edi
5aa8f3:	0f 8e 5b 01 00 00    	jle    0x5aaa54
5aa8f9:	83 ff 04             	cmp    $0x4,%edi
5aa8fc:	0f 82 07 01 00 00    	jb     0x5aaa09
5aa902:	8d 04 b8             	lea    (%eax,%edi,4),%eax
5aa905:	83 c0 fc             	add    $0xfffffffc,%eax
5aa908:	8d 4f ff             	lea    -0x1(%edi),%ecx
5aa90b:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
5aa90e:	3b d0                	cmp    %eax,%edx
5aa910:	77 0a                	ja     0x5aa91c
5aa912:	3b 4c 24 14          	cmp    0x14(%esp),%ecx
5aa916:	0f 83 ed 00 00 00    	jae    0x5aaa09
5aa91c:	8d 47 ff             	lea    -0x1(%edi),%eax
5aa91f:	8d 04 86             	lea    (%esi,%eax,4),%eax
5aa922:	8d 4f ff             	lea    -0x1(%edi),%ecx
5aa925:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
5aa928:	3b d0                	cmp    %eax,%edx
5aa92a:	77 08                	ja     0x5aa934
5aa92c:	3b ce                	cmp    %esi,%ecx
5aa92e:	0f 83 d5 00 00 00    	jae    0x5aaa09
5aa934:	8b 44 24 10          	mov    0x10(%esp),%eax
5aa938:	8d 4f ff             	lea    -0x1(%edi),%ecx
5aa93b:	8d 0c 8a             	lea    (%edx,%ecx,4),%ecx
5aa93e:	8d 04 b8             	lea    (%eax,%edi,4),%eax
5aa941:	83 c0 fc             	add    $0xfffffffc,%eax
5aa944:	3b d0                	cmp    %eax,%edx
5aa946:	77 0c                	ja     0x5aa954
5aa948:	8b 44 24 10          	mov    0x10(%esp),%eax
5aa94c:	3b c8                	cmp    %eax,%ecx
5aa94e:	0f 83 b9 00 00 00    	jae    0x5aaa0d
5aa954:	8b 44 24 14          	mov    0x14(%esp),%eax
5aa958:	8d 4f ff             	lea    -0x1(%edi),%ecx
5aa95b:	8d 0c 8e             	lea    (%esi,%ecx,4),%ecx
5aa95e:	8d 04 b8             	lea    (%eax,%edi,4),%eax
5aa961:	83 c0 fc             	add    $0xfffffffc,%eax
5aa964:	3b f0                	cmp    %eax,%esi
5aa966:	77 0a                	ja     0x5aa972
5aa968:	3b 4c 24 14          	cmp    0x14(%esp),%ecx
5aa96c:	0f 83 97 00 00 00    	jae    0x5aaa09
5aa972:	8b 44 24 10          	mov    0x10(%esp),%eax
5aa976:	8d 4f ff             	lea    -0x1(%edi),%ecx
5aa979:	8d 0c 8e             	lea    (%esi,%ecx,4),%ecx
5aa97c:	8d 04 b8             	lea    (%eax,%edi,4),%eax
5aa97f:	83 c0 fc             	add    $0xfffffffc,%eax
5aa982:	3b f0                	cmp    %eax,%esi
5aa984:	77 0c                	ja     0x5aa992
5aa986:	8b 44 24 10          	mov    0x10(%esp),%eax
5aa98a:	3b c8                	cmp    %eax,%ecx
5aa98c:	0f 83 7b 00 00 00    	jae    0x5aaa0d
5aa992:	8b c7                	mov    %edi,%eax
5aa994:	25 03 00 00 80       	and    $0x80000003,%eax
5aa999:	79 05                	jns    0x5aa9a0
5aa99b:	48                   	dec    %eax
5aa99c:	83 c8 fc             	or     $0xfffffffc,%eax
5aa99f:	40                   	inc    %eax
5aa9a0:	8b 54 24 10          	mov    0x10(%esp),%edx
5aa9a4:	8b cf                	mov    %edi,%ecx
5aa9a6:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
5aa9aa:	2b d6                	sub    %esi,%edx
5aa9ac:	89 54 24 48          	mov    %edx,0x48(%esp)
5aa9b0:	2b c8                	sub    %eax,%ecx
5aa9b2:	8b 54 24 14          	mov    0x14(%esp),%edx
5aa9b6:	8b c6                	mov    %esi,%eax
5aa9b8:	2b d6                	sub    %esi,%edx
5aa9ba:	2b fe                	sub    %esi,%edi
5aa9bc:	89 54 24 3c          	mov    %edx,0x3c(%esp)
5aa9c0:	8b 54 24 48          	mov    0x48(%esp),%edx
5aa9c4:	89 7c 24 38          	mov    %edi,0x38(%esp)
5aa9c8:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
5aa9cc:	8b 74 24 38          	mov    0x38(%esp),%esi
5aa9d0:	0f 10 00             	movups (%eax),%xmm0
5aa9d3:	83 c3 04             	add    $0x4,%ebx
5aa9d6:	8d 40 10             	lea    0x10(%eax),%eax
5aa9d9:	0f 10 4c 02 f0       	movups -0x10(%edx,%eax,1),%xmm1
5aa9de:	66 0f ef c8          	pxor   %xmm0,%xmm1
5aa9e2:	0f 11 48 f0          	movups %xmm1,-0x10(%eax)
5aa9e6:	0f 10 4c 07 f0       	movups -0x10(%edi,%eax,1),%xmm1
5aa9eb:	0f 10 44 06 f0       	movups -0x10(%esi,%eax,1),%xmm0
5aa9f0:	66 0f ef c8          	pxor   %xmm0,%xmm1
5aa9f4:	0f 11 4c 06 f0       	movups %xmm1,-0x10(%esi,%eax,1)
5aa9f9:	3b d9                	cmp    %ecx,%ebx
5aa9fb:	7c d3                	jl     0x5aa9d0
5aa9fd:	8b 74 24 28          	mov    0x28(%esp),%esi
5aaa01:	8b 54 24 1c          	mov    0x1c(%esp),%edx
5aaa05:	8b 7c 24 18          	mov    0x18(%esp),%edi
5aaa09:	8b 44 24 10          	mov    0x10(%esp),%eax
5aaa0d:	3b df                	cmp    %edi,%ebx
5aaa0f:	7d 43                	jge    0x5aaa54
5aaa11:	2b c6                	sub    %esi,%eax
5aaa13:	8d 0c 9e             	lea    (%esi,%ebx,4),%ecx
5aaa16:	89 44 24 48          	mov    %eax,0x48(%esp)
5aaa1a:	2b d6                	sub    %esi,%edx
5aaa1c:	8b 44 24 14          	mov    0x14(%esp),%eax
5aaa20:	2b c6                	sub    %esi,%eax
5aaa22:	89 54 24 38          	mov    %edx,0x38(%esp)
5aaa26:	8b 74 24 48          	mov    0x48(%esp),%esi
5aaa2a:	2b fb                	sub    %ebx,%edi
5aaa2c:	89 44 24 3c          	mov    %eax,0x3c(%esp)
5aaa30:	8b d8                	mov    %eax,%ebx
5aaa32:	8b 04 31             	mov    (%ecx,%esi,1),%eax
5aaa35:	8d 49 04             	lea    0x4(%ecx),%ecx
5aaa38:	31 41 fc             	xor    %eax,-0x4(%ecx)
5aaa3b:	8b 44 19 fc          	mov    -0x4(%ecx,%ebx,1),%eax
5aaa3f:	31 44 11 fc          	xor    %eax,-0x4(%ecx,%edx,1)
5aaa43:	83 ef 01             	sub    $0x1,%edi
5aaa46:	75 ea                	jne    0x5aaa32
5aaa48:	8b 74 24 28          	mov    0x28(%esp),%esi
5aaa4c:	8b 54 24 1c          	mov    0x1c(%esp),%edx
5aaa50:	8b 7c 24 18          	mov    0x18(%esp),%edi
5aaa54:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5aaa58:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5aaa5c:	3b 6c 24 2c          	cmp    0x2c(%esp),%ebp
5aaa60:	0f 85 4c fd ff ff    	jne    0x5aa7b2
5aaa66:	8d 45 ff             	lea    -0x1(%ebp),%eax
5aaa69:	99                   	cltd
5aaa6a:	83 e2 1f             	and    $0x1f,%edx
5aaa6d:	8d 3c 02             	lea    (%edx,%eax,1),%edi
5aaa70:	c1 ff 05             	sar    $0x5,%edi
5aaa73:	8b 04 be             	mov    (%esi,%edi,4),%eax
5aaa76:	85 c0                	test   %eax,%eax
5aaa78:	75 13                	jne    0x5aaa8d
5aaa7a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5aaa80:	85 ff                	test   %edi,%edi
5aaa82:	74 09                	je     0x5aaa8d
5aaa84:	8b 44 be fc          	mov    -0x4(%esi,%edi,4),%eax
5aaa88:	4f                   	dec    %edi
5aaa89:	85 c0                	test   %eax,%eax
5aaa8b:	74 f3                	je     0x5aaa80
5aaa8d:	50                   	push   %eax
5aaa8e:	e8 4d 89 f0 ff       	call   0x4b33e0
5aaa93:	8b 54 24 20          	mov    0x20(%esp),%edx
5aaa97:	83 c4 04             	add    $0x4,%esp
5aaa9a:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5aaa9e:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5aaaa2:	c1 e7 05             	shl    $0x5,%edi
5aaaa5:	8d 2c 07             	lea    (%edi,%eax,1),%ebp
5aaaa8:	8b 7c 24 18          	mov    0x18(%esp),%edi
5aaaac:	89 6c 24 30          	mov    %ebp,0x30(%esp)
5aaab0:	e9 fd fc ff ff       	jmp    0x5aa7b2
5aaab5:	8b 5c 24 34          	mov    0x34(%esp),%ebx
5aaab9:	8b 4b 04             	mov    0x4(%ebx),%ecx
5aaabc:	85 c9                	test   %ecx,%ecx
5aaabe:	7e 19                	jle    0x5aaad9
5aaac0:	8b 03                	mov    (%ebx),%eax
5aaac2:	8d 51 ff             	lea    -0x1(%ecx),%edx
5aaac5:	8d 14 90             	lea    (%eax,%edx,4),%edx
5aaac8:	8b 02                	mov    (%edx),%eax
5aaaca:	8d 52 fc             	lea    -0x4(%edx),%edx
5aaacd:	85 c0                	test   %eax,%eax
5aaacf:	75 05                	jne    0x5aaad6
5aaad1:	49                   	dec    %ecx
5aaad2:	85 c9                	test   %ecx,%ecx
5aaad4:	7f f2                	jg     0x5aaac8
5aaad6:	89 4b 04             	mov    %ecx,0x4(%ebx)
5aaad9:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
5aaadd:	75 07                	jne    0x5aaae6
5aaadf:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
5aaae6:	53                   	push   %ebx
5aaae7:	ff 74 24 54          	push   0x54(%esp)
5aaaeb:	e8 e0 85 f0 ff       	call   0x4b30d0
5aaaf0:	33 c9                	xor    %ecx,%ecx
5aaaf2:	83 c4 08             	add    $0x8,%esp
5aaaf5:	85 c0                	test   %eax,%eax
5aaaf7:	ba 01 00 00 00       	mov    $0x1,%edx
5aaafc:	0f 45 ca             	cmovne %edx,%ecx
5aaaff:	89 4c 24 44          	mov    %ecx,0x44(%esp)
5aab03:	5d                   	pop    %ebp
5aab04:	5b                   	pop    %ebx
5aab05:	5e                   	pop    %esi
5aab06:	ff 74 24 50          	push   0x50(%esp)
5aab0a:	e8 41 d2 f2 ff       	call   0x4d7d50
5aab0f:	8b 44 24 3c          	mov    0x3c(%esp),%eax
5aab13:	83 c4 04             	add    $0x4,%esp
5aab16:	5f                   	pop    %edi
5aab17:	83 c4 3c             	add    $0x3c,%esp
5aab1a:	c3                   	ret
5aab1b:	cc                   	int3
5aab1c:	cc                   	int3
5aab1d:	cc                   	int3
5aab1e:	cc                   	int3
5aab1f:	cc                   	int3
5aab20:	53                   	push   %ebx
5aab21:	56                   	push   %esi
5aab22:	8b 74 24 18          	mov    0x18(%esp),%esi
5aab26:	57                   	push   %edi
5aab27:	56                   	push   %esi
5aab28:	e8 43 88 f0 ff       	call   0x4b3370
5aab2d:	68 29 02 00 00       	push   $0x229
5aab32:	68 c8 d4 6c 00       	push   $0x6cd4c8
5aab37:	8d 78 01             	lea    0x1(%eax),%edi
5aab3a:	8d 04 bd 00 00 00 00 	lea    0x0(,%edi,4),%eax
5aab41:	50                   	push   %eax
5aab42:	e8 69 56 ef ff       	call   0x4a01b0
5aab47:	8b d8                	mov    %eax,%ebx
5aab49:	83 c4 10             	add    $0x10,%esp
5aab4c:	85 db                	test   %ebx,%ebx
5aab4e:	74 69                	je     0x5aabb9
5aab50:	57                   	push   %edi
5aab51:	53                   	push   %ebx
5aab52:	56                   	push   %esi
5aab53:	e8 58 08 00 00       	call   0x5ab3b0
5aab58:	8b f0                	mov    %eax,%esi
5aab5a:	83 c4 0c             	add    $0xc,%esp
5aab5d:	85 f6                	test   %esi,%esi
5aab5f:	74 2e                	je     0x5aab8f
5aab61:	3b f7                	cmp    %edi,%esi
5aab63:	7f 2a                	jg     0x5aab8f
5aab65:	ff 74 24 20          	push   0x20(%esp)
5aab69:	53                   	push   %ebx
5aab6a:	ff 74 24 20          	push   0x20(%esp)
5aab6e:	ff 74 24 20          	push   0x20(%esp)
5aab72:	ff 74 24 20          	push   0x20(%esp)
5aab76:	e8 45 00 00 00       	call   0x5aabc0
5aab7b:	8b f0                	mov    %eax,%esi
5aab7d:	83 c4 14             	add    $0x14,%esp
5aab80:	53                   	push   %ebx
5aab81:	e8 aa 55 ef ff       	call   0x4a0130
5aab86:	83 c4 04             	add    $0x4,%esp
5aab89:	8b c6                	mov    %esi,%eax
5aab8b:	5f                   	pop    %edi
5aab8c:	5e                   	pop    %esi
5aab8d:	5b                   	pop    %ebx
5aab8e:	c3                   	ret
5aab8f:	68 2d 02 00 00       	push   $0x22d
5aab94:	68 c8 d4 6c 00       	push   $0x6cd4c8
5aab99:	6a 6a                	push   $0x6a
5aab9b:	68 85 00 00 00       	push   $0x85
5aaba0:	6a 03                	push   $0x3
5aaba2:	e8 f9 68 ef ff       	call   0x4a14a0
5aaba7:	83 c4 14             	add    $0x14,%esp
5aabaa:	53                   	push   %ebx
5aabab:	e8 80 55 ef ff       	call   0x4a0130
5aabb0:	83 c4 04             	add    $0x4,%esp
5aabb3:	8b c6                	mov    %esi,%eax
5aabb5:	5f                   	pop    %edi
5aabb6:	5e                   	pop    %esi
5aabb7:	5b                   	pop    %ebx
5aabb8:	c3                   	ret
5aabb9:	5f                   	pop    %edi
5aabba:	5e                   	pop    %esi
5aabbb:	33 c0                	xor    %eax,%eax
5aabbd:	5b                   	pop    %ebx
5aabbe:	c3                   	ret
5aabbf:	cc                   	int3
5aabc0:	b8 44 00 00 00       	mov    $0x44,%eax
5aabc5:	e8 26 69 03 00       	call   0x5e14f0
5aabca:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5aabcf:	33 c4                	xor    %esp,%eax
5aabd1:	89 44 24 40          	mov    %eax,0x40(%esp)
5aabd5:	8b 44 24 48          	mov    0x48(%esp),%eax
5aabd9:	8b 4c 24 54          	mov    0x54(%esp),%ecx
5aabdd:	55                   	push   %ebp
5aabde:	8b 6c 24 5c          	mov    0x5c(%esp),%ebp
5aabe2:	56                   	push   %esi
5aabe3:	8b 74 24 58          	mov    0x58(%esp),%esi
5aabe7:	57                   	push   %edi
5aabe8:	8b 7c 24 58          	mov    0x58(%esp),%edi
5aabec:	89 44 24 34          	mov    %eax,0x34(%esp)
5aabf0:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
5aabf4:	89 74 24 20          	mov    %esi,0x20(%esp)
5aabf8:	89 4c 24 30          	mov    %ecx,0x30(%esp)
5aabfc:	89 6c 24 38          	mov    %ebp,0x38(%esp)
5aac00:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
5aac07:	00
5aac08:	55                   	push   %ebp
5aac09:	3b fe                	cmp    %esi,%edi
5aac0b:	75 1d                	jne    0x5aac2a
5aac0d:	51                   	push   %ecx
5aac0e:	57                   	push   %edi
5aac0f:	50                   	push   %eax
5aac10:	e8 cb 05 00 00       	call   0x5ab1e0
5aac15:	83 c4 10             	add    $0x10,%esp
5aac18:	5f                   	pop    %edi
5aac19:	5e                   	pop    %esi
5aac1a:	5d                   	pop    %ebp
5aac1b:	8b 4c 24 40          	mov    0x40(%esp),%ecx
5aac1f:	33 cc                	xor    %esp,%ecx
5aac21:	e8 b4 68 03 00       	call   0x5e14da
5aac26:	83 c4 44             	add    $0x44,%esp
5aac29:	c3                   	ret
5aac2a:	e8 71 d2 f2 ff       	call   0x4d7ea0
5aac2f:	55                   	push   %ebp
5aac30:	e8 8b d1 f2 ff       	call   0x4d7dc0
5aac35:	8b e8                	mov    %eax,%ebp
5aac37:	83 c4 08             	add    $0x8,%esp
5aac3a:	85 ed                	test   %ebp,%ebp
5aac3c:	0f 84 1e 02 00 00    	je     0x5aae60
5aac42:	53                   	push   %ebx
5aac43:	8b 5f 04             	mov    0x4(%edi),%ebx
5aac46:	83 c3 04             	add    $0x4,%ebx
5aac49:	03 5e 04             	add    0x4(%esi),%ebx
5aac4c:	3b 5d 08             	cmp    0x8(%ebp),%ebx
5aac4f:	7e 0a                	jle    0x5aac5b
5aac51:	53                   	push   %ebx
5aac52:	55                   	push   %ebp
5aac53:	e8 48 8a f0 ff       	call   0x4b36a0
5aac58:	83 c4 08             	add    $0x8,%esp
5aac5b:	85 c0                	test   %eax,%eax
5aac5d:	0f 84 fc 01 00 00    	je     0x5aae5f
5aac63:	33 f6                	xor    %esi,%esi
5aac65:	89 5d 04             	mov    %ebx,0x4(%ebp)
5aac68:	85 db                	test   %ebx,%ebx
5aac6a:	7e 63                	jle    0x5aaccf
5aac6c:	83 fb 04             	cmp    $0x4,%ebx
5aac6f:	72 48                	jb     0x5aacb9
5aac71:	8b 45 00             	mov    0x0(%ebp),%eax
5aac74:	8d 4b ff             	lea    -0x1(%ebx),%ecx
5aac77:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
5aac7a:	3b c5                	cmp    %ebp,%eax
5aac7c:	77 04                	ja     0x5aac82
5aac7e:	3b cd                	cmp    %ebp,%ecx
5aac80:	73 37                	jae    0x5aacb9
5aac82:	8b c3                	mov    %ebx,%eax
5aac84:	25 03 00 00 80       	and    $0x80000003,%eax
5aac89:	79 05                	jns    0x5aac90
5aac8b:	48                   	dec    %eax