42e03e:	83 c4 04             	add    $0x4,%esp
42e041:	8b c6                	mov    %esi,%eax
42e043:	3b f7                	cmp    %edi,%esi
42e045:	75 ef                	jne    0x42e036
42e047:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42e04a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42e04d:	8b 7d a8             	mov    -0x58(%ebp),%edi
42e050:	89 01                	mov    %eax,(%ecx)
42e052:	8b 45 e8             	mov    -0x18(%ebp),%eax
42e055:	e9 28 04 00 00       	jmp    0x42e482
42e05a:	ff 36                	push   (%esi)
42e05c:	0f 57 c0             	xorps  %xmm0,%xmm0
42e05f:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
42e066:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42e069:	66 0f d6 45 d4       	movq   %xmm0,-0x2c(%ebp)
42e06e:	e8 8d ca ff ff       	call   0x42ab00
42e073:	83 c4 04             	add    $0x4,%esp
42e076:	ff 36                	push   (%esi)
42e078:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42e07b:	e8 00 ca ff ff       	call   0x42aa80
42e080:	8b f0                	mov    %eax,%esi
42e082:	85 f6                	test   %esi,%esi
42e084:	75 16                	jne    0x42e09c
42e086:	c7 07 60 ea 4a 00    	movl   $0x4aea60,(%edi)
42e08c:	c6 47 04 00          	movb   $0x0,0x4(%edi)
42e090:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
42e097:	e9 e9 03 00 00       	jmp    0x42e485
42e09c:	8b ce                	mov    %esi,%ecx
42e09e:	e8 bd d2 ff ff       	call   0x42b360
42e0a3:	2b c6                	sub    %esi,%eax
42e0a5:	89 37                	mov    %esi,(%edi)
42e0a7:	d1 f8                	sar    $1,%eax
42e0a9:	c6 47 04 01          	movb   $0x1,0x4(%edi)
42e0ad:	89 47 08             	mov    %eax,0x8(%edi)
42e0b0:	e9 d0 03 00 00       	jmp    0x42e485
42e0b5:	56                   	push   %esi
42e0b6:	52                   	push   %edx
42e0b7:	8d 45 d4             	lea    -0x2c(%ebp),%eax
42e0ba:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
42e0c1:	50                   	push   %eax
42e0c2:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e0c5:	0f 57 c0             	xorps  %xmm0,%xmm0
42e0c8:	66 0f d6 45 d4       	movq   %xmm0,-0x2c(%ebp)
42e0cd:	8b 48 04             	mov    0x4(%eax),%ecx
42e0d0:	e8 3b f4 ff ff       	call   0x42d510
42e0d5:	eb 9f                	jmp    0x42e076
42e0d7:	8b 4e 04             	mov    0x4(%esi),%ecx
42e0da:	89 4d 88             	mov    %ecx,-0x78(%ebp)
42e0dd:	f3 0f 7e 01          	movq   (%ecx),%xmm0
42e0e1:	8b 41 08             	mov    0x8(%ecx),%eax
42e0e4:	66 0f d6 45 8c       	movq   %xmm0,-0x74(%ebp)
42e0e9:	89 45 94             	mov    %eax,-0x6c(%ebp)
42e0ec:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
42e0f3:	0f 57 c0             	xorps  %xmm0,%xmm0
42e0f6:	8b 06                	mov    (%esi),%eax
42e0f8:	56                   	push   %esi
42e0f9:	89 45 d0             	mov    %eax,-0x30(%ebp)
42e0fc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42e0ff:	52                   	push   %edx
42e100:	50                   	push   %eax
42e101:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e104:	89 4d cc             	mov    %ecx,-0x34(%ebp)
42e107:	66 0f d6 45 e4       	movq   %xmm0,-0x1c(%ebp)
42e10c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
42e113:	8b 48 04             	mov    0x4(%eax),%ecx
42e116:	e8 f5 f3 ff ff       	call   0x42d510
42e11b:	8d 45 cc             	lea    -0x34(%ebp),%eax
42e11e:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
42e125:	50                   	push   %eax
42e126:	ff 75 a0             	push   -0x60(%ebp)
42e129:	8d 45 bc             	lea    -0x44(%ebp),%eax
42e12c:	0f 57 c0             	xorps  %xmm0,%xmm0
42e12f:	50                   	push   %eax
42e130:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e133:	66 0f d6 45 bc       	movq   %xmm0,-0x44(%ebp)
42e138:	8b 48 08             	mov    0x8(%eax),%ecx
42e13b:	e8 d0 f3 ff ff       	call   0x42d510
42e140:	8d 45 cc             	lea    -0x34(%ebp),%eax
42e143:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
42e14a:	50                   	push   %eax
42e14b:	ff 75 a0             	push   -0x60(%ebp)
42e14e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
42e151:	0f 57 c0             	xorps  %xmm0,%xmm0
42e154:	50                   	push   %eax
42e155:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e158:	66 0f d6 45 d4       	movq   %xmm0,-0x2c(%ebp)
42e15d:	8b 48 08             	mov    0x8(%eax),%ecx
42e160:	8b 49 0c             	mov    0xc(%ecx),%ecx
42e163:	e8 a8 f3 ff ff       	call   0x42d510
42e168:	ff 36                	push   (%esi)
42e16a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42e16d:	e8 0e c9 ff ff       	call   0x42aa80
42e172:	8b c8                	mov    %eax,%ecx
42e174:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
42e177:	85 c9                	test   %ecx,%ecx
42e179:	75 33                	jne    0x42e1ae
42e17b:	8b 4d 88             	mov    -0x78(%ebp),%ecx
42e17e:	c7 07 60 ea 4a 00    	movl   $0x4aea60,(%edi)
42e184:	88 47 04             	mov    %al,0x4(%edi)
42e187:	89 47 08             	mov    %eax,0x8(%edi)
42e18a:	8b 01                	mov    (%ecx),%eax
42e18c:	3b 45 8c             	cmp    -0x74(%ebp),%eax
42e18f:	0f 84 e5 02 00 00    	je     0x42e47a
42e195:	8b 7d 8c             	mov    -0x74(%ebp),%edi
42e198:	8b 30                	mov    (%eax),%esi
42e19a:	50                   	push   %eax
42e19b:	e8 e2 b4 04 00       	call   0x479682
42e1a0:	83 c4 04             	add    $0x4,%esp
42e1a3:	8b c6                	mov    %esi,%eax
42e1a5:	3b f7                	cmp    %edi,%esi
42e1a7:	75 ef                	jne    0x42e198
42e1a9:	e9 c6 02 00 00       	jmp    0x42e474
42e1ae:	80 7d d8 00          	cmpb   $0x0,-0x28(%ebp)
42e1b2:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42e1b5:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42e1b8:	74 08                	je     0x42e1c2
42e1ba:	8b 45 dc             	mov    -0x24(%ebp),%eax
42e1bd:	89 45 a4             	mov    %eax,-0x5c(%ebp)
42e1c0:	eb 1a                	jmp    0x42e1dc
42e1c2:	8b c8                	mov    %eax,%ecx
42e1c4:	8d 51 02             	lea    0x2(%ecx),%edx
42e1c7:	66 8b 01             	mov    (%ecx),%ax
42e1ca:	83 c1 02             	add    $0x2,%ecx
42e1cd:	66 85 c0             	test   %ax,%ax
42e1d0:	75 f5                	jne    0x42e1c7
42e1d2:	2b ca                	sub    %edx,%ecx
42e1d4:	d1 f9                	sar    $1,%ecx
42e1d6:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
42e1d9:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
42e1dc:	0f b7 39             	movzwl (%ecx),%edi
42e1df:	8b c1                	mov    %ecx,%eax
42e1e1:	8b 55 bc             	mov    -0x44(%ebp),%edx
42e1e4:	66 85 ff             	test   %di,%di
42e1e7:	89 7d 9c             	mov    %edi,-0x64(%ebp)
42e1ea:	8b f1                	mov    %ecx,%esi
42e1ec:	8b 7d a8             	mov    -0x58(%ebp),%edi
42e1ef:	89 55 a0             	mov    %edx,-0x60(%ebp)
42e1f2:	74 56                	je     0x42e24a
42e1f4:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
42e1f7:	8b 7d a4             	mov    -0x5c(%ebp),%edi
42e1fa:	0f b7 c9             	movzwl %cx,%ecx
42e1fd:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
42e200:	51                   	push   %ecx
42e201:	83 c0 02             	add    $0x2,%eax
42e204:	52                   	push   %edx
42e205:	89 45 a4             	mov    %eax,-0x5c(%ebp)
42e208:	e8 f1 d2 03 00       	call   0x46b4fe
42e20d:	8b 55 a0             	mov    -0x60(%ebp),%edx
42e210:	83 c4 08             	add    $0x8,%esp
42e213:	85 c0                	test   %eax,%eax
42e215:	75 05                	jne    0x42e21c
42e217:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e21a:	eb 0f                	jmp    0x42e22b
42e21c:	2b c2                	sub    %edx,%eax
42e21e:	d1 f8                	sar    $1,%eax
42e220:	3b c7                	cmp    %edi,%eax
42e222:	73 0d                	jae    0x42e231
42e224:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
42e227:	66 8b 04 41          	mov    (%ecx,%eax,2),%ax
42e22b:	66 89 06             	mov    %ax,(%esi)
42e22e:	83 c6 02             	add    $0x2,%esi
42e231:	8b 45 a4             	mov    -0x5c(%ebp),%eax
42e234:	0f b7 00             	movzwl (%eax),%eax
42e237:	8b c8                	mov    %eax,%ecx
42e239:	66 85 c0             	test   %ax,%ax
42e23c:	8b 45 a4             	mov    -0x5c(%ebp),%eax
42e23f:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
42e242:	75 bc                	jne    0x42e200
42e244:	8b 7d a8             	mov    -0x58(%ebp),%edi
42e247:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
42e24a:	33 c0                	xor    %eax,%eax
42e24c:	66 89 06             	mov    %ax,(%esi)
42e24f:	2b f1                	sub    %ecx,%esi
42e251:	89 0f                	mov    %ecx,(%edi)
42e253:	8b 4d 88             	mov    -0x78(%ebp),%ecx
42e256:	d1 fe                	sar    $1,%esi
42e258:	c6 47 04 01          	movb   $0x1,0x4(%edi)
42e25c:	89 77 08             	mov    %esi,0x8(%edi)
42e25f:	8b 01                	mov    (%ecx),%eax
42e261:	3b 45 8c             	cmp    -0x74(%ebp),%eax
42e264:	0f 84 10 02 00 00    	je     0x42e47a
42e26a:	8b 7d 8c             	mov    -0x74(%ebp),%edi
42e26d:	0f 1f 00             	nopl   (%eax)
42e270:	8b 30                	mov    (%eax),%esi
42e272:	50                   	push   %eax
42e273:	e8 0a b4 04 00       	call   0x479682
42e278:	83 c4 04             	add    $0x4,%esp
42e27b:	8b c6                	mov    %esi,%eax
42e27d:	3b f7                	cmp    %edi,%esi
42e27f:	75 ef                	jne    0x42e270
42e281:	e9 ee 01 00 00       	jmp    0x42e474
42e286:	56                   	push   %esi
42e287:	52                   	push   %edx
42e288:	8d 45 bc             	lea    -0x44(%ebp),%eax
42e28b:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
42e292:	50                   	push   %eax
42e293:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e296:	0f 57 c0             	xorps  %xmm0,%xmm0
42e299:	66 0f d6 45 bc       	movq   %xmm0,-0x44(%ebp)
42e29e:	8b 48 04             	mov    0x4(%eax),%ecx
42e2a1:	e8 6a f2 ff ff       	call   0x42d510
42e2a6:	ff 36                	push   (%esi)
42e2a8:	8d 4d bc             	lea    -0x44(%ebp),%ecx
42e2ab:	e8 d0 c7 ff ff       	call   0x42aa80
42e2b0:	8b c8                	mov    %eax,%ecx
42e2b2:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
42e2b5:	85 c9                	test   %ecx,%ecx
42e2b7:	0f 84 c9 fd ff ff    	je     0x42e086
42e2bd:	8b 45 9c             	mov    -0x64(%ebp),%eax
42e2c0:	8b f1                	mov    %ecx,%esi
42e2c2:	8b d1                	mov    %ecx,%edx
42e2c4:	8b 40 10             	mov    0x10(%eax),%eax
42e2c7:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42e2ca:	0f b7 01             	movzwl (%ecx),%eax
42e2cd:	66 85 c0             	test   %ax,%ax
42e2d0:	74 56                	je     0x42e328
42e2d2:	8b 7d b4             	mov    -0x4c(%ebp),%edi
42e2d5:	8b c8                	mov    %eax,%ecx
42e2d7:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
42e2de:	00 00
42e2e0:	0f b7 c1             	movzwl %cx,%eax
42e2e3:	8d 76 02             	lea    0x2(%esi),%esi
42e2e6:	3d 80 00 00 00       	cmp    $0x80,%eax
42e2eb:	73 1a                	jae    0x42e307
42e2ed:	8a 0c 38             	mov    (%eax,%edi,1),%cl
42e2f0:	0f b6 c1             	movzbl %cl,%eax
42e2f3:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42e2f6:	0f b6 c1             	movzbl %cl,%eax
42e2f9:	8b ca                	mov    %edx,%ecx
42e2fb:	c1 e8 07             	shr    $0x7,%eax
42e2fe:	03 c0                	add    %eax,%eax
42e300:	2b c8                	sub    %eax,%ecx
42e302:	8b 45 b4             	mov    -0x4c(%ebp),%eax
42e305:	eb 05                	jmp    0x42e30c
42e307:	0f b7 c1             	movzwl %cx,%eax
42e30a:	8b ca                	mov    %edx,%ecx
42e30c:	83 c1 02             	add    $0x2,%ecx
42e30f:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
42e312:	66 89 02             	mov    %ax,(%edx)
42e315:	0f b7 06             	movzwl (%esi),%eax
42e318:	8b 55 84             	mov    -0x7c(%ebp),%edx
42e31b:	8b c8                	mov    %eax,%ecx
42e31d:	66 85 c0             	test   %ax,%ax
42e320:	75 be                	jne    0x42e2e0
42e322:	8b 7d a8             	mov    -0x58(%ebp),%edi
42e325:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
42e328:	33 c0                	xor    %eax,%eax
42e32a:	66 89 02             	mov    %ax,(%edx)
42e32d:	2b d1                	sub    %ecx,%edx
42e32f:	d1 fa                	sar    $1,%edx
42e331:	89 0f                	mov    %ecx,(%edi)
42e333:	c6 47 04 01          	movb   $0x1,0x4(%edi)
42e337:	89 57 08             	mov    %edx,0x8(%edi)
42e33a:	e9 46 01 00 00       	jmp    0x42e485
42e33f:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
42e342:	80 79 01 03          	cmpb   $0x3,0x1(%ecx)
42e346:	75 2e                	jne    0x42e376
42e348:	8b 49 10             	mov    0x10(%ecx),%ecx
42e34b:	83 39 03             	cmpl   $0x3,(%ecx)
42e34e:	75 05                	jne    0x42e355
42e350:	8b 49 08             	mov    0x8(%ecx),%ecx
42e353:	eb 02                	jmp    0x42e357
42e355:	33 c9                	xor    %ecx,%ecx
42e357:	85 c9                	test   %ecx,%ecx
42e359:	c6 47 04 00          	movb   $0x0,0x4(%edi)
42e35d:	b8 60 ea 4a 00       	mov    $0x4aea60,%eax
42e362:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
42e369:	0f 45 c1             	cmovne %ecx,%eax
42e36c:	89 07                	mov    %eax,(%edi)
42e36e:	e9 12 01 00 00       	jmp    0x42e485
42e373:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
42e376:	0f be 41 01          	movsbl 0x1(%ecx),%eax
42e37a:	83 e8 01             	sub    $0x1,%eax
42e37d:	74 4e                	je     0x42e3cd
42e37f:	83 e8 01             	sub    $0x1,%eax
42e382:	74 31                	je     0x42e3b5
42e384:	83 e8 02             	sub    $0x2,%eax
42e387:	0f 85 f9 fc ff ff    	jne    0x42e086
42e38d:	56                   	push   %esi
42e38e:	52                   	push   %edx
42e38f:	e8 5c e0 ff ff       	call   0x42c3f0
42e394:	84 c0                	test   %al,%al
42e396:	c6 47 04 00          	movb   $0x0,0x4(%edi)
42e39a:	b9 24 08 4b 00       	mov    $0x4b0824,%ecx
42e39f:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
42e3a6:	ba b8 2f 4b 00       	mov    $0x4b2fb8,%edx
42e3ab:	0f 44 ca             	cmove  %edx,%ecx
42e3ae:	89 0f                	mov    %ecx,(%edi)
42e3b0:	e9 d0 00 00 00       	jmp    0x42e485
42e3b5:	56                   	push   %esi
42e3b6:	52                   	push   %edx
42e3b7:	e8 94 e6 ff ff       	call   0x42ca50
42e3bc:	8b 16                	mov    (%esi),%edx
42e3be:	0f 28 c8             	movaps %xmm0,%xmm1
42e3c1:	8b cf                	mov    %edi,%ecx
42e3c3:	e8 48 cb ff ff       	call   0x42af10
42e3c8:	e9 b8 00 00 00       	jmp    0x42e485
42e3cd:	8b 46 04             	mov    0x4(%esi),%eax
42e3d0:	89 45 88             	mov    %eax,-0x78(%ebp)
42e3d3:	f3 0f 7e 00          	movq   (%eax),%xmm0
42e3d7:	8b 40 08             	mov    0x8(%eax),%eax
42e3da:	66 0f d6 45 8c       	movq   %xmm0,-0x74(%ebp)
42e3df:	89 45 94             	mov    %eax,-0x6c(%ebp)
42e3e2:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
42e3e9:	0f 57 c0             	xorps  %xmm0,%xmm0
42e3ec:	8b 45 88             	mov    -0x78(%ebp),%eax
42e3ef:	89 45 cc             	mov    %eax,-0x34(%ebp)
42e3f2:	8b 06                	mov    (%esi),%eax
42e3f4:	89 45 d0             	mov    %eax,-0x30(%ebp)
42e3f7:	8d 45 cc             	lea    -0x34(%ebp),%eax
42e3fa:	6a 02                	push   $0x2
42e3fc:	50                   	push   %eax
42e3fd:	52                   	push   %edx
42e3fe:	8d 45 b8             	lea    -0x48(%ebp),%eax
42e401:	50                   	push   %eax
42e402:	0f 11 45 b8          	movups %xmm0,-0x48(%ebp)
42e406:	e8 15 01 00 00       	call   0x42e520
42e40b:	8b 55 bc             	mov    -0x44(%ebp),%edx
42e40e:	8b 45 c0             	mov    -0x40(%ebp),%eax
42e411:	3b d0                	cmp    %eax,%edx
42e413:	75 17                	jne    0x42e42c
42e415:	c7 45 bc 60 ea 4a 00 	movl   $0x4aea60,-0x44(%ebp)
42e41c:	8d 45 bc             	lea    -0x44(%ebp),%eax
42e41f:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
42e423:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
42e42a:	eb 1c                	jmp    0x42e448
42e42c:	ff 75 b8             	push   -0x48(%ebp)
42e42f:	8d 4d b0             	lea    -0x50(%ebp),%ecx
42e432:	50                   	push   %eax
42e433:	e8 e8 d0 ff ff       	call   0x42b520
42e438:	ff 36                	push   (%esi)
42e43a:	8d 55 b0             	lea    -0x50(%ebp),%edx
42e43d:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42e440:	e8 bb c6 ff ff       	call   0x42ab00
42e445:	83 c4 0c             	add    $0xc,%esp
42e448:	f3 0f 7e 00          	movq   (%eax),%xmm0
42e44c:	8b 4d 88             	mov    -0x78(%ebp),%ecx
42e44f:	66 0f d6 07          	movq   %xmm0,(%edi)
42e453:	8b 40 08             	mov    0x8(%eax),%eax
42e456:	89 47 08             	mov    %eax,0x8(%edi)
42e459:	8b 01                	mov    (%ecx),%eax
42e45b:	3b 45 8c             	cmp    -0x74(%ebp),%eax
42e45e:	74 1a                	je     0x42e47a
42e460:	8b 7d 8c             	mov    -0x74(%ebp),%edi
42e463:	8b 30                	mov    (%eax),%esi
42e465:	50                   	push   %eax
42e466:	e8 17 b2 04 00       	call   0x479682
42e46b:	83 c4 04             	add    $0x4,%esp
42e46e:	8b c6                	mov    %esi,%eax
42e470:	3b f7                	cmp    %edi,%esi