42914c:	3b cf                	cmp    %edi,%ecx
42914e:	75 f4                	jne    0x429144
429150:	2b ce                	sub    %esi,%ecx
429152:	d1 f9                	sar    $1,%ecx
429154:	3b ca                	cmp    %edx,%ecx
429156:	0f 85 2d 01 00 00    	jne    0x429289
42915c:	8b 45 0c             	mov    0xc(%ebp),%eax
42915f:	8d 3c 4e             	lea    (%esi,%ecx,2),%edi
429162:	2b c2                	sub    %edx,%eax
429164:	83 e0 e0             	and    $0xffffffe0,%eax
429167:	03 c1                	add    %ecx,%eax
429169:	c5 f1 ef c9          	vpxor  %xmm1,%xmm1,%xmm1
42916d:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
429170:	eb 0f                	jmp    0x429181
429172:	c5 f5 75 07          	vpcmpeqw (%edi),%ymm1,%ymm0
429176:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
42917a:	85 c0                	test   %eax,%eax
42917c:	75 07                	jne    0x429185
42917e:	83 c7 20             	add    $0x20,%edi
429181:	3b f9                	cmp    %ecx,%edi
429183:	75 ed                	jne    0x429172
429185:	8b 45 0c             	mov    0xc(%ebp),%eax
429188:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
42918b:	3b f9                	cmp    %ecx,%edi
42918d:	74 0e                	je     0x42919d
42918f:	33 c0                	xor    %eax,%eax
429191:	66 39 07             	cmp    %ax,(%edi)
429194:	74 07                	je     0x42919d
429196:	83 c7 02             	add    $0x2,%edi
429199:	3b f9                	cmp    %ecx,%edi
42919b:	75 f4                	jne    0x429191
42919d:	8b cf                	mov    %edi,%ecx
42919f:	2b ce                	sub    %esi,%ecx
4291a1:	d1 f9                	sar    $1,%ecx
4291a3:	c5 f8 77             	vzeroupper
4291a6:	e9 de 00 00 00       	jmp    0x429289
4291ab:	83 f8 01             	cmp    $0x1,%eax
4291ae:	0f 8c b4 00 00 00    	jl     0x429268
4291b4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4291b7:	f6 c1 01             	test   $0x1,%cl
4291ba:	74 27                	je     0x4291e3
4291bc:	8b 45 0c             	mov    0xc(%ebp),%eax
4291bf:	8b f1                	mov    %ecx,%esi
4291c1:	8d 14 41             	lea    (%ecx,%eax,2),%edx
4291c4:	3b f2                	cmp    %edx,%esi
4291c6:	0f 84 4a ff ff ff    	je     0x429116
4291cc:	33 c0                	xor    %eax,%eax
4291ce:	66 39 01             	cmp    %ax,(%ecx)
4291d1:	0f 84 3f ff ff ff    	je     0x429116
4291d7:	83 c1 02             	add    $0x2,%ecx
4291da:	3b ca                	cmp    %edx,%ecx
4291dc:	75 f0                	jne    0x4291ce
4291de:	e9 33 ff ff ff       	jmp    0x429116
4291e3:	8b d1                	mov    %ecx,%edx
4291e5:	83 e2 0f             	and    $0xf,%edx
4291e8:	6a 10                	push   $0x10
4291ea:	58                   	pop    %eax
4291eb:	2b c2                	sub    %edx,%eax
4291ed:	f7 da                	neg    %edx
4291ef:	1b d2                	sbb    %edx,%edx
4291f1:	23 d0                	and    %eax,%edx
4291f3:	8b 45 0c             	mov    0xc(%ebp),%eax
4291f6:	d1 ea                	shr    $1,%edx
4291f8:	3b c2                	cmp    %edx,%eax
4291fa:	73 02                	jae    0x4291fe
4291fc:	8b d0                	mov    %eax,%edx
4291fe:	8b 75 08             	mov    0x8(%ebp),%esi
429201:	8d 3c 51             	lea    (%ecx,%edx,2),%edi
429204:	33 c0                	xor    %eax,%eax
429206:	3b f7                	cmp    %edi,%esi
429208:	74 0c                	je     0x429216
42920a:	66 39 01             	cmp    %ax,(%ecx)
42920d:	74 07                	je     0x429216
42920f:	83 c1 02             	add    $0x2,%ecx
429212:	3b cf                	cmp    %edi,%ecx
429214:	75 f4                	jne    0x42920a
429216:	2b ce                	sub    %esi,%ecx
429218:	d1 f9                	sar    $1,%ecx
42921a:	3b ca                	cmp    %edx,%ecx
42921c:	75 6b                	jne    0x429289
42921e:	8b 45 0c             	mov    0xc(%ebp),%eax
429221:	8d 3c 4e             	lea    (%esi,%ecx,2),%edi
429224:	2b c2                	sub    %edx,%eax
429226:	0f 57 c9             	xorps  %xmm1,%xmm1
429229:	83 e0 f0             	and    $0xfffffff0,%eax
42922c:	03 c1                	add    %ecx,%eax
42922e:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
429231:	eb 12                	jmp    0x429245
429233:	0f 28 c1             	movaps %xmm1,%xmm0
429236:	66 0f 75 07          	pcmpeqw (%edi),%xmm0
42923a:	66 0f d7 c0          	pmovmskb %xmm0,%eax
42923e:	85 c0                	test   %eax,%eax
429240:	75 07                	jne    0x429249
429242:	83 c7 10             	add    $0x10,%edi
429245:	3b f9                	cmp    %ecx,%edi
429247:	75 ea                	jne    0x429233
429249:	8b 45 0c             	mov    0xc(%ebp),%eax
42924c:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
42924f:	3b f9                	cmp    %ecx,%edi
429251:	74 0e                	je     0x429261
429253:	33 c0                	xor    %eax,%eax
429255:	66 39 07             	cmp    %ax,(%edi)
429258:	74 07                	je     0x429261
42925a:	83 c7 02             	add    $0x2,%edi
42925d:	3b f9                	cmp    %ecx,%edi
42925f:	75 f4                	jne    0x429255
429261:	8b cf                	mov    %edi,%ecx
429263:	e9 ae fe ff ff       	jmp    0x429116
429268:	8b 55 08             	mov    0x8(%ebp),%edx
42926b:	8b ca                	mov    %edx,%ecx
42926d:	8b 45 0c             	mov    0xc(%ebp),%eax
429270:	8d 34 42             	lea    (%edx,%eax,2),%esi
429273:	3b d6                	cmp    %esi,%edx
429275:	74 0e                	je     0x429285
429277:	33 c0                	xor    %eax,%eax
429279:	66 39 01             	cmp    %ax,(%ecx)
42927c:	74 07                	je     0x429285
42927e:	83 c1 02             	add    $0x2,%ecx
429281:	3b ce                	cmp    %esi,%ecx
429283:	75 f4                	jne    0x429279
429285:	2b ca                	sub    %edx,%ecx
429287:	d1 f9                	sar    $1,%ecx
429289:	5f                   	pop    %edi
42928a:	8b c1                	mov    %ecx,%eax
42928c:	5e                   	pop    %esi
42928d:	5d                   	pop    %ebp
42928e:	c3                   	ret
42928f:	8b ff                	mov    %edi,%edi
429291:	55                   	push   %ebp
429292:	8b ec                	mov    %esp,%ebp
429294:	8b 4d 08             	mov    0x8(%ebp),%ecx
429297:	33 c0                	xor    %eax,%eax
429299:	38 01                	cmp    %al,(%ecx)
42929b:	74 0c                	je     0x4292a9
42929d:	3b 45 0c             	cmp    0xc(%ebp),%eax
4292a0:	74 07                	je     0x4292a9
4292a2:	40                   	inc    %eax
4292a3:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
4292a7:	75 f4                	jne    0x42929d
4292a9:	5d                   	pop    %ebp
4292aa:	c3                   	ret
4292ab:	8b ff                	mov    %edi,%edi
4292ad:	55                   	push   %ebp
4292ae:	8b ec                	mov    %esp,%ebp
4292b0:	8b 0d 14 40 45 00    	mov    0x454014,%ecx
4292b6:	8b 45 08             	mov    0x8(%ebp),%eax
4292b9:	83 e1 1f             	and    $0x1f,%ecx
4292bc:	33 05 14 40 45 00    	xor    0x454014,%eax
4292c2:	d3 c8                	ror    %cl,%eax
4292c4:	5d                   	pop    %ebp
4292c5:	c3                   	ret
4292c6:	8b ff                	mov    %edi,%edi
4292c8:	55                   	push   %ebp
4292c9:	8b ec                	mov    %esp,%ebp
4292cb:	8b 45 08             	mov    0x8(%ebp),%eax
4292ce:	a3 c4 5a 45 00       	mov    %eax,0x455ac4
4292d3:	5d                   	pop    %ebp
4292d4:	c3                   	ret
4292d5:	8b ff                	mov    %edi,%edi
4292d7:	55                   	push   %ebp
4292d8:	8b ec                	mov    %esp,%ebp
4292da:	56                   	push   %esi
4292db:	e8 21 00 00 00       	call   0x429301
4292e0:	8b f0                	mov    %eax,%esi
4292e2:	85 f6                	test   %esi,%esi
4292e4:	74 16                	je     0x4292fc
4292e6:	ff 75 08             	push   0x8(%ebp)
4292e9:	8b ce                	mov    %esi,%ecx
4292eb:	ff 15 3c f2 43 00    	call   *0x43f23c
4292f1:	ff d6                	call   *%esi
4292f3:	f7 d8                	neg    %eax
4292f5:	59                   	pop    %ecx
4292f6:	1b c0                	sbb    %eax,%eax
4292f8:	f7 d8                	neg    %eax
4292fa:	eb 02                	jmp    0x4292fe
4292fc:	33 c0                	xor    %eax,%eax
4292fe:	5e                   	pop    %esi
4292ff:	5d                   	pop    %ebp
429300:	c3                   	ret
429301:	6a 0c                	push   $0xc
429303:	68 28 23 45 00       	push   $0x452328
429308:	e8 c3 35 ff ff       	call   0x41c8d0
42930d:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
429311:	6a 00                	push   $0x0
429313:	e8 a9 f1 ff ff       	call   0x4284c1
429318:	59                   	pop    %ecx
429319:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42931d:	ff 35 c4 5a 45 00    	push   0x455ac4
429323:	e8 83 ff ff ff       	call   0x4292ab
429328:	59                   	pop    %ecx
429329:	8b f0                	mov    %eax,%esi
42932b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42932e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
429335:	e8 15 00 00 00       	call   0x42934f
42933a:	8b c6                	mov    %esi,%eax
42933c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42933f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
429346:	59                   	pop    %ecx
429347:	5f                   	pop    %edi
429348:	5e                   	pop    %esi
429349:	5b                   	pop    %ebx
42934a:	c9                   	leave
42934b:	c3                   	ret
42934c:	8b 75 e4             	mov    -0x1c(%ebp),%esi
42934f:	6a 00                	push   $0x0
429351:	e8 bb f1 ff ff       	call   0x428511
429356:	59                   	pop    %ecx
429357:	c3                   	ret
429358:	8b ff                	mov    %edi,%edi
42935a:	55                   	push   %ebp
42935b:	8b ec                	mov    %esp,%ebp
42935d:	51                   	push   %ecx
42935e:	56                   	push   %esi
42935f:	57                   	push   %edi
429360:	e8 15 2f 00 00       	call   0x42c27a
429365:	8b f0                	mov    %eax,%esi
429367:	85 f6                	test   %esi,%esi
429369:	74 1c                	je     0x429387
42936b:	8b 16                	mov    (%esi),%edx
42936d:	8b ca                	mov    %edx,%ecx
42936f:	8d 82 90 00 00 00    	lea    0x90(%edx),%eax
429375:	3b d0                	cmp    %eax,%edx
429377:	74 0e                	je     0x429387
429379:	8b 7d 08             	mov    0x8(%ebp),%edi
42937c:	39 39                	cmp    %edi,(%ecx)
42937e:	74 0d                	je     0x42938d
429380:	83 c1 0c             	add    $0xc,%ecx
429383:	3b c8                	cmp    %eax,%ecx
429385:	75 f5                	jne    0x42937c
429387:	33 c0                	xor    %eax,%eax
429389:	5f                   	pop    %edi
42938a:	5e                   	pop    %esi
42938b:	c9                   	leave
42938c:	c3                   	ret
42938d:	85 c9                	test   %ecx,%ecx
42938f:	74 f6                	je     0x429387
429391:	8b 79 08             	mov    0x8(%ecx),%edi
429394:	85 ff                	test   %edi,%edi
429396:	74 ef                	je     0x429387
429398:	83 ff 05             	cmp    $0x5,%edi
42939b:	75 09                	jne    0x4293a6
42939d:	83 61 08 00          	andl   $0x0,0x8(%ecx)
4293a1:	33 c0                	xor    %eax,%eax
4293a3:	40                   	inc    %eax
4293a4:	eb e3                	jmp    0x429389
4293a6:	83 ff 01             	cmp    $0x1,%edi
4293a9:	75 05                	jne    0x4293b0
4293ab:	83 c8 ff             	or     $0xffffffff,%eax
4293ae:	eb d9                	jmp    0x429389
4293b0:	8b 46 04             	mov    0x4(%esi),%eax
4293b3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4293b6:	8b 45 0c             	mov    0xc(%ebp),%eax
4293b9:	89 46 04             	mov    %eax,0x4(%esi)
4293bc:	83 79 04 08          	cmpl   $0x8,0x4(%ecx)
4293c0:	0f 85 bb 00 00 00    	jne    0x429481
4293c6:	83 c2 24             	add    $0x24,%edx
4293c9:	8d 42 6c             	lea    0x6c(%edx),%eax
4293cc:	eb 07                	jmp    0x4293d5
4293ce:	83 62 08 00          	andl   $0x0,0x8(%edx)
4293d2:	83 c2 0c             	add    $0xc,%edx
4293d5:	3b d0                	cmp    %eax,%edx
4293d7:	75 f5                	jne    0x4293ce
4293d9:	b8 91 00 00 c0       	mov    $0xc0000091,%eax
4293de:	53                   	push   %ebx
4293df:	8b 5e 08             	mov    0x8(%esi),%ebx
4293e2:	39 01                	cmp    %eax,(%ecx)
4293e4:	77 47                	ja     0x42942d
4293e6:	74 3e                	je     0x429426
4293e8:	81 39 8d 00 00 c0    	cmpl   $0xc000008d,(%ecx)
4293ee:	74 2f                	je     0x42941f
4293f0:	81 39 8e 00 00 c0    	cmpl   $0xc000008e,(%ecx)
4293f6:	74 20                	je     0x429418
4293f8:	81 39 8f 00 00 c0    	cmpl   $0xc000008f,(%ecx)
4293fe:	74 11                	je     0x429411
429400:	81 39 90 00 00 c0    	cmpl   $0xc0000090,(%ecx)
429406:	8b c3                	mov    %ebx,%eax
429408:	75 62                	jne    0x42946c
42940a:	b8 81 00 00 00       	mov    $0x81,%eax
42940f:	eb 58                	jmp    0x429469
429411:	b8 86 00 00 00       	mov    $0x86,%eax
429416:	eb 51                	jmp    0x429469
429418:	b8 83 00 00 00       	mov    $0x83,%eax
42941d:	eb 4a                	jmp    0x429469
42941f:	b8 82 00 00 00       	mov    $0x82,%eax
429424:	eb 43                	jmp    0x429469
429426:	b8 84 00 00 00       	mov    $0x84,%eax
42942b:	eb 3c                	jmp    0x429469
42942d:	81 39 92 00 00 c0    	cmpl   $0xc0000092,(%ecx)
429433:	74 2f                	je     0x429464
429435:	81 39 93 00 00 c0    	cmpl   $0xc0000093,(%ecx)
42943b:	74 20                	je     0x42945d
42943d:	81 39 b4 02 00 c0    	cmpl   $0xc00002b4,(%ecx)
429443:	74 11                	je     0x429456
429445:	81 39 b5 02 00 c0    	cmpl   $0xc00002b5,(%ecx)
42944b:	8b c3                	mov    %ebx,%eax
42944d:	75 1d                	jne    0x42946c
42944f:	b8 8d 00 00 00       	mov    $0x8d,%eax
429454:	eb 13                	jmp    0x429469
429456:	b8 8e 00 00 00       	mov    $0x8e,%eax
42945b:	eb 0c                	jmp    0x429469
42945d:	b8 85 00 00 00       	mov    $0x85,%eax
429462:	eb 05                	jmp    0x429469
429464:	b8 8a 00 00 00       	mov    $0x8a,%eax
429469:	89 46 08             	mov    %eax,0x8(%esi)
42946c:	50                   	push   %eax
42946d:	6a 08                	push   $0x8
42946f:	8b cf                	mov    %edi,%ecx
429471:	ff 15 3c f2 43 00    	call   *0x43f23c
429477:	ff d7                	call   *%edi
429479:	59                   	pop    %ecx
42947a:	59                   	pop    %ecx
42947b:	89 5e 08             	mov    %ebx,0x8(%esi)
42947e:	5b                   	pop    %ebx
42947f:	eb 12                	jmp    0x429493
429481:	83 61 08 00          	andl   $0x0,0x8(%ecx)
429485:	ff 71 04             	push   0x4(%ecx)
429488:	8b cf                	mov    %edi,%ecx
42948a:	ff 15 3c f2 43 00    	call   *0x43f23c
429490:	ff d7                	call   *%edi
429492:	59                   	pop    %ecx
429493:	8b 45 fc             	mov    -0x4(%ebp),%eax
429496:	89 46 04             	mov    %eax,0x4(%esi)
429499:	e9 0d ff ff ff       	jmp    0x4293ab
42949e:	a1 c8 5a 45 00       	mov    0x455ac8,%eax
4294a3:	c3                   	ret
4294a4:	8b ff                	mov    %edi,%edi
4294a6:	55                   	push   %ebp
4294a7:	8b ec                	mov    %esp,%ebp
4294a9:	8b 45 08             	mov    0x8(%ebp),%eax
4294ac:	a3 c8 5a 45 00       	mov    %eax,0x455ac8
4294b1:	5d                   	pop    %ebp
4294b2:	c3                   	ret
4294b3:	8b ff                	mov    %edi,%edi
4294b5:	55                   	push   %ebp
4294b6:	8b ec                	mov    %esp,%ebp
4294b8:	a1 14 40 45 00       	mov    0x454014,%eax
4294bd:	83 e0 1f             	and    $0x1f,%eax
4294c0:	6a 20                	push   $0x20
4294c2:	59                   	pop    %ecx
4294c3:	2b c8                	sub    %eax,%ecx
4294c5:	8b 45 08             	mov    0x8(%ebp),%eax
4294c8:	d3 c8                	ror    %cl,%eax
4294ca:	33 05 14 40 45 00    	xor    0x454014,%eax
4294d0:	5d                   	pop    %ebp
4294d1:	c3                   	ret
4294d2:	8b 0d 14 40 45 00    	mov    0x454014,%ecx
4294d8:	8b 15 cc 5a 45 00    	mov    0x455acc,%edx
4294de:	83 e1 1f             	and    $0x1f,%ecx
4294e1:	33 15 14 40 45 00    	xor    0x454014,%edx
4294e7:	d3 ca                	ror    %cl,%edx