426494:	8b 44 24 1c          	mov    0x1c(%esp),%eax
426498:	0b c0                	or     %eax,%eax
42649a:	7d 14                	jge    0x4264b0
42649c:	47                   	inc    %edi
42649d:	8b 54 24 18          	mov    0x18(%esp),%edx
4264a1:	f7 d8                	neg    %eax
4264a3:	f7 da                	neg    %edx
4264a5:	83 d8 00             	sbb    $0x0,%eax
4264a8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4264ac:	89 54 24 18          	mov    %edx,0x18(%esp)
4264b0:	0b c0                	or     %eax,%eax
4264b2:	75 28                	jne    0x4264dc
4264b4:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4264b8:	8b 44 24 14          	mov    0x14(%esp),%eax
4264bc:	33 d2                	xor    %edx,%edx
4264be:	f7 f1                	div    %ecx
4264c0:	8b d8                	mov    %eax,%ebx
4264c2:	8b 44 24 10          	mov    0x10(%esp),%eax
4264c6:	f7 f1                	div    %ecx
4264c8:	8b f0                	mov    %eax,%esi
4264ca:	8b c3                	mov    %ebx,%eax
4264cc:	f7 64 24 18          	mull   0x18(%esp)
4264d0:	8b c8                	mov    %eax,%ecx
4264d2:	8b c6                	mov    %esi,%eax
4264d4:	f7 64 24 18          	mull   0x18(%esp)
4264d8:	03 d1                	add    %ecx,%edx
4264da:	eb 47                	jmp    0x426523
4264dc:	8b d8                	mov    %eax,%ebx
4264de:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4264e2:	8b 54 24 14          	mov    0x14(%esp),%edx
4264e6:	8b 44 24 10          	mov    0x10(%esp),%eax
4264ea:	d1 eb                	shr    $1,%ebx
4264ec:	d1 d9                	rcr    $1,%ecx
4264ee:	d1 ea                	shr    $1,%edx
4264f0:	d1 d8                	rcr    $1,%eax
4264f2:	0b db                	or     %ebx,%ebx
4264f4:	75 f4                	jne    0x4264ea
4264f6:	f7 f1                	div    %ecx
4264f8:	8b f0                	mov    %eax,%esi
4264fa:	f7 64 24 1c          	mull   0x1c(%esp)
4264fe:	8b c8                	mov    %eax,%ecx
426500:	8b 44 24 18          	mov    0x18(%esp),%eax
426504:	f7 e6                	mul    %esi
426506:	03 d1                	add    %ecx,%edx
426508:	72 0e                	jb     0x426518
42650a:	3b 54 24 14          	cmp    0x14(%esp),%edx
42650e:	77 08                	ja     0x426518
426510:	72 0f                	jb     0x426521
426512:	3b 44 24 10          	cmp    0x10(%esp),%eax
426516:	76 09                	jbe    0x426521
426518:	4e                   	dec    %esi
426519:	2b 44 24 18          	sub    0x18(%esp),%eax
42651d:	1b 54 24 1c          	sbb    0x1c(%esp),%edx
426521:	33 db                	xor    %ebx,%ebx
426523:	2b 44 24 10          	sub    0x10(%esp),%eax
426527:	1b 54 24 14          	sbb    0x14(%esp),%edx
42652b:	4d                   	dec    %ebp
42652c:	79 07                	jns    0x426535
42652e:	f7 da                	neg    %edx
426530:	f7 d8                	neg    %eax
426532:	83 da 00             	sbb    $0x0,%edx
426535:	8b ca                	mov    %edx,%ecx
426537:	8b d3                	mov    %ebx,%edx
426539:	8b d9                	mov    %ecx,%ebx
42653b:	8b c8                	mov    %eax,%ecx
42653d:	8b c6                	mov    %esi,%eax
42653f:	4f                   	dec    %edi
426540:	75 07                	jne    0x426549
426542:	f7 da                	neg    %edx
426544:	f7 d8                	neg    %eax
426546:	83 da 00             	sbb    $0x0,%edx
426549:	5d                   	pop    %ebp
42654a:	5e                   	pop    %esi
42654b:	5f                   	pop    %edi
42654c:	c2 10 00             	ret    $0x10
42654f:	cc                   	int3
426550:	83 3d 48 96 83 02 00 	cmpl   $0x0,0x2839648
426557:	74 37                	je     0x426590
426559:	55                   	push   %ebp
42655a:	8b ec                	mov    %esp,%ebp
42655c:	83 ec 08             	sub    $0x8,%esp
42655f:	83 e4 f8             	and    $0xfffffff8,%esp
426562:	dd 1c 24             	fstpl  (%esp)
426565:	f2 0f 2c 04 24       	cvttsd2si (%esp),%eax
42656a:	c9                   	leave
42656b:	c3                   	ret
42656c:	83 3d 48 96 83 02 00 	cmpl   $0x0,0x2839648
426573:	74 1b                	je     0x426590
426575:	83 ec 04             	sub    $0x4,%esp
426578:	d9 3c 24             	fnstcw (%esp)
42657b:	58                   	pop    %eax
42657c:	66 83 e0 7f          	and    $0x7f,%ax
426580:	66 83 f8 7f          	cmp    $0x7f,%ax
426584:	74 d3                	je     0x426559
426586:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42658d:	8d 49 00             	lea    0x0(%ecx),%ecx
426590:	55                   	push   %ebp
426591:	8b ec                	mov    %esp,%ebp
426593:	83 ec 20             	sub    $0x20,%esp
426596:	83 e4 f0             	and    $0xfffffff0,%esp
426599:	d9 c0                	fld    %st(0)
42659b:	d9 54 24 18          	fsts   0x18(%esp)
42659f:	df 7c 24 10          	fistpll 0x10(%esp)
4265a3:	df 6c 24 10          	fildll 0x10(%esp)
4265a7:	8b 54 24 18          	mov    0x18(%esp),%edx
4265ab:	8b 44 24 10          	mov    0x10(%esp),%eax
4265af:	85 c0                	test   %eax,%eax
4265b1:	74 3c                	je     0x4265ef
4265b3:	de e9                	fsubrp %st,%st(1)
4265b5:	85 d2                	test   %edx,%edx
4265b7:	79 1e                	jns    0x4265d7
4265b9:	d9 1c 24             	fstps  (%esp)
4265bc:	8b 0c 24             	mov    (%esp),%ecx
4265bf:	81 f1 00 00 00 80    	xor    $0x80000000,%ecx
4265c5:	81 c1 ff ff ff 7f    	add    $0x7fffffff,%ecx
4265cb:	83 d0 00             	adc    $0x0,%eax
4265ce:	8b 54 24 14          	mov    0x14(%esp),%edx
4265d2:	83 d2 00             	adc    $0x0,%edx
4265d5:	eb 2c                	jmp    0x426603
4265d7:	d9 1c 24             	fstps  (%esp)
4265da:	8b 0c 24             	mov    (%esp),%ecx
4265dd:	81 c1 ff ff ff 7f    	add    $0x7fffffff,%ecx
4265e3:	83 d8 00             	sbb    $0x0,%eax
4265e6:	8b 54 24 14          	mov    0x14(%esp),%edx
4265ea:	83 da 00             	sbb    $0x0,%edx
4265ed:	eb 14                	jmp    0x426603
4265ef:	8b 54 24 14          	mov    0x14(%esp),%edx
4265f3:	f7 c2 ff ff ff 7f    	test   $0x7fffffff,%edx
4265f9:	75 b8                	jne    0x4265b3
4265fb:	d9 5c 24 18          	fstps  0x18(%esp)
4265ff:	d9 5c 24 18          	fstps  0x18(%esp)
426603:	c9                   	leave
426604:	c3                   	ret
426605:	cc                   	int3
426606:	cc                   	int3
426607:	cc                   	int3
426608:	cc                   	int3
426609:	cc                   	int3
42660a:	cc                   	int3
42660b:	cc                   	int3
42660c:	cc                   	int3
42660d:	cc                   	int3
42660e:	cc                   	int3
42660f:	cc                   	int3
426610:	55                   	push   %ebp
426611:	8b ec                	mov    %esp,%ebp
426613:	57                   	push   %edi
426614:	83 3d 48 96 83 02 01 	cmpl   $0x1,0x2839648
42661b:	0f 82 fd 00 00 00    	jb     0x42671e
426621:	8b 7d 08             	mov    0x8(%ebp),%edi
426624:	77 77                	ja     0x42669d
426626:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
42662a:	8b c2                	mov    %edx,%eax
42662c:	c1 e2 08             	shl    $0x8,%edx
42662f:	0b d0                	or     %eax,%edx
426631:	66 0f 6e da          	movd   %edx,%xmm3
426635:	f2 0f 70 db 00       	pshuflw $0x0,%xmm3,%xmm3
42663a:	0f 16 db             	movlhps %xmm3,%xmm3
42663d:	b9 0f 00 00 00       	mov    $0xf,%ecx
426642:	23 cf                	and    %edi,%ecx
426644:	83 c8 ff             	or     $0xffffffff,%eax
426647:	d3 e0                	shl    %cl,%eax
426649:	2b f9                	sub    %ecx,%edi
42664b:	33 d2                	xor    %edx,%edx
42664d:	f3 0f 6f 0f          	movdqu (%edi),%xmm1
426651:	66 0f ef d2          	pxor   %xmm2,%xmm2
426655:	66 0f 74 d1          	pcmpeqb %xmm1,%xmm2
426659:	66 0f 74 cb          	pcmpeqb %xmm3,%xmm1
42665d:	66 0f d7 ca          	pmovmskb %xmm2,%ecx
426661:	23 c8                	and    %eax,%ecx
426663:	75 18                	jne    0x42667d
426665:	66 0f d7 c9          	pmovmskb %xmm1,%ecx
426669:	23 c8                	and    %eax,%ecx
42666b:	0f bd c1             	bsr    %ecx,%eax
42666e:	03 c7                	add    %edi,%eax
426670:	85 c9                	test   %ecx,%ecx
426672:	0f 45 d0             	cmovne %eax,%edx
426675:	83 c8 ff             	or     $0xffffffff,%eax
426678:	83 c7 10             	add    $0x10,%edi
42667b:	eb d0                	jmp    0x42664d
42667d:	53                   	push   %ebx
42667e:	66 0f d7 d9          	pmovmskb %xmm1,%ebx
426682:	23 d8                	and    %eax,%ebx
426684:	d1 e1                	shl    $1,%ecx
426686:	33 c0                	xor    %eax,%eax
426688:	2b c1                	sub    %ecx,%eax
42668a:	23 c8                	and    %eax,%ecx
42668c:	49                   	dec    %ecx
42668d:	23 cb                	and    %ebx,%ecx
42668f:	5b                   	pop    %ebx
426690:	0f bd c1             	bsr    %ecx,%eax
426693:	03 c7                	add    %edi,%eax
426695:	85 c9                	test   %ecx,%ecx
426697:	0f 44 c2             	cmove  %edx,%eax
42669a:	5f                   	pop    %edi
42669b:	c9                   	leave
42669c:	c3                   	ret
42669d:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
4266a1:	85 d2                	test   %edx,%edx
4266a3:	74 39                	je     0x4266de
4266a5:	33 c0                	xor    %eax,%eax
4266a7:	f7 c7 0f 00 00 00    	test   $0xf,%edi
4266ad:	74 15                	je     0x4266c4
4266af:	0f b6 0f             	movzbl (%edi),%ecx
4266b2:	3b ca                	cmp    %edx,%ecx
4266b4:	0f 44 c7             	cmove  %edi,%eax
4266b7:	85 c9                	test   %ecx,%ecx
4266b9:	74 20                	je     0x4266db
4266bb:	47                   	inc    %edi
4266bc:	f7 c7 0f 00 00 00    	test   $0xf,%edi
4266c2:	75 eb                	jne    0x4266af
4266c4:	66 0f 6e c2          	movd   %edx,%xmm0
4266c8:	83 c7 10             	add    $0x10,%edi
4266cb:	66 0f 3a 63 47 f0 40 	pcmpistri $0x40,-0x10(%edi),%xmm0
4266d2:	8d 4c 0f f0          	lea    -0x10(%edi,%ecx,1),%ecx
4266d6:	0f 42 c1             	cmovb  %ecx,%eax
4266d9:	75 ed                	jne    0x4266c8
4266db:	5f                   	pop    %edi
4266dc:	c9                   	leave
4266dd:	c3                   	ret
4266de:	b8 f0 ff ff ff       	mov    $0xfffffff0,%eax
4266e3:	23 c7                	and    %edi,%eax
4266e5:	66 0f ef c0          	pxor   %xmm0,%xmm0
4266e9:	66 0f 74 00          	pcmpeqb (%eax),%xmm0
4266ed:	b9 0f 00 00 00       	mov    $0xf,%ecx
4266f2:	23 cf                	and    %edi,%ecx
4266f4:	ba ff ff ff ff       	mov    $0xffffffff,%edx
4266f9:	d3 e2                	shl    %cl,%edx
4266fb:	66 0f d7 f8          	pmovmskb %xmm0,%edi
4266ff:	23 fa                	and    %edx,%edi
426701:	75 14                	jne    0x426717
426703:	66 0f ef c0          	pxor   %xmm0,%xmm0
426707:	66 0f 74 40 10       	pcmpeqb 0x10(%eax),%xmm0
42670c:	83 c0 10             	add    $0x10,%eax
42670f:	66 0f d7 f8          	pmovmskb %xmm0,%edi
426713:	85 ff                	test   %edi,%edi
426715:	74 ec                	je     0x426703
426717:	0f bc d7             	bsf    %edi,%edx
42671a:	03 c2                	add    %edx,%eax
42671c:	eb bd                	jmp    0x4266db
42671e:	8b 7d 08             	mov    0x8(%ebp),%edi
426721:	33 c0                	xor    %eax,%eax
426723:	83 c9 ff             	or     $0xffffffff,%ecx
426726:	f2 ae                	repnz scas %es:(%edi),%al
426728:	83 c1 01             	add    $0x1,%ecx
42672b:	f7 d9                	neg    %ecx
42672d:	83 ef 01             	sub    $0x1,%edi
426730:	8a 45 0c             	mov    0xc(%ebp),%al
426733:	fd                   	std
426734:	f2 ae                	repnz scas %es:(%edi),%al
426736:	83 c7 01             	add    $0x1,%edi
426739:	38 07                	cmp    %al,(%edi)
42673b:	74 04                	je     0x426741
42673d:	33 c0                	xor    %eax,%eax
42673f:	eb 02                	jmp    0x426743
426741:	8b c7                	mov    %edi,%eax
426743:	fc                   	cld
426744:	5f                   	pop    %edi
426745:	c9                   	leave
426746:	c3                   	ret
426747:	cc                   	int3
426748:	cc                   	int3
426749:	cc                   	int3
42674a:	cc                   	int3
42674b:	cc                   	int3
42674c:	cc                   	int3
42674d:	cc                   	int3
42674e:	cc                   	int3
42674f:	cc                   	int3
426750:	83 3d 48 96 83 02 01 	cmpl   $0x1,0x2839648
426757:	72 5f                	jb     0x4267b8
426759:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
42675e:	8b d0                	mov    %eax,%edx
426760:	c1 e0 08             	shl    $0x8,%eax
426763:	0b d0                	or     %eax,%edx
426765:	66 0f 6e da          	movd   %edx,%xmm3
426769:	f2 0f 70 db 00       	pshuflw $0x0,%xmm3,%xmm3
42676e:	0f 16 db             	movlhps %xmm3,%xmm3
426771:	8b 54 24 04          	mov    0x4(%esp),%edx
426775:	b9 0f 00 00 00       	mov    $0xf,%ecx
42677a:	83 c8 ff             	or     $0xffffffff,%eax
42677d:	23 ca                	and    %edx,%ecx
42677f:	d3 e0                	shl    %cl,%eax
426781:	2b d1                	sub    %ecx,%edx
426783:	f3 0f 6f 0a          	movdqu (%edx),%xmm1
426787:	66 0f ef d2          	pxor   %xmm2,%xmm2
42678b:	66 0f 74 d1          	pcmpeqb %xmm1,%xmm2
42678f:	66 0f 74 cb          	pcmpeqb %xmm3,%xmm1
426793:	66 0f eb d1          	por    %xmm1,%xmm2
426797:	66 0f d7 ca          	pmovmskb %xmm2,%ecx
42679b:	23 c8                	and    %eax,%ecx
42679d:	75 08                	jne    0x4267a7
42679f:	83 c8 ff             	or     $0xffffffff,%eax
4267a2:	83 c2 10             	add    $0x10,%edx
4267a5:	eb dc                	jmp    0x426783
4267a7:	0f bc c1             	bsf    %ecx,%eax
4267aa:	03 c2                	add    %edx,%eax
4267ac:	66 0f 7e da          	movd   %xmm3,%edx
4267b0:	33 c9                	xor    %ecx,%ecx
4267b2:	3a 10                	cmp    (%eax),%dl
4267b4:	0f 45 c1             	cmovne %ecx,%eax
4267b7:	c3                   	ret
4267b8:	33 c0                	xor    %eax,%eax
4267ba:	8a 44 24 08          	mov    0x8(%esp),%al
4267be:	53                   	push   %ebx
4267bf:	8b d8                	mov    %eax,%ebx
4267c1:	c1 e0 08             	shl    $0x8,%eax
4267c4:	8b 54 24 08          	mov    0x8(%esp),%edx
4267c8:	f7 c2 03 00 00 00    	test   $0x3,%edx
4267ce:	74 15                	je     0x4267e5
4267d0:	8a 0a                	mov    (%edx),%cl
4267d2:	83 c2 01             	add    $0x1,%edx
4267d5:	3a cb                	cmp    %bl,%cl
4267d7:	74 59                	je     0x426832
4267d9:	84 c9                	test   %cl,%cl
4267db:	74 51                	je     0x42682e
4267dd:	f7 c2 03 00 00 00    	test   $0x3,%edx
4267e3:	75 eb                	jne    0x4267d0
4267e5:	0b d8                	or     %eax,%ebx
4267e7:	57                   	push   %edi
4267e8:	8b c3                	mov    %ebx,%eax
4267ea:	c1 e3 10             	shl    $0x10,%ebx
4267ed:	56                   	push   %esi
4267ee:	0b d8                	or     %eax,%ebx
4267f0:	8b 0a                	mov    (%edx),%ecx
4267f2:	bf ff fe fe 7e       	mov    $0x7efefeff,%edi
4267f7:	8b c1                	mov    %ecx,%eax
4267f9:	8b f7                	mov    %edi,%esi
4267fb:	33 cb                	xor    %ebx,%ecx
4267fd:	03 f0                	add    %eax,%esi
4267ff:	03 f9                	add    %ecx,%edi
426801:	83 f1 ff             	xor    $0xffffffff,%ecx
426804:	83 f0 ff             	xor    $0xffffffff,%eax
426807:	33 cf                	xor    %edi,%ecx
426809:	33 c6                	xor    %esi,%eax
42680b:	83 c2 04             	add    $0x4,%edx
42680e:	81 e1 00 01 01 81    	and    $0x81010100,%ecx
426814:	75 21                	jne    0x426837
426816:	25 00 01 01 81       	and    $0x81010100,%eax
42681b:	74 d3                	je     0x4267f0
42681d:	25 00 01 01 01       	and    $0x1010100,%eax
426822:	75 08                	jne    0x42682c
426824:	81 e6 00 00 00 80    	and    $0x80000000,%esi
42682a:	75 c4                	jne    0x4267f0
42682c:	5e                   	pop    %esi
42682d:	5f                   	pop    %edi
42682e:	5b                   	pop    %ebx
42682f:	33 c0                	xor    %eax,%eax
426831:	c3                   	ret
426832:	8d 42 ff             	lea    -0x1(%edx),%eax