5ab087:	50                   	push   %eax
5ab088:	50                   	push   %eax
5ab089:	e8 b2 f1 ff ff       	call   0x5aa240
5ab08e:	83 c4 0c             	add    $0xc,%esp
5ab091:	85 c0                	test   %eax,%eax
5ab093:	0f 84 2e 01 00 00    	je     0x5ab1c7
5ab099:	6a 00                	push   $0x0
5ab09b:	56                   	push   %esi
5ab09c:	e8 4f 84 f0 ff       	call   0x4b34f0
5ab0a1:	ff 74 24 18          	push   0x18(%esp)
5ab0a5:	55                   	push   %ebp
5ab0a6:	e8 25 80 f0 ff       	call   0x4b30d0
5ab0ab:	83 c4 10             	add    $0x10,%esp
5ab0ae:	85 c0                	test   %eax,%eax
5ab0b0:	0f 84 11 01 00 00    	je     0x5ab1c7
5ab0b6:	8b 07                	mov    (%edi),%eax
5ab0b8:	bd 01 00 00 00       	mov    $0x1,%ebp
5ab0bd:	48                   	dec    %eax
5ab0be:	3b c5                	cmp    %ebp,%eax
5ab0c0:	0f 8c 8a 00 00 00    	jl     0x5ab150
5ab0c6:	53                   	push   %ebx
5ab0c7:	57                   	push   %edi
5ab0c8:	56                   	push   %esi
5ab0c9:	56                   	push   %esi
5ab0ca:	e8 11 01 00 00       	call   0x5ab1e0
5ab0cf:	83 c4 10             	add    $0x10,%esp
5ab0d2:	85 c0                	test   %eax,%eax
5ab0d4:	0f 84 ed 00 00 00    	je     0x5ab1c7
5ab0da:	53                   	push   %ebx
5ab0db:	57                   	push   %edi
5ab0dc:	ff 74 24 20          	push   0x20(%esp)
5ab0e0:	ff 74 24 20          	push   0x20(%esp)
5ab0e4:	e8 f7 00 00 00       	call   0x5ab1e0
5ab0e9:	83 c4 10             	add    $0x10,%esp
5ab0ec:	85 c0                	test   %eax,%eax
5ab0ee:	0f 84 d3 00 00 00    	je     0x5ab1c7
5ab0f4:	53                   	push   %ebx
5ab0f5:	57                   	push   %edi
5ab0f6:	ff 74 24 3c          	push   0x3c(%esp)
5ab0fa:	ff 74 24 20          	push   0x20(%esp)
5ab0fe:	ff 74 24 30          	push   0x30(%esp)
5ab102:	e8 b9 fa ff ff       	call   0x5aabc0
5ab107:	83 c4 14             	add    $0x14,%esp
5ab10a:	85 c0                	test   %eax,%eax
5ab10c:	0f 84 b5 00 00 00    	je     0x5ab1c7
5ab112:	ff 74 24 20          	push   0x20(%esp)
5ab116:	56                   	push   %esi
5ab117:	56                   	push   %esi
5ab118:	e8 e3 ef ff ff       	call   0x5aa100
5ab11d:	83 c4 0c             	add    $0xc,%esp
5ab120:	85 c0                	test   %eax,%eax
5ab122:	0f 84 9f 00 00 00    	je     0x5ab1c7
5ab128:	ff 74 24 10          	push   0x10(%esp)
5ab12c:	ff 74 24 18          	push   0x18(%esp)
5ab130:	ff 74 24 20          	push   0x20(%esp)
5ab134:	e8 c7 ef ff ff       	call   0x5aa100
5ab139:	83 c4 0c             	add    $0xc,%esp
5ab13c:	85 c0                	test   %eax,%eax
5ab13e:	0f 84 83 00 00 00    	je     0x5ab1c7
5ab144:	8b 07                	mov    (%edi),%eax
5ab146:	45                   	inc    %ebp
5ab147:	48                   	dec    %eax
5ab148:	3b e8                	cmp    %eax,%ebp
5ab14a:	0f 8e 76 ff ff ff    	jle    0x5ab0c6
5ab150:	8b 6c 24 18          	mov    0x18(%esp),%ebp
5ab154:	8b 44 24 24          	mov    0x24(%esp),%eax
5ab158:	40                   	inc    %eax
5ab159:	89 44 24 24          	mov    %eax,0x24(%esp)
5ab15d:	83 7d 04 00          	cmpl   $0x0,0x4(%ebp)
5ab161:	0f 85 6c fe ff ff    	jne    0x5aafd3
5ab167:	83 f8 32             	cmp    $0x32,%eax
5ab16a:	0f 8c f8 fe ff ff    	jl     0x5ab068
5ab170:	83 7d 04 00          	cmpl   $0x0,0x4(%ebp)
5ab174:	0f 85 59 fe ff ff    	jne    0x5aafd3
5ab17a:	68 a5 04 00 00       	push   $0x4a5
5ab17f:	68 c8 d4 6c 00       	push   $0x6cd4c8
5ab184:	6a 71                	push   $0x71
5ab186:	68 87 00 00 00       	push   $0x87
5ab18b:	6a 03                	push   $0x3
5ab18d:	e8 0e 63 ef ff       	call   0x4a14a0
5ab192:	83 c4 14             	add    $0x14,%esp
5ab195:	53                   	push   %ebx
5ab196:	e8 b5 cb f2 ff       	call   0x4d7d50
5ab19b:	8b 44 24 20          	mov    0x20(%esp),%eax
5ab19f:	83 c4 04             	add    $0x4,%esp
5ab1a2:	5e                   	pop    %esi
5ab1a3:	5d                   	pop    %ebp
5ab1a4:	5b                   	pop    %ebx
5ab1a5:	5f                   	pop    %edi
5ab1a6:	83 c4 18             	add    $0x18,%esp
5ab1a9:	c3                   	ret
5ab1aa:	56                   	push   %esi
5ab1ab:	ff 74 24 30          	push   0x30(%esp)
5ab1af:	e8 1c 7f f0 ff       	call   0x4b30d0
5ab1b4:	33 c9                	xor    %ecx,%ecx
5ab1b6:	83 c4 08             	add    $0x8,%esp
5ab1b9:	85 c0                	test   %eax,%eax
5ab1bb:	ba 01 00 00 00       	mov    $0x1,%edx
5ab1c0:	0f 45 ca             	cmovne %edx,%ecx
5ab1c3:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
5ab1c7:	53                   	push   %ebx
5ab1c8:	e8 83 cb f2 ff       	call   0x4d7d50
5ab1cd:	8b 44 24 20          	mov    0x20(%esp),%eax
5ab1d1:	83 c4 04             	add    $0x4,%esp
5ab1d4:	5e                   	pop    %esi
5ab1d5:	5d                   	pop    %ebp
5ab1d6:	5b                   	pop    %ebx
5ab1d7:	5f                   	pop    %edi
5ab1d8:	83 c4 18             	add    $0x18,%esp
5ab1db:	c3                   	ret
5ab1dc:	cc                   	int3
5ab1dd:	cc                   	int3
5ab1de:	cc                   	int3
5ab1df:	cc                   	int3
5ab1e0:	53                   	push   %ebx
5ab1e1:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5ab1e5:	56                   	push   %esi
5ab1e6:	57                   	push   %edi
5ab1e7:	53                   	push   %ebx
5ab1e8:	33 f6                	xor    %esi,%esi
5ab1ea:	e8 b1 cc f2 ff       	call   0x4d7ea0
5ab1ef:	53                   	push   %ebx
5ab1f0:	e8 cb cb f2 ff       	call   0x4d7dc0
5ab1f5:	8b f8                	mov    %eax,%edi
5ab1f7:	83 c4 08             	add    $0x8,%esp
5ab1fa:	85 ff                	test   %edi,%edi
5ab1fc:	0f 84 2c 01 00 00    	je     0x5ab32e
5ab202:	55                   	push   %ebp
5ab203:	8b 6c 24 18          	mov    0x18(%esp),%ebp
5ab207:	8b 45 04             	mov    0x4(%ebp),%eax
5ab20a:	03 c0                	add    %eax,%eax
5ab20c:	3b 47 08             	cmp    0x8(%edi),%eax
5ab20f:	7f 04                	jg     0x5ab215
5ab211:	8b c7                	mov    %edi,%eax
5ab213:	eb 0a                	jmp    0x5ab21f
5ab215:	50                   	push   %eax
5ab216:	57                   	push   %edi
5ab217:	e8 84 84 f0 ff       	call   0x4b36a0
5ab21c:	83 c4 08             	add    $0x8,%esp
5ab21f:	85 c0                	test   %eax,%eax
5ab221:	0f 84 06 01 00 00    	je     0x5ab32d
5ab227:	8b 5d 04             	mov    0x4(%ebp),%ebx
5ab22a:	83 eb 01             	sub    $0x1,%ebx
5ab22d:	0f 88 a2 00 00 00    	js     0x5ab2d5
5ab233:	8b 45 00             	mov    0x0(%ebp),%eax
5ab236:	8b 34 98             	mov    (%eax,%ebx,4),%esi
5ab239:	8b c6                	mov    %esi,%eax
5ab23b:	c1 e8 1c             	shr    $0x1c,%eax
5ab23e:	8b ce                	mov    %esi,%ecx
5ab240:	c1 e9 18             	shr    $0x18,%ecx
5ab243:	83 e1 0f             	and    $0xf,%ecx
5ab246:	8b 14 85 88 d4 6c 00 	mov    0x6cd488(,%eax,4),%edx
5ab24d:	8b c6                	mov    %esi,%eax
5ab24f:	c1 e8 14             	shr    $0x14,%eax
5ab252:	83 e0 0f             	and    $0xf,%eax
5ab255:	c1 e2 08             	shl    $0x8,%edx
5ab258:	0b 14 8d 88 d4 6c 00 	or     0x6cd488(,%ecx,4),%edx
5ab25f:	c1 e2 08             	shl    $0x8,%edx
5ab262:	c1 ee 10             	shr    $0x10,%esi
5ab265:	0b 14 85 88 d4 6c 00 	or     0x6cd488(,%eax,4),%edx
5ab26c:	83 e6 0f             	and    $0xf,%esi
5ab26f:	8b 07                	mov    (%edi),%eax
5ab271:	c1 e2 08             	shl    $0x8,%edx
5ab274:	0b 14 b5 88 d4 6c 00 	or     0x6cd488(,%esi,4),%edx
5ab27b:	89 54 d8 04          	mov    %edx,0x4(%eax,%ebx,8)
5ab27f:	8b 45 00             	mov    0x0(%ebp),%eax
5ab282:	8b 14 98             	mov    (%eax,%ebx,4),%edx
5ab285:	8b c2                	mov    %edx,%eax
5ab287:	c1 e8 0c             	shr    $0xc,%eax
5ab28a:	83 e0 0f             	and    $0xf,%eax
5ab28d:	8b 0c 85 88 d4 6c 00 	mov    0x6cd488(,%eax,4),%ecx
5ab294:	8b c2                	mov    %edx,%eax
5ab296:	c1 e8 08             	shr    $0x8,%eax
5ab299:	83 e0 0f             	and    $0xf,%eax
5ab29c:	c1 e1 08             	shl    $0x8,%ecx
5ab29f:	0b 0c 85 88 d4 6c 00 	or     0x6cd488(,%eax,4),%ecx
5ab2a6:	8b c2                	mov    %edx,%eax
5ab2a8:	c1 e8 04             	shr    $0x4,%eax
5ab2ab:	83 e2 0f             	and    $0xf,%edx
5ab2ae:	83 e0 0f             	and    $0xf,%eax
5ab2b1:	c1 e1 08             	shl    $0x8,%ecx
5ab2b4:	0b 0c 85 88 d4 6c 00 	or     0x6cd488(,%eax,4),%ecx
5ab2bb:	8b 07                	mov    (%edi),%eax
5ab2bd:	c1 e1 08             	shl    $0x8,%ecx
5ab2c0:	0b 0c 95 88 d4 6c 00 	or     0x6cd488(,%edx,4),%ecx
5ab2c7:	89 0c d8             	mov    %ecx,(%eax,%ebx,8)
5ab2ca:	83 eb 01             	sub    $0x1,%ebx
5ab2cd:	0f 89 60 ff ff ff    	jns    0x5ab233
5ab2d3:	33 f6                	xor    %esi,%esi
5ab2d5:	8b 45 04             	mov    0x4(%ebp),%eax
5ab2d8:	03 c0                	add    %eax,%eax
5ab2da:	89 47 04             	mov    %eax,0x4(%edi)
5ab2dd:	85 c0                	test   %eax,%eax
5ab2df:	7e 20                	jle    0x5ab301
5ab2e1:	8b 0f                	mov    (%edi),%ecx
5ab2e3:	8d 50 ff             	lea    -0x1(%eax),%edx
5ab2e6:	8d 14 91             	lea    (%ecx,%edx,4),%edx
5ab2e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5ab2f0:	8b 0a                	mov    (%edx),%ecx
5ab2f2:	8d 52 fc             	lea    -0x4(%edx),%edx
5ab2f5:	85 c9                	test   %ecx,%ecx
5ab2f7:	75 05                	jne    0x5ab2fe
5ab2f9:	48                   	dec    %eax
5ab2fa:	85 c0                	test   %eax,%eax
5ab2fc:	7f f2                	jg     0x5ab2f0
5ab2fe:	89 47 04             	mov    %eax,0x4(%edi)
5ab301:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
5ab305:	75 07                	jne    0x5ab30e
5ab307:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
5ab30e:	ff 74 24 1c          	push   0x1c(%esp)
5ab312:	57                   	push   %edi
5ab313:	ff 74 24 1c          	push   0x1c(%esp)
5ab317:	e8 24 ef ff ff       	call   0x5aa240
5ab31c:	8b 5c 24 2c          	mov    0x2c(%esp),%ebx
5ab320:	83 c4 0c             	add    $0xc,%esp
5ab323:	85 c0                	test   %eax,%eax
5ab325:	b9 01 00 00 00       	mov    $0x1,%ecx
5ab32a:	0f 45 f1             	cmovne %ecx,%esi
5ab32d:	5d                   	pop    %ebp
5ab32e:	53                   	push   %ebx
5ab32f:	e8 1c ca f2 ff       	call   0x4d7d50
5ab334:	83 c4 04             	add    $0x4,%esp
5ab337:	8b c6                	mov    %esi,%eax
5ab339:	5f                   	pop    %edi
5ab33a:	5e                   	pop    %esi
5ab33b:	5b                   	pop    %ebx
5ab33c:	c3                   	ret
5ab33d:	cc                   	int3
5ab33e:	cc                   	int3
5ab33f:	cc                   	int3
5ab340:	55                   	push   %ebp
5ab341:	57                   	push   %edi
5ab342:	8b 7c 24 14          	mov    0x14(%esp),%edi
5ab346:	33 ed                	xor    %ebp,%ebp
5ab348:	39 2f                	cmp    %ebp,(%edi)
5ab34a:	75 13                	jne    0x5ab35f
5ab34c:	55                   	push   %ebp
5ab34d:	ff 74 24 10          	push   0x10(%esp)
5ab351:	e8 9a 81 f0 ff       	call   0x4b34f0
5ab356:	83 c4 08             	add    $0x8,%esp
5ab359:	8d 45 01             	lea    0x1(%ebp),%eax
5ab35c:	5f                   	pop    %edi
5ab35d:	5d                   	pop    %ebp
5ab35e:	c3                   	ret
5ab35f:	53                   	push   %ebx
5ab360:	56                   	push   %esi
5ab361:	8b 74 24 20          	mov    0x20(%esp),%esi
5ab365:	56                   	push   %esi
5ab366:	e8 35 cb f2 ff       	call   0x4d7ea0
5ab36b:	56                   	push   %esi
5ab36c:	e8 4f ca f2 ff       	call   0x4d7dc0
5ab371:	8b d8                	mov    %eax,%ebx
5ab373:	83 c4 08             	add    $0x8,%esp
5ab376:	85 db                	test   %ebx,%ebx
5ab378:	74 26                	je     0x5ab3a0
5ab37a:	8b 07                	mov    (%edi),%eax
5ab37c:	48                   	dec    %eax
5ab37d:	50                   	push   %eax
5ab37e:	53                   	push   %ebx
5ab37f:	e8 ac 80 f0 ff       	call   0x4b3430
5ab384:	83 c4 08             	add    $0x8,%esp
5ab387:	85 c0                	test   %eax,%eax
5ab389:	74 15                	je     0x5ab3a0
5ab38b:	56                   	push   %esi
5ab38c:	57                   	push   %edi
5ab38d:	53                   	push   %ebx
5ab38e:	ff 74 24 24          	push   0x24(%esp)
5ab392:	ff 74 24 24          	push   0x24(%esp)
5ab396:	e8 75 f1 ff ff       	call   0x5aa510
5ab39b:	83 c4 14             	add    $0x14,%esp
5ab39e:	8b e8                	mov    %eax,%ebp
5ab3a0:	56                   	push   %esi
5ab3a1:	e8 aa c9 f2 ff       	call   0x4d7d50
5ab3a6:	83 c4 04             	add    $0x4,%esp
5ab3a9:	8b c5                	mov    %ebp,%eax
5ab3ab:	5e                   	pop    %esi
5ab3ac:	5b                   	pop    %ebx
5ab3ad:	5f                   	pop    %edi
5ab3ae:	5d                   	pop    %ebp
5ab3af:	c3                   	ret
5ab3b0:	53                   	push   %ebx
5ab3b1:	55                   	push   %ebp
5ab3b2:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
5ab3b6:	33 c0                	xor    %eax,%eax
5ab3b8:	8b 5d 04             	mov    0x4(%ebp),%ebx
5ab3bb:	85 db                	test   %ebx,%ebx
5ab3bd:	75 03                	jne    0x5ab3c2
5ab3bf:	5d                   	pop    %ebp
5ab3c0:	5b                   	pop    %ebx
5ab3c1:	c3                   	ret
5ab3c2:	83 c3 ff             	add    $0xffffffff,%ebx
5ab3c5:	78 4b                	js     0x5ab412
5ab3c7:	56                   	push   %esi
5ab3c8:	57                   	push   %edi
5ab3c9:	8b fb                	mov    %ebx,%edi
5ab3cb:	c1 e7 05             	shl    $0x5,%edi
5ab3ce:	66 90                	xchg   %ax,%ax
5ab3d0:	8b 4d 00             	mov    0x0(%ebp),%ecx
5ab3d3:	83 3c 99 00          	cmpl   $0x0,(%ecx,%ebx,4)
5ab3d7:	74 2f                	je     0x5ab408
5ab3d9:	ba 00 00 00 80       	mov    $0x80000000,%edx
5ab3de:	be 1f 00 00 00       	mov    $0x1f,%esi
5ab3e3:	8b 4d 00             	mov    0x0(%ebp),%ecx
5ab3e6:	85 14 99             	test   %edx,(%ecx,%ebx,4)
5ab3e9:	74 16                	je     0x5ab401
5ab3eb:	3b 44 24 1c          	cmp    0x1c(%esp),%eax
5ab3ef:	7d 0f                	jge    0x5ab400
5ab3f1:	8b 6c 24 18          	mov    0x18(%esp),%ebp
5ab3f5:	8d 0c 37             	lea    (%edi,%esi,1),%ecx
5ab3f8:	89 4c 85 00          	mov    %ecx,0x0(%ebp,%eax,4)
5ab3fc:	8b 6c 24 14          	mov    0x14(%esp),%ebp
5ab400:	40                   	inc    %eax
5ab401:	d1 ea                	shr    $1,%edx
5ab403:	83 ee 01             	sub    $0x1,%esi
5ab406:	79 db                	jns    0x5ab3e3
5ab408:	83 ef 20             	sub    $0x20,%edi
5ab40b:	83 eb 01             	sub    $0x1,%ebx
5ab40e:	79 c0                	jns    0x5ab3d0
5ab410:	5f                   	pop    %edi
5ab411:	5e                   	pop    %esi
5ab412:	3b 44 24 14          	cmp    0x14(%esp),%eax
5ab416:	7d 0c                	jge    0x5ab424
5ab418:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5ab41c:	c7 04 81 ff ff ff ff 	movl   $0xffffffff,(%ecx,%eax,4)
5ab423:	40                   	inc    %eax
5ab424:	5d                   	pop    %ebp
5ab425:	5b                   	pop    %ebx
5ab426:	c3                   	ret
5ab427:	cc                   	int3
5ab428:	cc                   	int3
5ab429:	cc                   	int3
5ab42a:	cc                   	int3
5ab42b:	cc                   	int3
5ab42c:	cc                   	int3
5ab42d:	cc                   	int3
5ab42e:	cc                   	int3
5ab42f:	cc                   	int3
5ab430:	b8 28 00 00 00       	mov    $0x28,%eax
5ab435:	e8 b6 60 03 00       	call   0x5e14f0
5ab43a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5ab43f:	33 c4                	xor    %esp,%eax
5ab441:	89 44 24 24          	mov    %eax,0x24(%esp)
5ab445:	53                   	push   %ebx
5ab446:	55                   	push   %ebp
5ab447:	56                   	push   %esi
5ab448:	8b 74 24 40          	mov    0x40(%esp),%esi
5ab44c:	8b c6                	mov    %esi,%eax
5ab44e:	c1 e8 1e             	shr    $0x1e,%eax
5ab451:	81 e6 ff ff ff 3f    	and    $0x3fffffff,%esi
5ab457:	89 44 24 0c          	mov    %eax,0xc(%esp)