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
5e72f2:	74 43                	je     0x5e7337
5e72f4:	8d 46 ff             	lea    -0x1(%esi),%eax
5e72f7:	85 c6                	test   %eax,%esi
5e72f9:	75 3c                	jne    0x5e7337
5e72fb:	83 fe 04             	cmp    $0x4,%esi
5e72fe:	77 03                	ja     0x5e7303
5e7300:	6a 04                	push   $0x4
5e7302:	5e                   	pop    %esi
5e7303:	8b 45 08             	mov    0x8(%ebp),%eax
5e7306:	8d 48 03             	lea    0x3(%eax),%ecx
5e7309:	03 ce                	add    %esi,%ecx
5e730b:	3b c1                	cmp    %ecx,%eax
5e730d:	76 0d                	jbe    0x5e731c
5e730f:	e8 74 39 ff ff       	call   0x5dac88
5e7314:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
5e731a:	eb 2b                	jmp    0x5e7347
5e731c:	51                   	push   %ecx
5e731d:	e8 cd d5 ff ff       	call   0x5e48ef
5e7322:	59                   	pop    %ecx
5e7323:	8b c8                	mov    %eax,%ecx
5e7325:	85 c9                	test   %ecx,%ecx
5e7327:	74 1e                	je     0x5e7347
5e7329:	8d 41 03             	lea    0x3(%ecx),%eax
5e732c:	03 c6                	add    %esi,%eax
5e732e:	f7 de                	neg    %esi
5e7330:	23 c6                	and    %esi,%eax
5e7332:	89 48 fc             	mov    %ecx,-0x4(%eax)
5e7335:	eb 12                	jmp    0x5e7349
5e7337:	e8 4c 39 ff ff       	call   0x5dac88
5e733c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e7342:	e8 99 ee fe ff       	call   0x5d61e0
5e7347:	33 c0                	xor    %eax,%eax
5e7349:	5e                   	pop    %esi
5e734a:	5d                   	pop    %ebp
5e734b:	c3                   	ret
5e734c:	ff 15 2c 22 60 00    	call   *0x60222c
5e7352:	85 c0                	test   %eax,%eax
5e7354:	a3 ec 6c 71 00       	mov    %eax,0x716cec
5e7359:	0f 95 c0             	setne  %al
5e735c:	c3                   	ret
5e735d:	83 25 ec 6c 71 00 00 	andl   $0x0,0x716cec
5e7364:	b0 01                	mov    $0x1,%al
5e7366:	c3                   	ret
5e7367:	a1 ec 6c 71 00       	mov    0x716cec,%eax
5e736c:	c3                   	ret
5e736d:	8b ff                	mov    %edi,%edi
5e736f:	55                   	push   %ebp
5e7370:	8b ec                	mov    %esp,%ebp
5e7372:	51                   	push   %ecx
5e7373:	51                   	push   %ecx
5e7374:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5e7379:	33 c5                	xor    %ebp,%eax
5e737b:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e737e:	56                   	push   %esi
5e737f:	8b 75 08             	mov    0x8(%ebp),%esi
5e7382:	57                   	push   %edi
5e7383:	85 f6                	test   %esi,%esi
5e7385:	75 14                	jne    0x5e739b
5e7387:	e8 fc 38 ff ff       	call   0x5dac88
5e738c:	6a 16                	push   $0x16
5e738e:	5e                   	pop    %esi
5e738f:	89 30                	mov    %esi,(%eax)
5e7391:	e8 4a ee fe ff       	call   0x5d61e0
5e7396:	e9 35 01 00 00       	jmp    0x5e74d0
5e739b:	ff 75 0c             	push   0xc(%ebp)
5e739e:	56                   	push   %esi
5e739f:	e8 e2 12 00 00       	call   0x5e8686
5e73a4:	59                   	pop    %ecx
5e73a5:	59                   	pop    %ecx
5e73a6:	3b 45 0c             	cmp    0xc(%ebp),%eax
5e73a9:	72 05                	jb     0x5e73b0
5e73ab:	c6 06 00             	movb   $0x0,(%esi)
5e73ae:	eb d7                	jmp    0x5e7387
5e73b0:	8b 55 10             	mov    0x10(%ebp),%edx
5e73b3:	8b 02                	mov    (%edx),%eax
5e73b5:	8b 88 a8 00 00 00    	mov    0xa8(%eax),%ecx
5e73bb:	85 c9                	test   %ecx,%ecx
5e73bd:	74 46                	je     0x5e7405
5e73bf:	6a 01                	push   $0x1
5e73c1:	ff 70 08             	push   0x8(%eax)
5e73c4:	6a 00                	push   $0x0
5e73c6:	6a 00                	push   $0x0
5e73c8:	6a ff                	push   $0xffffffff
5e73ca:	56                   	push   %esi
5e73cb:	68 00 02 00 00       	push   $0x200
5e73d0:	51                   	push   %ecx
5e73d1:	52                   	push   %edx
5e73d2:	e8 0b 8d 00 00       	call   0x5f00e2
5e73d7:	83 c4 24             	add    $0x24,%esp
5e73da:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e73dd:	85 c0                	test   %eax,%eax
5e73df:	75 31                	jne    0x5e7412
5e73e1:	e8 a2 38 ff ff       	call   0x5dac88
5e73e6:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
5e73ec:	e8 97 38 ff ff       	call   0x5dac88
5e73f1:	8b 00                	mov    (%eax),%eax
5e73f3:	e9 da 00 00 00       	jmp    0x5e74d2
5e73f8:	8d 41 9f             	lea    -0x61(%ecx),%eax
5e73fb:	3c 19                	cmp    $0x19,%al
5e73fd:	77 05                	ja     0x5e7404
5e73ff:	80 e9 20             	sub    $0x20,%cl
5e7402:	88 0e                	mov    %cl,(%esi)
5e7404:	46                   	inc    %esi
5e7405:	8a 0e                	mov    (%esi),%cl
5e7407:	84 c9                	test   %cl,%cl
5e7409:	75 ed                	jne    0x5e73f8
5e740b:	33 c0                	xor    %eax,%eax
5e740d:	e9 c0 00 00 00       	jmp    0x5e74d2
5e7412:	39 45 0c             	cmp    %eax,0xc(%ebp)
5e7415:	73 0f                	jae    0x5e7426
5e7417:	c6 06 00             	movb   $0x0,(%esi)
5e741a:	e8 69 38 ff ff       	call   0x5dac88
5e741f:	6a 22                	push   $0x22
5e7421:	e9 68 ff ff ff       	jmp    0x5e738e
5e7426:	8d 48 08             	lea    0x8(%eax),%ecx
5e7429:	3b c1                	cmp    %ecx,%eax
5e742b:	1b c0                	sbb    %eax,%eax
5e742d:	23 c1                	and    %ecx,%eax
5e742f:	0f 84 81 00 00 00    	je     0x5e74b6
5e7435:	3d 00 04 00 00       	cmp    $0x400,%eax
5e743a:	77 13                	ja     0x5e744f
5e743c:	e8 2f 9e fe ff       	call   0x5d1270
5e7441:	8b fc                	mov    %esp,%edi
5e7443:	85 ff                	test   %edi,%edi
5e7445:	74 6f                	je     0x5e74b6
5e7447:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
5e744d:	eb 13                	jmp    0x5e7462
5e744f:	50                   	push   %eax
5e7450:	e8 07 3e 00 00       	call   0x5eb25c
5e7455:	8b f8                	mov    %eax,%edi
5e7457:	59                   	pop    %ecx
5e7458:	85 ff                	test   %edi,%edi
5e745a:	74 5a                	je     0x5e74b6
5e745c:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
5e7462:	83 c7 08             	add    $0x8,%edi
5e7465:	85 ff                	test   %edi,%edi
5e7467:	74 4d                	je     0x5e74b6
5e7469:	8b 4d 10             	mov    0x10(%ebp),%ecx
5e746c:	6a 01                	push   $0x1
5e746e:	8b 01                	mov    (%ecx),%eax
5e7470:	ff 70 08             	push   0x8(%eax)
5e7473:	ff 75 f8             	push   -0x8(%ebp)
5e7476:	57                   	push   %edi
5e7477:	6a ff                	push   $0xffffffff
5e7479:	56                   	push   %esi
5e747a:	68 00 02 00 00       	push   $0x200
5e747f:	ff b0 a8 00 00 00    	push   0xa8(%eax)
5e7485:	51                   	push   %ecx
5e7486:	e8 57 8c 00 00       	call   0x5f00e2
5e748b:	83 c4 24             	add    $0x24,%esp
5e748e:	85 c0                	test   %eax,%eax
5e7490:	74 17                	je     0x5e74a9
5e7492:	57                   	push   %edi
5e7493:	ff 75 0c             	push   0xc(%ebp)
5e7496:	56                   	push   %esi
5e7497:	e8 66 2d 00 00       	call   0x5ea202
5e749c:	57                   	push   %edi
5e749d:	8b f0                	mov    %eax,%esi
5e749f:	e8 57 9c fe ff       	call   0x5d10fb
5e74a4:	83 c4 10             	add    $0x10,%esp
5e74a7:	eb 27                	jmp    0x5e74d0
5e74a9:	e8 da 37 ff ff       	call   0x5dac88
5e74ae:	6a 2a                	push   $0x2a
5e74b0:	5e                   	pop    %esi
5e74b1:	57                   	push   %edi
5e74b2:	89 30                	mov    %esi,(%eax)
5e74b4:	eb 14                	jmp    0x5e74ca
5e74b6:	e8 cd 37 ff ff       	call   0x5dac88
5e74bb:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
5e74c1:	e8 c2 37 ff ff       	call   0x5dac88
5e74c6:	6a 00                	push   $0x0
5e74c8:	8b 30                	mov    (%eax),%esi
5e74ca:	e8 2c 9c fe ff       	call   0x5d10fb
5e74cf:	59                   	pop    %ecx
5e74d0:	8b c6                	mov    %esi,%eax