5e6f78:	e8 0b 3d ff ff       	call   0x5dac88
5e6f7d:	6a 16                	push   $0x16
5e6f7f:	5e                   	pop    %esi
5e6f80:	89 30                	mov    %esi,(%eax)
5e6f82:	8b c6                	mov    %esi,%eax
5e6f84:	e9 c3 00 00 00       	jmp    0x5e704c
5e6f89:	53                   	push   %ebx
5e6f8a:	8d 45 ff             	lea    -0x1(%ebp),%eax
5e6f8d:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
5e6f91:	50                   	push   %eax
5e6f92:	8d 45 f4             	lea    -0xc(%ebp),%eax
5e6f95:	50                   	push   %eax
5e6f96:	e8 b5 00 00 00       	call   0x5e7050
5e6f9b:	8b 5d f4             	mov    -0xc(%ebp),%ebx
5e6f9e:	59                   	pop    %ecx
5e6f9f:	59                   	pop    %ecx
5e6fa0:	6a 00                	push   $0x0
5e6fa2:	89 46 14             	mov    %eax,0x14(%esi)
5e6fa5:	b8 80 51 01 00       	mov    $0x15180,%eax
5e6faa:	50                   	push   %eax
5e6fab:	ff 75 f8             	push   -0x8(%ebp)
5e6fae:	53                   	push   %ebx
5e6faf:	e8 1c ae fe ff       	call   0x5d1dd0
5e6fb4:	8b c8                	mov    %eax,%ecx
5e6fb6:	ba 80 51 01 00       	mov    $0x15180,%edx
5e6fbb:	f7 ea                	imul   %edx
5e6fbd:	89 4e 1c             	mov    %ecx,0x1c(%esi)
5e6fc0:	2b d8                	sub    %eax,%ebx
5e6fc2:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e6fc5:	1b c2                	sbb    %edx,%eax
5e6fc7:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
5e6fcb:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e6fce:	ba 0c 53 67 00       	mov    $0x67530c,%edx
5e6fd3:	75 05                	jne    0x5e6fda
5e6fd5:	ba d8 52 67 00       	mov    $0x6752d8,%edx
5e6fda:	33 c0                	xor    %eax,%eax
5e6fdc:	40                   	inc    %eax
5e6fdd:	39 4a 04             	cmp    %ecx,0x4(%edx)
5e6fe0:	7d 06                	jge    0x5e6fe8
5e6fe2:	40                   	inc    %eax
5e6fe3:	39 0c 82             	cmp    %ecx,(%edx,%eax,4)
5e6fe6:	7c fa                	jl     0x5e6fe2
5e6fe8:	48                   	dec    %eax
5e6fe9:	89 46 10             	mov    %eax,0x10(%esi)
5e6fec:	6a 00                	push   $0x0
5e6fee:	2b 0c 82             	sub    (%edx,%eax,4),%ecx
5e6ff1:	b8 80 51 01 00       	mov    $0x15180,%eax
5e6ff6:	50                   	push   %eax
5e6ff7:	89 4e 0c             	mov    %ecx,0xc(%esi)
5e6ffa:	ff 77 04             	push   0x4(%edi)
5e6ffd:	ff 37                	push   (%edi)
5e6fff:	e8 cc ad fe ff       	call   0x5d1dd0
5e7004:	6a 07                	push   $0x7
5e7006:	83 c0 04             	add    $0x4,%eax
5e7009:	8b 7d f8             	mov    -0x8(%ebp),%edi
5e700c:	59                   	pop    %ecx
5e700d:	99                   	cltd
5e700e:	f7 f9                	idiv   %ecx
5e7010:	6a 00                	push   $0x0
5e7012:	b8 10 0e 00 00       	mov    $0xe10,%eax
5e7017:	89 56 18             	mov    %edx,0x18(%esi)
5e701a:	50                   	push   %eax
5e701b:	57                   	push   %edi
5e701c:	53                   	push   %ebx
5e701d:	e8 ae ad fe ff       	call   0x5d1dd0
5e7022:	b9 10 0e 00 00       	mov    $0xe10,%ecx
5e7027:	89 46 08             	mov    %eax,0x8(%esi)
5e702a:	f7 e9                	imul   %ecx
5e702c:	6a 00                	push   $0x0
5e702e:	2b d8                	sub    %eax,%ebx
5e7030:	6a 3c                	push   $0x3c
5e7032:	1b fa                	sbb    %edx,%edi
5e7034:	57                   	push   %edi
5e7035:	53                   	push   %ebx
5e7036:	e8 95 ad fe ff       	call   0x5d1dd0
5e703b:	83 66 20 00          	andl   $0x0,0x20(%esi)
5e703f:	89 46 04             	mov    %eax,0x4(%esi)
5e7042:	6b c0 3c             	imul   $0x3c,%eax,%eax
5e7045:	2b d8                	sub    %eax,%ebx
5e7047:	33 c0                	xor    %eax,%eax
5e7049:	89 1e                	mov    %ebx,(%esi)
5e704b:	5b                   	pop    %ebx
5e704c:	5f                   	pop    %edi
5e704d:	5e                   	pop    %esi
5e704e:	c9                   	leave
5e704f:	c3                   	ret
5e7050:	8b ff                	mov    %edi,%edi
5e7052:	55                   	push   %ebp
5e7053:	8b ec                	mov    %esp,%ebp
5e7055:	51                   	push   %ecx
5e7056:	51                   	push   %ecx
5e7057:	8b 45 08             	mov    0x8(%ebp),%eax
5e705a:	b9 80 33 e1 01       	mov    $0x1e13380,%ecx
5e705f:	53                   	push   %ebx
5e7060:	56                   	push   %esi
5e7061:	57                   	push   %edi
5e7062:	8b 18                	mov    (%eax),%ebx
5e7064:	8b 40 04             	mov    0x4(%eax),%eax
5e7067:	6a 00                	push   $0x0
5e7069:	51                   	push   %ecx
5e706a:	50                   	push   %eax
5e706b:	53                   	push   %ebx
5e706c:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e706f:	e8 5c ad fe ff       	call   0x5d1dd0
5e7074:	8b f8                	mov    %eax,%edi
5e7076:	8d 47 46             	lea    0x46(%edi),%eax
5e7079:	50                   	push   %eax
5e707a:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e707d:	e8 07 fe ff ff       	call   0x5e6e89
5e7082:	59                   	pop    %ecx
5e7083:	b9 80 51 01 00       	mov    $0x15180,%ecx
5e7088:	f7 e9                	imul   %ecx
5e708a:	8b f2                	mov    %edx,%esi
5e708c:	8b c8                	mov    %eax,%ecx
5e708e:	8b c7                	mov    %edi,%eax
5e7090:	ba 80 33 e1 01       	mov    $0x1e13380,%edx
5e7095:	8b 7d f8             	mov    -0x8(%ebp),%edi
5e7098:	f7 ea                	imul   %edx
5e709a:	2b d8                	sub    %eax,%ebx
5e709c:	1b fa                	sbb    %edx,%edi
5e709e:	2b d9                	sub    %ecx,%ebx
5e70a0:	1b fe                	sbb    %esi,%edi
5e70a2:	8b 75 08             	mov    0x8(%ebp),%esi
5e70a5:	89 1e                	mov    %ebx,(%esi)
5e70a7:	89 7e 04             	mov    %edi,0x4(%esi)
5e70aa:	85 ff                	test   %edi,%edi
5e70ac:	7f 45                	jg     0x5e70f3
5e70ae:	7c 04                	jl     0x5e70b4
5e70b0:	85 db                	test   %ebx,%ebx
5e70b2:	73 3f                	jae    0x5e70f3
5e70b4:	b8 80 33 e1 01       	mov    $0x1e13380,%eax
5e70b9:	03 d8                	add    %eax,%ebx
5e70bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e70be:	89 1e                	mov    %ebx,(%esi)
5e70c0:	83 d7 00             	adc    $0x0,%edi
5e70c3:	48                   	dec    %eax
5e70c4:	50                   	push   %eax
5e70c5:	89 7e 04             	mov    %edi,0x4(%esi)
5e70c8:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e70cb:	e8 f3 fd ff ff       	call   0x5e6ec3
5e70d0:	59                   	pop    %ecx
5e70d1:	84 c0                	test   %al,%al
5e70d3:	74 14                	je     0x5e70e9
5e70d5:	8b 45 0c             	mov    0xc(%ebp),%eax
5e70d8:	81 c3 80 51 01 00    	add    $0x15180,%ebx
5e70de:	89 1e                	mov    %ebx,(%esi)
5e70e0:	83 d7 00             	adc    $0x0,%edi
5e70e3:	89 7e 04             	mov    %edi,0x4(%esi)
5e70e6:	c6 00 01             	movb   $0x1,(%eax)
5e70e9:	8b 75 fc             	mov    -0x4(%ebp),%esi
5e70ec:	5f                   	pop    %edi
5e70ed:	8b c6                	mov    %esi,%eax
5e70ef:	5e                   	pop    %esi
5e70f0:	5b                   	pop    %ebx
5e70f1:	c9                   	leave
5e70f2:	c3                   	ret
5e70f3:	8b 75 fc             	mov    -0x4(%ebp),%esi
5e70f6:	56                   	push   %esi
5e70f7:	e8 c7 fd ff ff       	call   0x5e6ec3
5e70fc:	59                   	pop    %ecx
5e70fd:	84 c0                	test   %al,%al
5e70ff:	74 eb                	je     0x5e70ec
5e7101:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e7104:	c6 01 01             	movb   $0x1,(%ecx)
5e7107:	eb e3                	jmp    0x5e70ec
5e7109:	8b ff                	mov    %edi,%edi
5e710b:	55                   	push   %ebp
5e710c:	8b ec                	mov    %esp,%ebp
5e710e:	5d                   	pop    %ebp
5e710f:	e9 f2 fd ff ff       	jmp    0x5e6f06
5e7114:	6a 10                	push   $0x10
5e7116:	68 10 a9 68 00       	push   $0x68a910
5e711b:	e8 e0 b7 fe ff       	call   0x5d2900
5e7120:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e7123:	33 f6                	xor    %esi,%esi
5e7125:	85 ff                	test   %edi,%edi
5e7127:	75 24                	jne    0x5e714d
5e7129:	8b 45 10             	mov    0x10(%ebp),%eax
5e712c:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5e7130:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5e7137:	50                   	push   %eax
5e7138:	56                   	push   %esi
5e7139:	56                   	push   %esi
5e713a:	56                   	push   %esi
5e713b:	56                   	push   %esi
5e713c:	56                   	push   %esi
5e713d:	e8 21 f0 fe ff       	call   0x5d6163
5e7142:	83 c4 18             	add    $0x18,%esp
5e7145:	83 c8 ff             	or     $0xffffffff,%eax
5e7148:	e9 dd 00 00 00       	jmp    0x5e722a
5e714d:	89 75 e0             	mov    %esi,-0x20(%ebp)
5e7150:	57                   	push   %edi
5e7151:	e8 16 8f ff ff       	call   0x5e006c
5e7156:	59                   	pop    %ecx
5e7157:	89 75 fc             	mov    %esi,-0x4(%ebp)
5e715a:	8b 47 0c             	mov    0xc(%edi),%eax
5e715d:	90                   	nop
5e715e:	c1 e8 0c             	shr    $0xc,%eax
5e7161:	a8 01                	test   $0x1,%al
5e7163:	75 6b                	jne    0x5e71d0
5e7165:	57                   	push   %edi
5e7166:	e8 b0 eb ff ff       	call   0x5e5d1b
5e716b:	59                   	pop    %ecx
5e716c:	83 f8 ff             	cmp    $0xffffffff,%eax
5e716f:	74 23                	je     0x5e7194
5e7171:	83 f8 fe             	cmp    $0xfffffffe,%eax
5e7174:	74 1e                	je     0x5e7194
5e7176:	8b d0                	mov    %eax,%edx
5e7178:	c1 fa 06             	sar    $0x6,%edx
5e717b:	8b d8                	mov    %eax,%ebx
5e717d:	83 e3 3f             	and    $0x3f,%ebx
5e7180:	6b cb 38             	imul   $0x38,%ebx,%ecx
5e7183:	03 0c 95 a8 70 71 00 	add    0x7170a8(,%edx,4),%ecx
5e718a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5e718d:	b9 e0 19 69 00       	mov    $0x6919e0,%ecx
5e7192:	eb 12                	jmp    0x5e71a6
5e7194:	b9 e0 19 69 00       	mov    $0x6919e0,%ecx
5e7199:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5e719c:	8b d0                	mov    %eax,%edx
5e719e:	c1 fa 06             	sar    $0x6,%edx
5e71a1:	8b d8                	mov    %eax,%ebx
5e71a3:	83 e3 3f             	and    $0x3f,%ebx
5e71a6:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5e71a9:	80 7f 29 00          	cmpb   $0x0,0x29(%edi)
5e71ad:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e71b0:	75 1a                	jne    0x5e71cc
5e71b2:	83 f8 ff             	cmp    $0xffffffff,%eax
5e71b5:	74 0f                	je     0x5e71c6
5e71b7:	83 f8 fe             	cmp    $0xfffffffe,%eax
5e71ba:	74 0a                	je     0x5e71c6
5e71bc:	6b cb 38             	imul   $0x38,%ebx,%ecx
5e71bf:	03 0c 95 a8 70 71 00 	add    0x7170a8(,%edx,4),%ecx
5e71c6:	f6 41 2d 01          	testb  $0x1,0x2d(%ecx)
5e71ca:	74 04                	je     0x5e71d0
5e71cc:	8b c6                	mov    %esi,%eax
5e71ce:	eb 03                	jmp    0x5e71d3
5e71d0:	33 c0                	xor    %eax,%eax
5e71d2:	40                   	inc    %eax
5e71d3:	85 c0                	test   %eax,%eax
5e71d5:	75 31                	jne    0x5e7208
5e71d7:	8b 45 10             	mov    0x10(%ebp),%eax
5e71da:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5e71de:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5e71e5:	50                   	push   %eax
5e71e6:	56                   	push   %esi
5e71e7:	56                   	push   %esi
5e71e8:	56                   	push   %esi
5e71e9:	56                   	push   %esi
5e71ea:	56                   	push   %esi
5e71eb:	e8 73 ef fe ff       	call   0x5d6163
5e71f0:	6a fe                	push   $0xfffffffe
5e71f2:	8d 45 f0             	lea    -0x10(%ebp),%eax
5e71f5:	50                   	push   %eax
5e71f6:	68 c0 14 69 00       	push   $0x6914c0
5e71fb:	e8 50 e8 fe ff       	call   0x5d5a50
5e7200:	83 c4 24             	add    $0x24,%esp
5e7203:	e9 3d ff ff ff       	jmp    0x5e7145
5e7208:	ff 75 10             	push   0x10(%ebp)
5e720b:	57                   	push   %edi
5e720c:	ff 75 08             	push   0x8(%ebp)
5e720f:	e8 34 00 00 00       	call   0x5e7248
5e7214:	83 c4 0c             	add    $0xc,%esp
5e7217:	8b f0                	mov    %eax,%esi
5e7219:	89 75 e0             	mov    %esi,-0x20(%ebp)
5e721c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5e7223:	e8 18 00 00 00       	call   0x5e7240
5e7228:	8b c6                	mov    %esi,%eax
5e722a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e722d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5e7234:	59                   	pop    %ecx
5e7235:	5f                   	pop    %edi
5e7236:	5e                   	pop    %esi
5e7237:	5b                   	pop    %ebx
5e7238:	c9                   	leave
5e7239:	c3                   	ret
5e723a:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e723d:	8b 75 e0             	mov    -0x20(%ebp),%esi
5e7240:	57                   	push   %edi
5e7241:	e8 3a 8e ff ff       	call   0x5e0080
5e7246:	59                   	pop    %ecx
5e7247:	c3                   	ret
5e7248:	8b ff                	mov    %edi,%edi
5e724a:	55                   	push   %ebp
5e724b:	8b ec                	mov    %esp,%ebp
5e724d:	8b 55 0c             	mov    0xc(%ebp),%edx
5e7250:	83 6a 08 01          	subl   $0x1,0x8(%edx)
5e7254:	79 11                	jns    0x5e7267
5e7256:	ff 75 10             	push   0x10(%ebp)
5e7259:	52                   	push   %edx
5e725a:	ff 75 08             	push   0x8(%ebp)
5e725d:	e8 86 8c 00 00       	call   0x5efee8
5e7262:	83 c4 0c             	add    $0xc,%esp
5e7265:	5d                   	pop    %ebp
5e7266:	c3                   	ret
5e7267:	8b 02                	mov    (%edx),%eax
5e7269:	8a 4d 08             	mov    0x8(%ebp),%cl
5e726c:	88 08                	mov    %cl,(%eax)
5e726e:	ff 02                	incl   (%edx)
5e7270:	0f b6 c1             	movzbl %cl,%eax
5e7273:	5d                   	pop    %ebp
5e7274:	c3                   	ret
5e7275:	8b ff                	mov    %edi,%edi
5e7277:	55                   	push   %ebp
5e7278:	8b ec                	mov    %esp,%ebp
5e727a:	83 ec 28             	sub    $0x28,%esp
5e727d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e7280:	56                   	push   %esi
5e7281:	6a 00                	push   $0x0
5e7283:	e8 4c ec fe ff       	call   0x5d5ed4
5e7288:	8d 45 d8             	lea    -0x28(%ebp),%eax
5e728b:	50                   	push   %eax
5e728c:	ff 75 0c             	push   0xc(%ebp)
5e728f:	ff 75 08             	push   0x8(%ebp)
5e7292:	e8 7d fe ff ff       	call   0x5e7114
5e7297:	83 c4 0c             	add    $0xc,%esp
5e729a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e729d:	8b f0                	mov    %eax,%esi
5e729f:	e8 78 ec fe ff       	call   0x5d5f1c
5e72a4:	8b c6                	mov    %esi,%eax
5e72a6:	5e                   	pop    %esi
5e72a7:	c9                   	leave
5e72a8:	c3                   	ret
5e72a9:	8b ff                	mov    %edi,%edi
5e72ab:	55                   	push   %ebp
5e72ac:	8b ec                	mov    %esp,%ebp
5e72ae:	5d                   	pop    %ebp
5e72af:	e9 00 00 00 00       	jmp    0x5e72b4
5e72b4:	8b ff                	mov    %edi,%edi
5e72b6:	55                   	push   %ebp
5e72b7:	8b ec                	mov    %esp,%ebp
5e72b9:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5e72bd:	75 15                	jne    0x5e72d4
5e72bf:	e8 c4 39 ff ff       	call   0x5dac88
5e72c4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e72ca:	e8 11 ef fe ff       	call   0x5d61e0
5e72cf:	83 c8 ff             	or     $0xffffffff,%eax
5e72d2:	5d                   	pop    %ebp
5e72d3:	c3                   	ret
5e72d4:	ff 75 08             	push   0x8(%ebp)
5e72d7:	6a 00                	push   $0x0
5e72d9:	ff 35 ec 6c 71 00    	push   0x716cec
5e72df:	ff 15 a8 21 60 00    	call   *0x6021a8
5e72e5:	5d                   	pop    %ebp
5e72e6:	c3                   	ret
5e72e7:	8b ff                	mov    %edi,%edi
5e72e9:	55                   	push   %ebp
5e72ea:	8b ec                	mov    %esp,%ebp
5e72ec:	56                   	push   %esi
5e72ed:	8b 75 0c             	mov    0xc(%ebp),%esi
5e72f0:	85 f6                	test   %esi,%esi