5aae8e:	cc                   	int3
5aae8f:	cc                   	int3
5aae90:	b8 18 00 00 00       	mov    $0x18,%eax
5aae95:	e8 56 66 03 00       	call   0x5e14f0
5aae9a:	57                   	push   %edi
5aae9b:	8b 7c 24 28          	mov    0x28(%esp),%edi
5aae9f:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
5aaea6:	00
5aaea7:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
5aaeae:	00
5aaeaf:	83 3f 00             	cmpl   $0x0,(%edi)
5aaeb2:	75 18                	jne    0x5aaecc
5aaeb4:	6a 00                	push   $0x0
5aaeb6:	ff 74 24 24          	push   0x24(%esp)
5aaeba:	e8 31 86 f0 ff       	call   0x4b34f0
5aaebf:	83 c4 08             	add    $0x8,%esp
5aaec2:	b8 01 00 00 00       	mov    $0x1,%eax
5aaec7:	5f                   	pop    %edi
5aaec8:	83 c4 18             	add    $0x18,%esp
5aaecb:	c3                   	ret
5aaecc:	53                   	push   %ebx
5aaecd:	8b 5c 24 30          	mov    0x30(%esp),%ebx
5aaed1:	55                   	push   %ebp
5aaed2:	56                   	push   %esi
5aaed3:	53                   	push   %ebx
5aaed4:	e8 c7 cf f2 ff       	call   0x4d7ea0
5aaed9:	53                   	push   %ebx
5aaeda:	e8 e1 ce f2 ff       	call   0x4d7dc0
5aaedf:	53                   	push   %ebx
5aaee0:	89 44 24 40          	mov    %eax,0x40(%esp)
5aaee4:	e8 d7 ce f2 ff       	call   0x4d7dc0
5aaee9:	53                   	push   %ebx
5aaeea:	8b f0                	mov    %eax,%esi
5aaeec:	e8 cf ce f2 ff       	call   0x4d7dc0
5aaef1:	8b e8                	mov    %eax,%ebp
5aaef3:	83 c4 10             	add    $0x10,%esp
5aaef6:	89 6c 24 18          	mov    %ebp,0x18(%esp)
5aaefa:	85 ed                	test   %ebp,%ebp
5aaefc:	0f 84 c5 02 00 00    	je     0x5ab1c7
5aaf02:	57                   	push   %edi
5aaf03:	ff 74 24 34          	push   0x34(%esp)
5aaf07:	ff 74 24 3c          	push   0x3c(%esp)
5aaf0b:	e8 30 f3 ff ff       	call   0x5aa240
5aaf10:	83 c4 0c             	add    $0xc,%esp
5aaf13:	85 c0                	test   %eax,%eax
5aaf15:	0f 84 ac 02 00 00    	je     0x5ab1c7
5aaf1b:	8b 44 24 34          	mov    0x34(%esp),%eax
5aaf1f:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
5aaf23:	75 2b                	jne    0x5aaf50
5aaf25:	6a 00                	push   $0x0
5aaf27:	ff 74 24 30          	push   0x30(%esp)
5aaf2b:	e8 c0 85 f0 ff       	call   0x4b34f0
5aaf30:	83 c4 08             	add    $0x8,%esp
5aaf33:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
5aaf3a:	00
5aaf3b:	53                   	push   %ebx
5aaf3c:	e8 0f ce f2 ff       	call   0x4d7d50
5aaf41:	8b 44 24 20          	mov    0x20(%esp),%eax
5aaf45:	83 c4 04             	add    $0x4,%esp
5aaf48:	5e                   	pop    %esi
5aaf49:	5d                   	pop    %ebp
5aaf4a:	5b                   	pop    %ebx
5aaf4b:	5f                   	pop    %edi
5aaf4c:	83 c4 18             	add    $0x18,%esp
5aaf4f:	c3                   	ret
5aaf50:	f6 07 01             	testb  $0x1,(%edi)
5aaf53:	0f 84 e6 00 00 00    	je     0x5ab03f
5aaf59:	50                   	push   %eax
5aaf5a:	56                   	push   %esi
5aaf5b:	e8 70 81 f0 ff       	call   0x4b30d0
5aaf60:	83 c4 08             	add    $0x8,%esp
5aaf63:	85 c0                	test   %eax,%eax
5aaf65:	0f 84 5c 02 00 00    	je     0x5ab1c7
5aaf6b:	8b 07                	mov    (%edi),%eax
5aaf6d:	48                   	dec    %eax
5aaf6e:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
5aaf75:	00
5aaf76:	99                   	cltd
5aaf77:	2b c2                	sub    %edx,%eax
5aaf79:	d1 f8                	sar    $1,%eax
5aaf7b:	83 f8 01             	cmp    $0x1,%eax
5aaf7e:	7c 53                	jl     0x5aafd3
5aaf80:	53                   	push   %ebx
5aaf81:	57                   	push   %edi
5aaf82:	56                   	push   %esi
5aaf83:	56                   	push   %esi
5aaf84:	e8 57 02 00 00       	call   0x5ab1e0
5aaf89:	83 c4 10             	add    $0x10,%esp
5aaf8c:	85 c0                	test   %eax,%eax
5aaf8e:	0f 84 33 02 00 00    	je     0x5ab1c7
5aaf94:	53                   	push   %ebx
5aaf95:	57                   	push   %edi
5aaf96:	56                   	push   %esi
5aaf97:	56                   	push   %esi
5aaf98:	e8 43 02 00 00       	call   0x5ab1e0
5aaf9d:	83 c4 10             	add    $0x10,%esp
5aafa0:	85 c0                	test   %eax,%eax
5aafa2:	0f 84 1f 02 00 00    	je     0x5ab1c7
5aafa8:	ff 74 24 34          	push   0x34(%esp)
5aafac:	56                   	push   %esi
5aafad:	56                   	push   %esi
5aafae:	e8 4d f1 ff ff       	call   0x5aa100
5aafb3:	83 c4 0c             	add    $0xc,%esp
5aafb6:	85 c0                	test   %eax,%eax
5aafb8:	0f 84 09 02 00 00    	je     0x5ab1c7
5aafbe:	8b 07                	mov    (%edi),%eax
5aafc0:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5aafc4:	48                   	dec    %eax
5aafc5:	99                   	cltd
5aafc6:	41                   	inc    %ecx
5aafc7:	2b c2                	sub    %edx,%eax
5aafc9:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5aafcd:	d1 f8                	sar    $1,%eax
5aafcf:	3b c8                	cmp    %eax,%ecx
5aafd1:	7e ad                	jle    0x5aaf80
5aafd3:	53                   	push   %ebx
5aafd4:	57                   	push   %edi
5aafd5:	56                   	push   %esi
5aafd6:	55                   	push   %ebp
5aafd7:	e8 04 02 00 00       	call   0x5ab1e0
5aafdc:	83 c4 10             	add    $0x10,%esp
5aafdf:	85 c0                	test   %eax,%eax
5aafe1:	0f 84 e0 01 00 00    	je     0x5ab1c7
5aafe7:	55                   	push   %ebp
5aafe8:	56                   	push   %esi
5aafe9:	55                   	push   %ebp
5aafea:	e8 11 f1 ff ff       	call   0x5aa100
5aafef:	83 c4 0c             	add    $0xc,%esp
5aaff2:	85 c0                	test   %eax,%eax
5aaff4:	0f 84 cd 01 00 00    	je     0x5ab1c7
5aaffa:	ff 74 24 34          	push   0x34(%esp)
5aaffe:	55                   	push   %ebp
5aafff:	e8 4c 85 f0 ff       	call   0x4b3550
5ab004:	83 c4 08             	add    $0x8,%esp
5ab007:	85 c0                	test   %eax,%eax
5ab009:	0f 84 9b 01 00 00    	je     0x5ab1aa
5ab00f:	68 af 04 00 00       	push   $0x4af
5ab014:	68 c8 d4 6c 00       	push   $0x6cd4c8
5ab019:	6a 74                	push   $0x74
5ab01b:	68 87 00 00 00       	push   $0x87
5ab020:	6a 03                	push   $0x3
5ab022:	e8 79 64 ef ff       	call   0x4a14a0
5ab027:	83 c4 14             	add    $0x14,%esp
5ab02a:	53                   	push   %ebx
5ab02b:	e8 20 cd f2 ff       	call   0x4d7d50
5ab030:	8b 44 24 20          	mov    0x20(%esp),%eax
5ab034:	83 c4 04             	add    $0x4,%esp
5ab037:	5e                   	pop    %esi
5ab038:	5d                   	pop    %ebp
5ab039:	5b                   	pop    %ebx
5ab03a:	5f                   	pop    %edi
5ab03b:	83 c4 18             	add    $0x18,%esp
5ab03e:	c3                   	ret
5ab03f:	53                   	push   %ebx
5ab040:	e8 7b cd f2 ff       	call   0x4d7dc0
5ab045:	53                   	push   %ebx
5ab046:	89 44 24 18          	mov    %eax,0x18(%esp)
5ab04a:	e8 71 cd f2 ff       	call   0x4d7dc0
5ab04f:	53                   	push   %ebx
5ab050:	89 44 24 20          	mov    %eax,0x20(%esp)
5ab054:	e8 67 cd f2 ff       	call   0x4d7dc0
5ab059:	83 c4 0c             	add    $0xc,%esp
5ab05c:	89 44 24 20          	mov    %eax,0x20(%esp)
5ab060:	85 c0                	test   %eax,%eax
5ab062:	0f 84 5f 01 00 00    	je     0x5ab1c7
5ab068:	6a 00                	push   $0x0
5ab06a:	6a 00                	push   $0x0
5ab06c:	ff 37                	push   (%edi)
5ab06e:	ff 74 24 1c          	push   0x1c(%esp)
5ab072:	e8 f9 35 fc ff       	call   0x56e670
5ab077:	83 c4 10             	add    $0x10,%esp
5ab07a:	85 c0                	test   %eax,%eax
5ab07c:	0f 84 45 01 00 00    	je     0x5ab1c7
5ab082:	8b 44 24 10          	mov    0x10(%esp),%eax
5ab086:	57                   	push   %edi
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