6aae48:	cc                   	int3
6aae49:	cc                   	int3
6aae4a:	cc                   	int3
6aae4b:	cc                   	int3
6aae4c:	cc                   	int3
6aae4d:	cc                   	int3
6aae4e:	cc                   	int3
6aae4f:	cc                   	int3
6aae50:	83 ec 08             	sub    $0x8,%esp
6aae53:	56                   	push   %esi
6aae54:	57                   	push   %edi
6aae55:	e8 ae 67 d6 ff       	call   0x411608
6aae5a:	8b 74 24 14          	mov    0x14(%esp),%esi
6aae5e:	6a 2c                	push   $0x2c
6aae60:	56                   	push   %esi
6aae61:	89 44 24 10          	mov    %eax,0x10(%esp)
6aae65:	89 54 24 14          	mov    %edx,0x14(%esp)
6aae69:	e8 49 cb d7 ff       	call   0x4279b7
6aae6e:	8b f8                	mov    %eax,%edi
6aae70:	8d 44 24 08          	lea    0x8(%esp),%eax
6aae74:	6a 0f                	push   $0xf
6aae76:	57                   	push   %edi
6aae77:	89 37                	mov    %esi,(%edi)
6aae79:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
6aae80:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
6aae87:	c7 47 1c 0f 00 00 00 	movl   $0xf,0x1c(%edi)
6aae8e:	8b 54 24 14          	mov    0x14(%esp),%edx
6aae92:	8b ca                	mov    %edx,%ecx
6aae94:	33 54 24 10          	xor    0x10(%esp),%edx
6aae98:	33 d7                	xor    %edi,%edx
6aae9a:	c1 f9 1f             	sar    $0x1f,%ecx
6aae9d:	33 d6                	xor    %esi,%edx
6aae9f:	33 d0                	xor    %eax,%edx
6aaea1:	4a                   	dec    %edx
6aaea2:	89 57 20             	mov    %edx,0x20(%edi)
6aaea5:	e8 c6 fc ff ff       	call   0x6aab70
6aaeaa:	83 c4 08             	add    $0x8,%esp
6aaead:	89 47 04             	mov    %eax,0x4(%edi)
6aaeb0:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
6aaeb7:	8b c7                	mov    %edi,%eax
6aaeb9:	5f                   	pop    %edi
6aaeba:	5e                   	pop    %esi
6aaebb:	83 c4 08             	add    $0x8,%esp
6aaebe:	c2 04 00             	ret    $0x4
6aaec1:	cc                   	int3
6aaec2:	cc                   	int3
6aaec3:	cc                   	int3
6aaec4:	cc                   	int3
6aaec5:	cc                   	int3
6aaec6:	cc                   	int3
6aaec7:	cc                   	int3
6aaec8:	cc                   	int3
6aaec9:	cc                   	int3
6aaeca:	cc                   	int3
6aaecb:	cc                   	int3
6aaecc:	cc                   	int3
6aaecd:	cc                   	int3
6aaece:	cc                   	int3
6aaecf:	cc                   	int3
6aaed0:	cc                   	int3
6aaed1:	cc                   	int3
6aaed2:	cc                   	int3
6aaed3:	cc                   	int3
6aaed4:	cc                   	int3
6aaed5:	cc                   	int3
6aaed6:	cc                   	int3
6aaed7:	cc                   	int3
6aaed8:	cc                   	int3
6aaed9:	cc                   	int3
6aaeda:	cc                   	int3
6aaedb:	cc                   	int3
6aaedc:	cc                   	int3
6aaedd:	cc                   	int3
6aaede:	cc                   	int3
6aaedf:	cc                   	int3
6aaee0:	ff 74 24 04          	push   0x4(%esp)
6aaee4:	e8 7c 83 d5 ff       	call   0x403265
6aaee9:	8b 4c 24 08          	mov    0x8(%esp),%ecx
6aaeed:	89 48 24             	mov    %ecx,0x24(%eax)
6aaef0:	c2 08 00             	ret    $0x8
6aaef3:	cc                   	int3
6aaef4:	cc                   	int3
6aaef5:	cc                   	int3
6aaef6:	cc                   	int3
6aaef7:	cc                   	int3
6aaef8:	cc                   	int3
6aaef9:	cc                   	int3
6aaefa:	cc                   	int3
6aaefb:	cc                   	int3
6aaefc:	cc                   	int3
6aaefd:	cc                   	int3
6aaefe:	cc                   	int3
6aaeff:	cc                   	int3
6aaf00:	83 ec 18             	sub    $0x18,%esp
6aaf03:	53                   	push   %ebx
6aaf04:	8b 5c 24 20          	mov    0x20(%esp),%ebx
6aaf08:	55                   	push   %ebp
6aaf09:	56                   	push   %esi
6aaf0a:	57                   	push   %edi
6aaf0b:	6a 2c                	push   $0x2c
6aaf0d:	53                   	push   %ebx
6aaf0e:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
6aaf15:	00
6aaf16:	e8 9c ca d7 ff       	call   0x4279b7
6aaf1b:	8b 6c 24 34          	mov    0x34(%esp),%ebp
6aaf1f:	8b f8                	mov    %eax,%edi
6aaf21:	8b 74 24 30          	mov    0x30(%esp),%esi
6aaf25:	89 7c 24 10          	mov    %edi,0x10(%esp)
6aaf29:	89 1f                	mov    %ebx,(%edi)
6aaf2b:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
6aaf32:	8b 45 24             	mov    0x24(%ebp),%eax
6aaf35:	89 47 24             	mov    %eax,0x24(%edi)
6aaf38:	8b 45 18             	mov    0x18(%ebp),%eax
6aaf3b:	89 47 18             	mov    %eax,0x18(%edi)
6aaf3e:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
6aaf41:	39 4e 1c             	cmp    %ecx,0x1c(%esi)
6aaf44:	0f 47 4e 1c          	cmova  0x1c(%esi),%ecx
6aaf48:	89 4f 1c             	mov    %ecx,0x1c(%edi)
6aaf4b:	8b 46 18             	mov    0x18(%esi),%eax
6aaf4e:	03 45 18             	add    0x18(%ebp),%eax
6aaf51:	3b c1                	cmp    %ecx,%eax
6aaf53:	76 0a                	jbe    0x6aaf5f
6aaf55:	8d 04 4d 01 00 00 00 	lea    0x1(,%ecx,2),%eax
6aaf5c:	89 47 1c             	mov    %eax,0x1c(%edi)
6aaf5f:	ff 77 1c             	push   0x1c(%edi)
6aaf62:	8b 45 20             	mov    0x20(%ebp),%eax
6aaf65:	57                   	push   %edi
6aaf66:	89 47 20             	mov    %eax,0x20(%edi)
6aaf69:	e8 02 fc ff ff       	call   0x6aab70
6aaf6e:	89 47 04             	mov    %eax,0x4(%edi)
6aaf71:	83 c4 08             	add    $0x8,%esp
6aaf74:	8b 45 18             	mov    0x18(%ebp),%eax
6aaf77:	03 46 18             	add    0x18(%esi),%eax
6aaf7a:	74 15                	je     0x6aaf91
6aaf7c:	8d 04 80             	lea    (%eax,%eax,4),%eax
6aaf7f:	c1 e0 02             	shl    $0x2,%eax
6aaf82:	50                   	push   %eax
6aaf83:	53                   	push   %ebx
6aaf84:	e8 2e ca d7 ff       	call   0x4279b7
6aaf89:	8b d0                	mov    %eax,%edx
6aaf8b:	89 54 24 18          	mov    %edx,0x18(%esp)
6aaf8f:	eb 02                	jmp    0x6aaf93
6aaf91:	33 d2                	xor    %edx,%edx
6aaf93:	33 c9                	xor    %ecx,%ecx
6aaf95:	33 db                	xor    %ebx,%ebx
6aaf97:	89 4c 24 14          	mov    %ecx,0x14(%esp)
6aaf9b:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
6aaf9f:	90                   	nop
6aafa0:	8b 4d 04             	mov    0x4(%ebp),%ecx
6aafa3:	8b 34 99             	mov    (%ecx,%ebx,4),%esi
6aafa6:	85 f6                	test   %esi,%esi
6aafa8:	74 5b                	je     0x6ab005
6aafaa:	8b 5c 24 14          	mov    0x14(%esp),%ebx
6aafae:	8b 6c 24 10          	mov    0x10(%esp),%ebp
6aafb2:	8d 3c 9d 02 00 00 00 	lea    0x2(,%ebx,4),%edi
6aafb9:	03 fb                	add    %ebx,%edi
6aafbb:	8d 3c ba             	lea    (%edx,%edi,4),%edi
6aafbe:	66 90                	xchg   %ax,%ax
6aafc0:	8b 56 04             	mov    0x4(%esi),%edx
6aafc3:	8d 4f f8             	lea    -0x8(%edi),%ecx
6aafc6:	23 55 1c             	and    0x1c(%ebp),%edx
6aafc9:	8d 7f 14             	lea    0x14(%edi),%edi
6aafcc:	8b 46 0c             	mov    0xc(%esi),%eax
6aafcf:	43                   	inc    %ebx
6aafd0:	89 47 f0             	mov    %eax,-0x10(%edi)
6aafd3:	8b 46 08             	mov    0x8(%esi),%eax
6aafd6:	89 47 ec             	mov    %eax,-0x14(%edi)
6aafd9:	8b 46 10             	mov    0x10(%esi),%eax
6aafdc:	89 47 f4             	mov    %eax,-0xc(%edi)
6aafdf:	8b 46 04             	mov    0x4(%esi),%eax
6aafe2:	89 47 e8             	mov    %eax,-0x18(%edi)
6aafe5:	8b 45 04             	mov    0x4(%ebp),%eax
6aafe8:	8b 04 90             	mov    (%eax,%edx,4),%eax
6aafeb:	89 01                	mov    %eax,(%ecx)
6aafed:	8b 45 04             	mov    0x4(%ebp),%eax
6aaff0:	89 0c 90             	mov    %ecx,(%eax,%edx,4)
6aaff3:	8b 36                	mov    (%esi),%esi
6aaff5:	85 f6                	test   %esi,%esi
6aaff7:	75 c7                	jne    0x6aafc0
6aaff9:	8b 6c 24 34          	mov    0x34(%esp),%ebp
6aaffd:	89 5c 24 14          	mov    %ebx,0x14(%esp)
6ab001:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
6ab005:	8b 54 24 18          	mov    0x18(%esp),%edx
6ab009:	43                   	inc    %ebx
6ab00a:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
6ab00e:	3b 5d 1c             	cmp    0x1c(%ebp),%ebx
6ab011:	76 8d                	jbe    0x6aafa0
6ab013:	8b 7c 24 10          	mov    0x10(%esp),%edi
6ab017:	33 c9                	xor    %ecx,%ecx
6ab019:	8b 44 24 30          	mov    0x30(%esp),%eax
6ab01d:	89 4c 24 20          	mov    %ecx,0x20(%esp)
6ab021:	8b 40 04             	mov    0x4(%eax),%eax
6ab024:	8b 1c 88             	mov    (%eax,%ecx,4),%ebx
6ab027:	85 db                	test   %ebx,%ebx
6ab029:	0f 84 0f 01 00 00    	je     0x6ab13e
6ab02f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
6ab033:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
6ab036:	8b 4c 24 18          	mov    0x18(%esp),%ecx
6ab03a:	8d 40 02             	lea    0x2(%eax),%eax
6ab03d:	8d 04 81             	lea    (%ecx,%eax,4),%eax
6ab040:	89 44 24 1c          	mov    %eax,0x1c(%esp)
6ab044:	8b 47 24             	mov    0x24(%edi),%eax
6ab047:	8d 73 0c             	lea    0xc(%ebx),%esi
6ab04a:	85 c0                	test   %eax,%eax
6ab04c:	74 0b                	je     0x6ab059
6ab04e:	56                   	push   %esi
6ab04f:	ff 73 08             	push   0x8(%ebx)
6ab052:	ff d0                	call   *%eax
6ab054:	83 c4 08             	add    $0x8,%esp
6ab057:	eb 0f                	jmp    0x6ab068
6ab059:	ff 77 20             	push   0x20(%edi)
6ab05c:	56                   	push   %esi
6ab05d:	ff 73 08             	push   0x8(%ebx)
6ab060:	e8 6b 05 00 00       	call   0x6ab5d0
6ab065:	83 c4 0c             	add    $0xc,%esp
6ab068:	89 44 24 34          	mov    %eax,0x34(%esp)
6ab06c:	23 47 1c             	and    0x1c(%edi),%eax
6ab06f:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
6ab076:	8b 47 04             	mov    0x4(%edi),%eax
6ab079:	89 54 24 24          	mov    %edx,0x24(%esp)
6ab07d:	8b 3c 02             	mov    (%edx,%eax,1),%edi
6ab080:	85 ff                	test   %edi,%edi
6ab082:	74 6d                	je     0x6ab0f1
6ab084:	8b 2e                	mov    (%esi),%ebp
6ab086:	39 6f 0c             	cmp    %ebp,0xc(%edi)
6ab089:	75 5c                	jne    0x6ab0e7
6ab08b:	8b 57 08             	mov    0x8(%edi),%edx
6ab08e:	8b f5                	mov    %ebp,%esi
6ab090:	8b 43 08             	mov    0x8(%ebx),%eax
6ab093:	83 ee 04             	sub    $0x4,%esi
6ab096:	72 11                	jb     0x6ab0a9
6ab098:	8b 0a                	mov    (%edx),%ecx
6ab09a:	3b 08                	cmp    (%eax),%ecx
6ab09c:	75 14                	jne    0x6ab0b2
6ab09e:	83 c2 04             	add    $0x4,%edx
6ab0a1:	83 c0 04             	add    $0x4,%eax
6ab0a4:	83 ee 04             	sub    $0x4,%esi
6ab0a7:	73 ef                	jae    0x6ab098
6ab0a9:	83 fe fc             	cmp    $0xfffffffc,%esi
6ab0ac:	0f 84 aa 00 00 00    	je     0x6ab15c
6ab0b2:	8a 0a                	mov    (%edx),%cl
6ab0b4:	3a 08                	cmp    (%eax),%cl
6ab0b6:	75 2f                	jne    0x6ab0e7
6ab0b8:	83 fe fd             	cmp    $0xfffffffd,%esi
6ab0bb:	0f 84 9b 00 00 00    	je     0x6ab15c
6ab0c1:	8a 4a 01             	mov    0x1(%edx),%cl
6ab0c4:	3a 48 01             	cmp    0x1(%eax),%cl
6ab0c7:	75 1e                	jne    0x6ab0e7
6ab0c9:	83 fe fe             	cmp    $0xfffffffe,%esi
6ab0cc:	0f 84 8a 00 00 00    	je     0x6ab15c
6ab0d2:	8a 4a 02             	mov    0x2(%edx),%cl
6ab0d5:	3a 48 02             	cmp    0x2(%eax),%cl
6ab0d8:	75 0d                	jne    0x6ab0e7
6ab0da:	83 fe ff             	cmp    $0xffffffff,%esi
6ab0dd:	74 7d                	je     0x6ab15c
6ab0df:	8a 4a 03             	mov    0x3(%edx),%cl
6ab0e2:	3a 48 03             	cmp    0x3(%eax),%cl
6ab0e5:	74 75                	je     0x6ab15c
6ab0e7:	8b 3f                	mov    (%edi),%edi
6ab0e9:	85 ff                	test   %edi,%edi
6ab0eb:	75 99                	jne    0x6ab086
6ab0ed:	8b 54 24 24          	mov    0x24(%esp),%edx
6ab0f1:	8b 74 24 1c          	mov    0x1c(%esp),%esi
6ab0f5:	8b 43 0c             	mov    0xc(%ebx),%eax
6ab0f8:	8d 4e f8             	lea    -0x8(%esi),%ecx
6ab0fb:	8b 7c 24 10          	mov    0x10(%esp),%edi
6ab0ff:	ff 44 24 14          	incl   0x14(%esp)
6ab103:	89 46 04             	mov    %eax,0x4(%esi)
6ab106:	8b 43 08             	mov    0x8(%ebx),%eax
6ab109:	89 06                	mov    %eax,(%esi)
6ab10b:	8b 43 10             	mov    0x10(%ebx),%eax
6ab10e:	89 46 08             	mov    %eax,0x8(%esi)
6ab111:	8b 44 24 34          	mov    0x34(%esp),%eax
6ab115:	89 46 fc             	mov    %eax,-0x4(%esi)
6ab118:	8b 47 04             	mov    0x4(%edi),%eax
6ab11b:	8b 04 02             	mov    (%edx,%eax,1),%eax
6ab11e:	89 01                	mov    %eax,(%ecx)
6ab120:	8b 47 04             	mov    0x4(%edi),%eax
6ab123:	89 0c 02             	mov    %ecx,(%edx,%eax,1)
6ab126:	ff 47 18             	incl   0x18(%edi)
6ab129:	83 c6 14             	add    $0x14,%esi
6ab12c:	89 74 24 1c          	mov    %esi,0x1c(%esp)
6ab130:	8b 1b                	mov    (%ebx),%ebx
6ab132:	85 db                	test   %ebx,%ebx
6ab134:	0f 85 0a ff ff ff    	jne    0x6ab044
6ab13a:	8b 4c 24 20          	mov    0x20(%esp),%ecx
6ab13e:	8b 44 24 30          	mov    0x30(%esp),%eax
6ab142:	41                   	inc    %ecx
6ab143:	89 4c 24 20          	mov    %ecx,0x20(%esp)
6ab147:	3b 48 1c             	cmp    0x1c(%eax),%ecx
6ab14a:	0f 86 d1 fe ff ff    	jbe    0x6ab021
6ab150:	8b c7                	mov    %edi,%eax
6ab152:	5f                   	pop    %edi
6ab153:	5e                   	pop    %esi
6ab154:	5d                   	pop    %ebp
6ab155:	5b                   	pop    %ebx
6ab156:	83 c4 18             	add    $0x18,%esp
6ab159:	c2 14 00             	ret    $0x14
6ab15c:	8b 4c 24 38          	mov    0x38(%esp),%ecx
6ab160:	85 c9                	test   %ecx,%ecx
6ab162:	74 20                	je     0x6ab184
6ab164:	ff 74 24 3c          	push   0x3c(%esp)
6ab168:	ff 77 10             	push   0x10(%edi)
6ab16b:	ff 73 10             	push   0x10(%ebx)
6ab16e:	55                   	push   %ebp
6ab16f:	ff 73 08             	push   0x8(%ebx)
6ab172:	ff 74 24 40          	push   0x40(%esp)
6ab176:	ff d1                	call   *%ecx
6ab178:	89 47 10             	mov    %eax,0x10(%edi)
6ab17b:	83 c4 18             	add    $0x18,%esp
6ab17e:	8b 7c 24 10          	mov    0x10(%esp),%edi
6ab182:	eb ac                	jmp    0x6ab130
6ab184:	8b 43 10             	mov    0x10(%ebx),%eax
6ab187:	89 47 10             	mov    %eax,0x10(%edi)
6ab18a:	8b 7c 24 10          	mov    0x10(%esp),%edi
6ab18e:	eb a0                	jmp    0x6ab130
6ab190:	cc                   	int3
6ab191:	cc                   	int3
6ab192:	cc                   	int3
6ab193:	cc                   	int3
6ab194:	cc                   	int3
6ab195:	cc                   	int3
6ab196:	cc                   	int3
6ab197:	cc                   	int3
6ab198:	cc                   	int3
6ab199:	cc                   	int3
6ab19a:	cc                   	int3
6ab19b:	cc                   	int3
6ab19c:	cc                   	int3
6ab19d:	cc                   	int3
6ab19e:	cc                   	int3
6ab19f:	cc                   	int3
6ab1a0:	cc                   	int3
6ab1a1:	cc                   	int3
6ab1a2:	cc                   	int3
6ab1a3:	cc                   	int3
6ab1a4:	cc                   	int3
6ab1a5:	cc                   	int3
6ab1a6:	cc                   	int3
6ab1a7:	cc                   	int3
6ab1a8:	cc                   	int3
6ab1a9:	cc                   	int3
6ab1aa:	cc                   	int3
6ab1ab:	cc                   	int3
6ab1ac:	cc                   	int3
6ab1ad:	cc                   	int3
6ab1ae:	cc                   	int3
6ab1af:	cc                   	int3
6ab1b0:	cc                   	int3
6ab1b1:	cc                   	int3