5d815f:	d1 f9                	sar    $1,%ecx
5d8161:	57                   	push   %edi
5d8162:	6a 02                	push   $0x2
5d8164:	8d 79 01             	lea    0x1(%ecx),%edi
5d8167:	57                   	push   %edi
5d8168:	e8 f1 64 01 00       	call   0x5ee65e
5d816d:	8b f0                	mov    %eax,%esi
5d816f:	59                   	pop    %ecx
5d8170:	59                   	pop    %ecx
5d8171:	85 f6                	test   %esi,%esi
5d8173:	74 16                	je     0x5d818b
5d8175:	8d 04 3f             	lea    (%edi,%edi,1),%eax
5d8178:	50                   	push   %eax
5d8179:	ff 75 08             	push   0x8(%ebp)
5d817c:	56                   	push   %esi
5d817d:	e8 7e ad 00 00       	call   0x5e2f00
5d8182:	83 c4 0c             	add    $0xc,%esp
5d8185:	8b c6                	mov    %esi,%eax
5d8187:	5f                   	pop    %edi
5d8188:	5e                   	pop    %esi
5d8189:	5d                   	pop    %ebp
5d818a:	c3                   	ret
5d818b:	e8 bd 61 ff ff       	call   0x5ce34d
5d8190:	cc                   	int3
5d8191:	55                   	push   %ebp
5d8192:	8b ec                	mov    %esp,%ebp
5d8194:	80 79 28 00          	cmpb   $0x0,0x28(%ecx)
5d8198:	75 28                	jne    0x5d81c2
5d819a:	8b 45 0c             	mov    0xc(%ebp),%eax
5d819d:	83 f8 02             	cmp    $0x2,%eax
5d81a0:	77 20                	ja     0x5d81c2
5d81a2:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d81a5:	83 f9 01             	cmp    $0x1,%ecx
5d81a8:	77 18                	ja     0x5d81c2
5d81aa:	83 7d 14 04          	cmpl   $0x4,0x14(%ebp)
5d81ae:	77 12                	ja     0x5d81c2
5d81b0:	8d 04 41             	lea    (%ecx,%eax,2),%eax
5d81b3:	6b c0 05             	imul   $0x5,%eax,%eax
5d81b6:	03 45 14             	add    0x14(%ebp),%eax
5d81b9:	8d 0c 85 58 04 6d 00 	lea    0x6d0458(,%eax,4),%ecx
5d81c0:	eb 05                	jmp    0x5d81c7
5d81c2:	b9 0c 04 6d 00       	mov    $0x6d040c,%ecx
5d81c7:	8b 45 08             	mov    0x8(%ebp),%eax
5d81ca:	8b 09                	mov    (%ecx),%ecx
5d81cc:	89 08                	mov    %ecx,(%eax)
5d81ce:	5d                   	pop    %ebp
5d81cf:	c2 10 00             	ret    $0x10
5d81d2:	55                   	push   %ebp
5d81d3:	8b ec                	mov    %esp,%ebp
5d81d5:	56                   	push   %esi
5d81d6:	57                   	push   %edi
5d81d7:	8b f9                	mov    %ecx,%edi
5d81d9:	e8 15 0d 00 00       	call   0x5d8ef3
5d81de:	8b 45 08             	mov    0x8(%ebp),%eax
5d81e1:	8b f0                	mov    %eax,%esi
5d81e3:	6a 06                	push   $0x6
5d81e5:	59                   	pop    %ecx
5d81e6:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5d81e8:	83 60 10 00          	andl   $0x0,0x10(%eax)
5d81ec:	33 c9                	xor    %ecx,%ecx
5d81ee:	5f                   	pop    %edi
5d81ef:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
5d81f6:	66 89 08             	mov    %cx,(%eax)
5d81f9:	5e                   	pop    %esi
5d81fa:	5d                   	pop    %ebp
5d81fb:	c2 08 00             	ret    $0x8
5d81fe:	55                   	push   %ebp
5d81ff:	8b ec                	mov    %esp,%ebp
5d8201:	56                   	push   %esi
5d8202:	57                   	push   %edi
5d8203:	8b f9                	mov    %ecx,%edi
5d8205:	e8 c6 cd e6 ff       	call   0x444fd0
5d820a:	8b 45 08             	mov    0x8(%ebp),%eax
5d820d:	8b f0                	mov    %eax,%esi
5d820f:	6a 06                	push   $0x6
5d8211:	59                   	pop    %ecx
5d8212:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5d8214:	83 60 10 00          	andl   $0x0,0x10(%eax)
5d8218:	33 c9                	xor    %ecx,%ecx
5d821a:	5f                   	pop    %edi
5d821b:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
5d8222:	66 89 08             	mov    %cx,(%eax)
5d8225:	5e                   	pop    %esi
5d8226:	5d                   	pop    %ebp
5d8227:	c2 08 00             	ret    $0x8
5d822a:	56                   	push   %esi
5d822b:	8b f1                	mov    %ecx,%esi
5d822d:	8b 0e                	mov    (%esi),%ecx
5d822f:	85 c9                	test   %ecx,%ecx
5d8231:	74 18                	je     0x5d824b
5d8233:	e8 79 51 00 00       	call   0x5dd3b1
5d8238:	0f b7 c0             	movzwl %ax,%eax
5d823b:	b9 ff ff 00 00       	mov    $0xffff,%ecx
5d8240:	66 3b c8             	cmp    %ax,%cx
5d8243:	74 06                	je     0x5d824b
5d8245:	66 89 46 06          	mov    %ax,0x6(%esi)
5d8249:	eb 07                	jmp    0x5d8252
5d824b:	83 26 00             	andl   $0x0,(%esi)
5d824e:	0f b7 46 06          	movzwl 0x6(%esi),%eax
5d8252:	c6 46 04 01          	movb   $0x1,0x4(%esi)
5d8256:	5e                   	pop    %esi
5d8257:	c3                   	ret
5d8258:	55                   	push   %ebp
5d8259:	8b ec                	mov    %esp,%ebp
5d825b:	56                   	push   %esi
5d825c:	8b 75 18             	mov    0x18(%ebp),%esi
5d825f:	85 f6                	test   %esi,%esi
5d8261:	74 1d                	je     0x5d8280
5d8263:	8b 45 14             	mov    0x14(%ebp),%eax
5d8266:	0f b7 00             	movzwl (%eax),%eax
5d8269:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d826c:	50                   	push   %eax
5d826d:	e8 30 9d ff ff       	call   0x5d1fa2
5d8272:	8b 45 14             	mov    0x14(%ebp),%eax
5d8275:	83 c0 02             	add    $0x2,%eax
5d8278:	89 45 14             	mov    %eax,0x14(%ebp)
5d827b:	83 ee 01             	sub    $0x1,%esi
5d827e:	75 e6                	jne    0x5d8266
5d8280:	8b 45 08             	mov    0x8(%ebp),%eax
5d8283:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d8286:	5e                   	pop    %esi
5d8287:	89 08                	mov    %ecx,(%eax)
5d8289:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d828c:	89 48 04             	mov    %ecx,0x4(%eax)
5d828f:	5d                   	pop    %ebp
5d8290:	c3                   	ret
5d8291:	55                   	push   %ebp
5d8292:	8b ec                	mov    %esp,%ebp
5d8294:	56                   	push   %esi
5d8295:	8b 75 18             	mov    0x18(%ebp),%esi
5d8298:	85 f6                	test   %esi,%esi
5d829a:	74 1d                	je     0x5d82b9
5d829c:	8b 45 14             	mov    0x14(%ebp),%eax
5d829f:	0f b7 00             	movzwl (%eax),%eax
5d82a2:	8d 4d 0c             	lea    0xc(%ebp),%ecx
5d82a5:	50                   	push   %eax
5d82a6:	e8 05 87 e6 ff       	call   0x4409b0
5d82ab:	8b 45 14             	mov    0x14(%ebp),%eax
5d82ae:	83 c0 02             	add    $0x2,%eax
5d82b1:	89 45 14             	mov    %eax,0x14(%ebp)
5d82b4:	83 ee 01             	sub    $0x1,%esi
5d82b7:	75 e6                	jne    0x5d829f
5d82b9:	8b 45 08             	mov    0x8(%ebp),%eax
5d82bc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5d82bf:	5e                   	pop    %esi
5d82c0:	89 08                	mov    %ecx,(%eax)
5d82c2:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d82c5:	89 48 04             	mov    %ecx,0x4(%eax)
5d82c8:	5d                   	pop    %ebp
5d82c9:	c3                   	ret
5d82ca:	55                   	push   %ebp
5d82cb:	8b ec                	mov    %esp,%ebp
5d82cd:	56                   	push   %esi
5d82ce:	8b 75 1c             	mov    0x1c(%ebp),%esi
5d82d1:	85 f6                	test   %esi,%esi
5d82d3:	74 19                	je     0x5d82ee
5d82d5:	57                   	push   %edi
5d82d6:	8b 7d 18             	mov    0x18(%ebp),%edi
5d82d9:	0f b7 07             	movzwl (%edi),%eax
5d82dc:	8d 4d 10             	lea    0x10(%ebp),%ecx
5d82df:	50                   	push   %eax
5d82e0:	e8 bd 9c ff ff       	call   0x5d1fa2
5d82e5:	8d 7f 02             	lea    0x2(%edi),%edi
5d82e8:	83 ee 01             	sub    $0x1,%esi
5d82eb:	75 ec                	jne    0x5d82d9
5d82ed:	5f                   	pop    %edi
5d82ee:	8b 45 0c             	mov    0xc(%ebp),%eax
5d82f1:	8b 4d 10             	mov    0x10(%ebp),%ecx
5d82f4:	5e                   	pop    %esi
5d82f5:	89 08                	mov    %ecx,(%eax)
5d82f7:	8b 4d 14             	mov    0x14(%ebp),%ecx
5d82fa:	89 48 04             	mov    %ecx,0x4(%eax)
5d82fd:	5d                   	pop    %ebp
5d82fe:	c3                   	ret
5d82ff:	68 e0 00 00 00       	push   $0xe0
5d8304:	b8 af 15 66 00       	mov    $0x6615af,%eax
5d8309:	e8 e1 9c 00 00       	call   0x5e1fef
5d830e:	0f b7 4d 1c          	movzwl 0x1c(%ebp),%ecx
5d8312:	8b 45 08             	mov    0x8(%ebp),%eax
5d8315:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
5d831b:	0f b7 4d 3c          	movzwl 0x3c(%ebp),%ecx
5d831f:	89 85 5c ff ff ff    	mov    %eax,-0xa4(%ebp)
5d8325:	8b 45 18             	mov    0x18(%ebp),%eax
5d8328:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
5d832e:	89 8d 70 ff ff ff    	mov    %ecx,-0x90(%ebp)
5d8334:	ff 70 30             	push   0x30(%eax)
5d8337:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5d833b:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5d8341:	e8 0a 16 e6 ff       	call   0x439950
5d8346:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
5d834a:	74 17                	je     0x5d8363
5d834c:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5d8352:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5d8356:	50                   	push   %eax
5d8357:	e8 ee 92 ff ff       	call   0x5d164a
5d835c:	8b f8                	mov    %eax,%edi
5d835e:	89 7d 8c             	mov    %edi,-0x74(%ebp)
5d8361:	eb 15                	jmp    0x5d8378
5d8363:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5d8369:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5d836d:	50                   	push   %eax
5d836e:	e8 6c 93 ff ff       	call   0x5d16df
5d8373:	8b f8                	mov    %eax,%edi
5d8375:	89 45 8c             	mov    %eax,-0x74(%ebp)
5d8378:	59                   	pop    %ecx
5d8379:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5d837f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5d8383:	e8 18 16 e6 ff       	call   0x4399a0
5d8388:	8b 07                	mov    (%edi),%eax
5d838a:	8b 70 14             	mov    0x14(%eax),%esi
5d838d:	8d 45 c0             	lea    -0x40(%ebp),%eax
5d8390:	50                   	push   %eax
5d8391:	8b ce                	mov    %esi,%ecx
5d8393:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8399:	8b cf                	mov    %edi,%ecx
5d839b:	ff d6                	call   *%esi
5d839d:	8b cf                	mov    %edi,%ecx
5d839f:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5d83a3:	e8 55 4d 00 00       	call   0x5dd0fd
5d83a8:	99                   	cltd
5d83a9:	8b f8                	mov    %eax,%edi
5d83ab:	33 fa                	xor    %edx,%edi
5d83ad:	2b fa                	sub    %edx,%edi
5d83af:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
5d83b5:	39 7d 34             	cmp    %edi,0x34(%ebp)
5d83b8:	77 19                	ja     0x5d83d3
5d83ba:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
5d83c0:	8b c7                	mov    %edi,%eax
5d83c2:	8d 4d 24             	lea    0x24(%ebp),%ecx
5d83c5:	2b 45 34             	sub    0x34(%ebp),%eax
5d83c8:	40                   	inc    %eax
5d83c9:	50                   	push   %eax
5d83ca:	6a 00                	push   $0x0
5d83cc:	e8 ec 4d 00 00       	call   0x5dd1bd
5d83d1:	eb 76                	jmp    0x5d8449
5d83d3:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
5d83d7:	8d 45 c0             	lea    -0x40(%ebp),%eax
5d83da:	72 03                	jb     0x5d83df
5d83dc:	8b 45 c0             	mov    -0x40(%ebp),%eax
5d83df:	80 38 7f             	cmpb   $0x7f,(%eax)
5d83e2:	74 65                	je     0x5d8449
5d83e4:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
5d83e8:	8d 45 c0             	lea    -0x40(%ebp),%eax
5d83eb:	72 03                	jb     0x5d83f0
5d83ed:	8b 45 c0             	mov    -0x40(%ebp),%eax
5d83f0:	80 38 00             	cmpb   $0x0,(%eax)
5d83f3:	7e 54                	jle    0x5d8449
5d83f5:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d83f8:	e8 37 50 00 00       	call   0x5dd434
5d83fd:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
5d8401:	8d 7d c0             	lea    -0x40(%ebp),%edi
5d8404:	0f b7 c8             	movzwl %ax,%ecx
5d8407:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
5d840a:	72 03                	jb     0x5d840f
5d840c:	8b 7d c0             	mov    -0x40(%ebp),%edi
5d840f:	8b 75 34             	mov    0x34(%ebp),%esi
5d8412:	2b b5 7c ff ff ff    	sub    -0x84(%ebp),%esi
5d8418:	8a 07                	mov    (%edi),%al
5d841a:	3c 7f                	cmp    $0x7f,%al
5d841c:	74 25                	je     0x5d8443
5d841e:	84 c0                	test   %al,%al
5d8420:	7e 21                	jle    0x5d8443
5d8422:	0f be c0             	movsbl %al,%eax
5d8425:	3b c6                	cmp    %esi,%eax
5d8427:	73 1a                	jae    0x5d8443
5d8429:	51                   	push   %ecx
5d842a:	2b f0                	sub    %eax,%esi
5d842c:	8d 4d 24             	lea    0x24(%ebp),%ecx
5d842f:	6a 01                	push   $0x1
5d8431:	56                   	push   %esi
5d8432:	e8 86 4d 00 00       	call   0x5dd1bd
5d8437:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
5d843b:	7e 01                	jle    0x5d843e
5d843d:	47                   	inc    %edi
5d843e:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
5d8441:	eb d5                	jmp    0x5d8418
5d8443:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
5d8449:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
5d844d:	33 c0                	xor    %eax,%eax
5d844f:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
5d8456:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
5d845a:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
5d845e:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d8461:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
5d8465:	8b 30                	mov    (%eax),%esi
5d8467:	8d 45 84             	lea    -0x7c(%ebp),%eax
5d846a:	50                   	push   %eax
5d846b:	74 23                	je     0x5d8490
5d846d:	8b 76 2c             	mov    0x2c(%esi),%esi
5d8470:	8b ce                	mov    %esi,%ecx
5d8472:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8478:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d847b:	ff d6                	call   *%esi
5d847d:	8b 45 84             	mov    -0x7c(%ebp),%eax
5d8480:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5d8486:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d8489:	8b 00                	mov    (%eax),%eax
5d848b:	8b 70 20             	mov    0x20(%eax),%esi
5d848e:	eb 21                	jmp    0x5d84b1
5d8490:	8b 76 28             	mov    0x28(%esi),%esi
5d8493:	8b ce                	mov    %esi,%ecx
5d8495:	ff 15 e0 24 68 00    	call   *0x6824e0
5d849b:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d849e:	ff d6                	call   *%esi
5d84a0:	8b 45 84             	mov    -0x7c(%ebp),%eax
5d84a3:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
5d84a9:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d84ac:	8b 00                	mov    (%eax),%eax
5d84ae:	8b 70 1c             	mov    0x1c(%eax),%esi
5d84b1:	8d 45 90             	lea    -0x70(%ebp),%eax
5d84b4:	8b ce                	mov    %esi,%ecx
5d84b6:	50                   	push   %eax
5d84b7:	ff 15 e0 24 68 00    	call   *0x6824e0
5d84bd:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d84c0:	ff d6                	call   *%esi
5d84c2:	c6 45 84 00          	movb   $0x0,-0x7c(%ebp)
5d84c6:	8d 45 90             	lea    -0x70(%ebp),%eax
5d84c9:	ff 75 84             	push   -0x7c(%ebp)
5d84cc:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5d84cf:	50                   	push   %eax
5d84d0:	e8 fd fc ff ff       	call   0x5d81d2
5d84d5:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5d84d8:	e8 16 0a 00 00       	call   0x5d8ef3
5d84dd:	83 65 b8 00          	andl   $0x0,-0x48(%ebp)
5d84e1:	33 c0                	xor    %eax,%eax
5d84e3:	c7 45 bc 07 00 00 00 	movl   $0x7,-0x44(%ebp)
5d84ea:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
5d84ee:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
5d84f4:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
5d84f8:	f6 40 14 08          	testb  $0x8,0x14(%eax)
5d84fc:	74 34                	je     0x5d8532
5d84fe:	8b 45 8c             	mov    -0x74(%ebp),%eax
5d8501:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5d8504:	51                   	push   %ecx
5d8505:	8b 00                	mov    (%eax),%eax
5d8507:	8b 70 18             	mov    0x18(%eax),%esi
5d850a:	8b ce                	mov    %esi,%ecx
5d850c:	ff 15 e0 24 68 00    	call   *0x6824e0
5d8512:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5d8515:	ff d6                	call   *%esi
5d8517:	c6 45 84 00          	movb   $0x0,-0x7c(%ebp)
5d851b:	8d 45 90             	lea    -0x70(%ebp),%eax
5d851e:	ff 75 84             	push   -0x7c(%ebp)
5d8521:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5d8524:	50                   	push   %eax
5d8525:	e8 a8 fc ff ff       	call   0x5d81d2
5d852a:	8d 4d 90             	lea    -0x70(%ebp),%ecx
5d852d:	e8 c1 09 00 00       	call   0x5d8ef3
5d8532:	32 d2                	xor    %dl,%dl
5d8534:	33 c9                	xor    %ecx,%ecx