479007:	5f                   	pop    %edi
479008:	5e                   	pop    %esi
479009:	5b                   	pop    %ebx
47900a:	8b e5                	mov    %ebp,%esp
47900c:	5d                   	pop    %ebp
47900d:	c2 08 00             	ret    $0x8
479010:	e8 8b 37 fe ff       	call   0x45c7a0
479015:	cc                   	int3
479016:	cc                   	int3
479017:	cc                   	int3
479018:	cc                   	int3
479019:	cc                   	int3
47901a:	cc                   	int3
47901b:	cc                   	int3
47901c:	cc                   	int3
47901d:	cc                   	int3
47901e:	cc                   	int3
47901f:	cc                   	int3
479020:	55                   	push   %ebp
479021:	8b ec                	mov    %esp,%ebp
479023:	83 ec 0c             	sub    $0xc,%esp
479026:	53                   	push   %ebx
479027:	8b d9                	mov    %ecx,%ebx
479029:	56                   	push   %esi
47902a:	8b 75 08             	mov    0x8(%ebp),%esi
47902d:	57                   	push   %edi
47902e:	8b 13                	mov    (%ebx),%edx
479030:	8b fe                	mov    %esi,%edi
479032:	8b 43 04             	mov    0x4(%ebx),%eax
479035:	2b fa                	sub    %edx,%edi
479037:	2b c2                	sub    %edx,%eax
479039:	c1 ff 02             	sar    $0x2,%edi
47903c:	c1 f8 02             	sar    $0x2,%eax
47903f:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
479044:	0f 84 c6 00 00 00    	je     0x479110
47904a:	8b 4b 08             	mov    0x8(%ebx),%ecx
47904d:	40                   	inc    %eax
47904e:	2b ca                	sub    %edx,%ecx
479050:	89 45 fc             	mov    %eax,-0x4(%ebp)
479053:	c1 f9 02             	sar    $0x2,%ecx
479056:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47905b:	8b d1                	mov    %ecx,%edx
47905d:	d1 ea                	shr    $1,%edx
47905f:	2b c2                	sub    %edx,%eax
479061:	3b c8                	cmp    %eax,%ecx
479063:	76 07                	jbe    0x47906c
479065:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
47906a:	eb 0a                	jmp    0x479076
47906c:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
47906f:	3b 45 fc             	cmp    -0x4(%ebp),%eax
479072:	0f 42 45 fc          	cmovb  -0x4(%ebp),%eax
479076:	50                   	push   %eax
479077:	8b cb                	mov    %ebx,%ecx
479079:	89 45 08             	mov    %eax,0x8(%ebp)
47907c:	e8 4f 02 ff ff       	call   0x4692d0
479081:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479084:	89 45 f4             	mov    %eax,-0xc(%ebp)
479087:	8d 14 b8             	lea    (%eax,%edi,4),%edx
47908a:	8b 09                	mov    (%ecx),%ecx
47908c:	89 0a                	mov    %ecx,(%edx)
47908e:	8b 7b 04             	mov    0x4(%ebx),%edi
479091:	8b 0b                	mov    (%ebx),%ecx
479093:	89 55 f8             	mov    %edx,-0x8(%ebp)
479096:	8b d0                	mov    %eax,%edx
479098:	3b f7                	cmp    %edi,%esi
47909a:	75 1b                	jne    0x4790b7
47909c:	3b cf                	cmp    %edi,%ecx
47909e:	74 54                	je     0x4790f4
4790a0:	8b 01                	mov    (%ecx),%eax
4790a2:	8d 52 04             	lea    0x4(%edx),%edx
4790a5:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4790ab:	83 c1 04             	add    $0x4,%ecx
4790ae:	89 42 fc             	mov    %eax,-0x4(%edx)
4790b1:	3b cf                	cmp    %edi,%ecx
4790b3:	75 eb                	jne    0x4790a0
4790b5:	eb 3d                	jmp    0x4790f4
4790b7:	3b ce                	cmp    %esi,%ecx
4790b9:	74 1d                	je     0x4790d8
4790bb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4790c0:	8b 01                	mov    (%ecx),%eax
4790c2:	8d 52 04             	lea    0x4(%edx),%edx
4790c5:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4790cb:	83 c1 04             	add    $0x4,%ecx
4790ce:	89 42 fc             	mov    %eax,-0x4(%edx)
4790d1:	3b ce                	cmp    %esi,%ecx
4790d3:	75 eb                	jne    0x4790c0
4790d5:	8b 7b 04             	mov    0x4(%ebx),%edi
4790d8:	3b f7                	cmp    %edi,%esi
4790da:	74 18                	je     0x4790f4
4790dc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4790df:	2b ce                	sub    %esi,%ecx
4790e1:	8b 06                	mov    (%esi),%eax
4790e3:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4790e9:	89 44 31 04          	mov    %eax,0x4(%ecx,%esi,1)
4790ed:	83 c6 04             	add    $0x4,%esi
4790f0:	3b f7                	cmp    %edi,%esi
4790f2:	75 ed                	jne    0x4790e1
4790f4:	ff 75 08             	push   0x8(%ebp)
4790f7:	8b cb                	mov    %ebx,%ecx
4790f9:	ff 75 fc             	push   -0x4(%ebp)
4790fc:	ff 75 f4             	push   -0xc(%ebp)
4790ff:	e8 1c 31 02 00       	call   0x49c220
479104:	8b 45 f8             	mov    -0x8(%ebp),%eax
479107:	5f                   	pop    %edi
479108:	5e                   	pop    %esi
479109:	5b                   	pop    %ebx
47910a:	8b e5                	mov    %ebp,%esp
47910c:	5d                   	pop    %ebp
47910d:	c2 08 00             	ret    $0x8
479110:	e8 8b 36 fe ff       	call   0x45c7a0
479115:	cc                   	int3
479116:	cc                   	int3
479117:	cc                   	int3
479118:	cc                   	int3
479119:	cc                   	int3
47911a:	cc                   	int3
47911b:	cc                   	int3
47911c:	cc                   	int3
47911d:	cc                   	int3
47911e:	cc                   	int3
47911f:	cc                   	int3
479120:	55                   	push   %ebp
479121:	8b ec                	mov    %esp,%ebp
479123:	83 ec 10             	sub    $0x10,%esp
479126:	53                   	push   %ebx
479127:	8b d9                	mov    %ecx,%ebx
479129:	56                   	push   %esi
47912a:	8b 75 08             	mov    0x8(%ebp),%esi
47912d:	57                   	push   %edi
47912e:	8b 13                	mov    (%ebx),%edx
479130:	8b fe                	mov    %esi,%edi
479132:	8b 43 04             	mov    0x4(%ebx),%eax
479135:	2b fa                	sub    %edx,%edi
479137:	2b c2                	sub    %edx,%eax
479139:	c1 ff 03             	sar    $0x3,%edi
47913c:	c1 f8 03             	sar    $0x3,%eax
47913f:	89 5d fc             	mov    %ebx,-0x4(%ebp)
479142:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
479147:	0f 84 d9 00 00 00    	je     0x479226
47914d:	8b 4b 08             	mov    0x8(%ebx),%ecx
479150:	40                   	inc    %eax
479151:	2b ca                	sub    %edx,%ecx
479153:	89 45 f4             	mov    %eax,-0xc(%ebp)
479156:	c1 f9 03             	sar    $0x3,%ecx
479159:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
47915e:	8b d1                	mov    %ecx,%edx
479160:	d1 ea                	shr    $1,%edx
479162:	2b c2                	sub    %edx,%eax
479164:	3b c8                	cmp    %eax,%ecx
479166:	76 07                	jbe    0x47916f
479168:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
47916d:	eb 0a                	jmp    0x479179
47916f:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
479172:	3b 45 f4             	cmp    -0xc(%ebp),%eax
479175:	0f 42 45 f4          	cmovb  -0xc(%ebp),%eax
479179:	50                   	push   %eax
47917a:	8b cb                	mov    %ebx,%ecx
47917c:	89 45 f8             	mov    %eax,-0x8(%ebp)
47917f:	e8 dc 43 02 00       	call   0x49d560
479184:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479187:	89 45 f0             	mov    %eax,-0x10(%ebp)
47918a:	8d 3c f8             	lea    (%eax,%edi,8),%edi
47918d:	8b 11                	mov    (%ecx),%edx
47918f:	8b 49 04             	mov    0x4(%ecx),%ecx
479192:	89 4f 04             	mov    %ecx,0x4(%edi)
479195:	8b 4d fc             	mov    -0x4(%ebp),%ecx
479198:	89 17                	mov    %edx,(%edi)
47919a:	8b 5b 04             	mov    0x4(%ebx),%ebx
47919d:	89 7d 08             	mov    %edi,0x8(%ebp)
4791a0:	8b 09                	mov    (%ecx),%ecx
4791a2:	3b f3                	cmp    %ebx,%esi
4791a4:	75 21                	jne    0x4791c7
4791a6:	8b f0                	mov    %eax,%esi
4791a8:	3b cb                	cmp    %ebx,%ecx
4791aa:	74 5e                	je     0x47920a
4791ac:	0f 1f 40 00          	nopl   0x0(%eax)
4791b0:	8b 01                	mov    (%ecx),%eax
4791b2:	8d 76 08             	lea    0x8(%esi),%esi
4791b5:	8b 51 04             	mov    0x4(%ecx),%edx
4791b8:	83 c1 08             	add    $0x8,%ecx
4791bb:	89 46 f8             	mov    %eax,-0x8(%esi)
4791be:	89 56 fc             	mov    %edx,-0x4(%esi)
4791c1:	3b cb                	cmp    %ebx,%ecx
4791c3:	75 eb                	jne    0x4791b0
4791c5:	eb 43                	jmp    0x47920a
4791c7:	8b f8                	mov    %eax,%edi
4791c9:	3b ce                	cmp    %esi,%ecx
4791cb:	74 1e                	je     0x4791eb
4791cd:	0f 1f 00             	nopl   (%eax)
4791d0:	8b 01                	mov    (%ecx),%eax
4791d2:	8d 7f 08             	lea    0x8(%edi),%edi
4791d5:	8b 51 04             	mov    0x4(%ecx),%edx
4791d8:	83 c1 08             	add    $0x8,%ecx
4791db:	89 47 f8             	mov    %eax,-0x8(%edi)
4791de:	89 57 fc             	mov    %edx,-0x4(%edi)
4791e1:	3b ce                	cmp    %esi,%ecx
4791e3:	75 eb                	jne    0x4791d0
4791e5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4791e8:	8b 58 04             	mov    0x4(%eax),%ebx
4791eb:	8b 7d 08             	mov    0x8(%ebp),%edi
4791ee:	3b f3                	cmp    %ebx,%esi
4791f0:	74 18                	je     0x47920a
4791f2:	8b d7                	mov    %edi,%edx
4791f4:	2b d6                	sub    %esi,%edx
4791f6:	8b 06                	mov    (%esi),%eax
4791f8:	8b 4e 04             	mov    0x4(%esi),%ecx
4791fb:	89 44 32 08          	mov    %eax,0x8(%edx,%esi,1)
4791ff:	89 4c 32 0c          	mov    %ecx,0xc(%edx,%esi,1)
479203:	83 c6 08             	add    $0x8,%esi
479206:	3b f3                	cmp    %ebx,%esi
479208:	75 ec                	jne    0x4791f6
47920a:	ff 75 f8             	push   -0x8(%ebp)
47920d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
479210:	ff 75 f4             	push   -0xc(%ebp)
479213:	ff 75 f0             	push   -0x10(%ebp)
479216:	e8 25 2e 02 00       	call   0x49c040
47921b:	8b c7                	mov    %edi,%eax
47921d:	5f                   	pop    %edi
47921e:	5e                   	pop    %esi
47921f:	5b                   	pop    %ebx
479220:	8b e5                	mov    %ebp,%esp
479222:	5d                   	pop    %ebp
479223:	c2 08 00             	ret    $0x8
479226:	e8 75 35 fe ff       	call   0x45c7a0
47922b:	cc                   	int3
47922c:	cc                   	int3
47922d:	cc                   	int3
47922e:	cc                   	int3
47922f:	cc                   	int3
479230:	55                   	push   %ebp
479231:	8b ec                	mov    %esp,%ebp
479233:	6a ff                	push   $0xffffffff
479235:	68 00 a4 5f 00       	push   $0x5fa400
47923a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
479240:	50                   	push   %eax
479241:	83 ec 1c             	sub    $0x1c,%esp
479244:	53                   	push   %ebx
479245:	56                   	push   %esi
479246:	57                   	push   %edi
479247:	a1 c0 14 69 00       	mov    0x6914c0,%eax
47924c:	33 c5                	xor    %ebp,%eax
47924e:	50                   	push   %eax
47924f:	8d 45 f4             	lea    -0xc(%ebp),%eax
479252:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
479258:	89 65 f0             	mov    %esp,-0x10(%ebp)
47925b:	8b f9                	mov    %ecx,%edi
47925d:	89 7d dc             	mov    %edi,-0x24(%ebp)
479260:	8b 37                	mov    (%edi),%esi
479262:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
479267:	8b 55 08             	mov    0x8(%ebp),%edx
47926a:	8b 4f 04             	mov    0x4(%edi),%ecx
47926d:	2b d6                	sub    %esi,%edx
47926f:	f7 ea                	imul   %edx
479271:	2b ce                	sub    %esi,%ecx
479273:	c1 fa 02             	sar    $0x2,%edx
479276:	8b c2                	mov    %edx,%eax
479278:	c1 e8 1f             	shr    $0x1f,%eax
47927b:	03 c2                	add    %edx,%eax
47927d:	89 45 ec             	mov    %eax,-0x14(%ebp)
479280:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
479285:	f7 e9                	imul   %ecx
479287:	c1 fa 02             	sar    $0x2,%edx
47928a:	8b c2                	mov    %edx,%eax
47928c:	c1 e8 1f             	shr    $0x1f,%eax
47928f:	03 c2                	add    %edx,%eax
479291:	89 45 e4             	mov    %eax,-0x1c(%ebp)
479294:	3d aa aa aa 0a       	cmp    $0xaaaaaaa,%eax
479299:	0f 84 e2 00 00 00    	je     0x479381
47929f:	8b 4f 08             	mov    0x8(%edi),%ecx
4792a2:	8d 58 01             	lea    0x1(%eax),%ebx
4792a5:	2b ce                	sub    %esi,%ecx
4792a7:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4792ac:	f7 e9                	imul   %ecx
4792ae:	b8 aa aa aa 0a       	mov    $0xaaaaaaa,%eax
4792b3:	c1 fa 02             	sar    $0x2,%edx
4792b6:	8b ca                	mov    %edx,%ecx
4792b8:	c1 e9 1f             	shr    $0x1f,%ecx
4792bb:	03 ca                	add    %edx,%ecx
4792bd:	8b d1                	mov    %ecx,%edx
4792bf:	d1 ea                	shr    $1,%edx
4792c1:	2b c2                	sub    %edx,%eax
4792c3:	3b c8                	cmp    %eax,%ecx
4792c5:	76 07                	jbe    0x4792ce
4792c7:	be aa aa aa 0a       	mov    $0xaaaaaaa,%esi
4792cc:	eb 08                	jmp    0x4792d6
4792ce:	8d 34 0a             	lea    (%edx,%ecx,1),%esi
4792d1:	3b f3                	cmp    %ebx,%esi
4792d3:	0f 42 f3             	cmovb  %ebx,%esi
4792d6:	56                   	push   %esi
4792d7:	8b cf                	mov    %edi,%ecx
4792d9:	89 75 e8             	mov    %esi,-0x18(%ebp)
4792dc:	e8 df 42 02 00       	call   0x49d5c0
4792e1:	ff 75 0c             	push   0xc(%ebp)
4792e4:	8b d8                	mov    %eax,%ebx
4792e6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4792ed:	8b 45 ec             	mov    -0x14(%ebp),%eax
4792f0:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4792f3:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
4792f6:	8d 0c cb             	lea    (%ebx,%ecx,8),%ecx
4792f9:	8d 41 18             	lea    0x18(%ecx),%eax
4792fc:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4792ff:	89 45 ec             	mov    %eax,-0x14(%ebp)
479302:	e8 19 d4 fd ff       	call   0x456720
479307:	8b 47 04             	mov    0x4(%edi),%eax
47930a:	8b 55 08             	mov    0x8(%ebp),%edx
47930d:	8b 0f                	mov    (%edi),%ecx
47930f:	3b d0                	cmp    %eax,%edx
479311:	75 04                	jne    0x479317
479313:	8b d3                	mov    %ebx,%edx
479315:	eb 15                	jmp    0x47932c
479317:	57                   	push   %edi
479318:	53                   	push   %ebx
479319:	52                   	push   %edx
47931a:	51                   	push   %ecx
47931b:	e8 c0 02 ff ff       	call   0x4695e0
479320:	8b 4d 08             	mov    0x8(%ebp),%ecx
479323:	83 c4 10             	add    $0x10,%esp
479326:	8b 47 04             	mov    0x4(%edi),%eax
479329:	8b 55 ec             	mov    -0x14(%ebp),%edx
47932c:	57                   	push   %edi
47932d:	52                   	push   %edx
47932e:	50                   	push   %eax
47932f:	51                   	push   %ecx
479330:	e8 ab 02 ff ff       	call   0x4695e0
479335:	8b 45 e4             	mov    -0x1c(%ebp),%eax
479338:	83 c4 10             	add    $0x10,%esp
47933b:	40                   	inc    %eax
47933c:	8b cf                	mov    %edi,%ecx
47933e:	56                   	push   %esi
47933f:	50                   	push   %eax
479340:	53                   	push   %ebx
479341:	e8 5a 2d 02 00       	call   0x49c0a0
479346:	8b 45 e0             	mov    -0x20(%ebp),%eax
479349:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47934c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
479353:	59                   	pop    %ecx
479354:	5f                   	pop    %edi
479355:	5e                   	pop    %esi
479356:	5b                   	pop    %ebx
479357:	8b e5                	mov    %ebp,%esp
479359:	5d                   	pop    %ebp
47935a:	c2 08 00             	ret    $0x8
47935d:	8b 45 ec             	mov    -0x14(%ebp),%eax
479360:	8b 4d dc             	mov    -0x24(%ebp),%ecx
479363:	50                   	push   %eax
479364:	50                   	push   %eax
479365:	e8 f6 30 02 00       	call   0x49c460
47936a:	ff 75 e8             	push   -0x18(%ebp)
47936d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
479370:	ff 75 d8             	push   -0x28(%ebp)