4225c2:	33 d2                	xor    %edx,%edx
4225c4:	80 e1 1f             	and    $0x1f,%cl
4225c7:	d3 e8                	shr    %cl,%eax
4225c9:	c3                   	ret
4225ca:	33 c0                	xor    %eax,%eax
4225cc:	33 d2                	xor    %edx,%edx
4225ce:	c3                   	ret
4225cf:	cc                   	int3
4225d0:	57                   	push   %edi
4225d1:	56                   	push   %esi
4225d2:	55                   	push   %ebp
4225d3:	33 ff                	xor    %edi,%edi
4225d5:	33 ed                	xor    %ebp,%ebp
4225d7:	8b 44 24 14          	mov    0x14(%esp),%eax
4225db:	0b c0                	or     %eax,%eax
4225dd:	7d 15                	jge    0x4225f4
4225df:	47                   	inc    %edi
4225e0:	45                   	inc    %ebp
4225e1:	8b 54 24 10          	mov    0x10(%esp),%edx
4225e5:	f7 d8                	neg    %eax
4225e7:	f7 da                	neg    %edx
4225e9:	83 d8 00             	sbb    $0x0,%eax
4225ec:	89 44 24 14          	mov    %eax,0x14(%esp)
4225f0:	89 54 24 10          	mov    %edx,0x10(%esp)
4225f4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4225f8:	0b c0                	or     %eax,%eax
4225fa:	7d 14                	jge    0x422610
4225fc:	47                   	inc    %edi
4225fd:	8b 54 24 18          	mov    0x18(%esp),%edx
422601:	f7 d8                	neg    %eax
422603:	f7 da                	neg    %edx
422605:	83 d8 00             	sbb    $0x0,%eax
422608:	89 44 24 1c          	mov    %eax,0x1c(%esp)
42260c:	89 54 24 18          	mov    %edx,0x18(%esp)
422610:	0b c0                	or     %eax,%eax
422612:	75 28                	jne    0x42263c
422614:	8b 4c 24 18          	mov    0x18(%esp),%ecx
422618:	8b 44 24 14          	mov    0x14(%esp),%eax
42261c:	33 d2                	xor    %edx,%edx
42261e:	f7 f1                	div    %ecx
422620:	8b d8                	mov    %eax,%ebx
422622:	8b 44 24 10          	mov    0x10(%esp),%eax
422626:	f7 f1                	div    %ecx
422628:	8b f0                	mov    %eax,%esi
42262a:	8b c3                	mov    %ebx,%eax
42262c:	f7 64 24 18          	mull   0x18(%esp)
422630:	8b c8                	mov    %eax,%ecx
422632:	8b c6                	mov    %esi,%eax
422634:	f7 64 24 18          	mull   0x18(%esp)
422638:	03 d1                	add    %ecx,%edx
42263a:	eb 47                	jmp    0x422683
42263c:	8b d8                	mov    %eax,%ebx
42263e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
422642:	8b 54 24 14          	mov    0x14(%esp),%edx
422646:	8b 44 24 10          	mov    0x10(%esp),%eax
42264a:	d1 eb                	shr    $1,%ebx
42264c:	d1 d9                	rcr    $1,%ecx
42264e:	d1 ea                	shr    $1,%edx
422650:	d1 d8                	rcr    $1,%eax
422652:	0b db                	or     %ebx,%ebx
422654:	75 f4                	jne    0x42264a
422656:	f7 f1                	div    %ecx
422658:	8b f0                	mov    %eax,%esi
42265a:	f7 64 24 1c          	mull   0x1c(%esp)
42265e:	8b c8                	mov    %eax,%ecx
422660:	8b 44 24 18          	mov    0x18(%esp),%eax
422664:	f7 e6                	mul    %esi
422666:	03 d1                	add    %ecx,%edx
422668:	72 0e                	jb     0x422678
42266a:	3b 54 24 14          	cmp    0x14(%esp),%edx
42266e:	77 08                	ja     0x422678
422670:	72 0f                	jb     0x422681
422672:	3b 44 24 10          	cmp    0x10(%esp),%eax
422676:	76 09                	jbe    0x422681
422678:	4e                   	dec    %esi
422679:	2b 44 24 18          	sub    0x18(%esp),%eax
42267d:	1b 54 24 1c          	sbb    0x1c(%esp),%edx
422681:	33 db                	xor    %ebx,%ebx
422683:	2b 44 24 10          	sub    0x10(%esp),%eax
422687:	1b 54 24 14          	sbb    0x14(%esp),%edx
42268b:	4d                   	dec    %ebp
42268c:	79 07                	jns    0x422695
42268e:	f7 da                	neg    %edx
422690:	f7 d8                	neg    %eax
422692:	83 da 00             	sbb    $0x0,%edx
422695:	8b ca                	mov    %edx,%ecx
422697:	8b d3                	mov    %ebx,%edx
422699:	8b d9                	mov    %ecx,%ebx
42269b:	8b c8                	mov    %eax,%ecx
42269d:	8b c6                	mov    %esi,%eax
42269f:	4f                   	dec    %edi
4226a0:	75 07                	jne    0x4226a9
4226a2:	f7 da                	neg    %edx
4226a4:	f7 d8                	neg    %eax
4226a6:	83 da 00             	sbb    $0x0,%edx
4226a9:	5d                   	pop    %ebp
4226aa:	5e                   	pop    %esi
4226ab:	5f                   	pop    %edi
4226ac:	c2 10 00             	ret    $0x10
4226af:	cc                   	int3
4226b0:	57                   	push   %edi
4226b1:	56                   	push   %esi
4226b2:	53                   	push   %ebx
4226b3:	33 ff                	xor    %edi,%edi
4226b5:	8b 44 24 14          	mov    0x14(%esp),%eax
4226b9:	0b c0                	or     %eax,%eax
4226bb:	7d 14                	jge    0x4226d1
4226bd:	47                   	inc    %edi
4226be:	8b 54 24 10          	mov    0x10(%esp),%edx
4226c2:	f7 d8                	neg    %eax
4226c4:	f7 da                	neg    %edx
4226c6:	83 d8 00             	sbb    $0x0,%eax
4226c9:	89 44 24 14          	mov    %eax,0x14(%esp)
4226cd:	89 54 24 10          	mov    %edx,0x10(%esp)
4226d1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4226d5:	0b c0                	or     %eax,%eax
4226d7:	7d 14                	jge    0x4226ed
4226d9:	47                   	inc    %edi
4226da:	8b 54 24 18          	mov    0x18(%esp),%edx
4226de:	f7 d8                	neg    %eax
4226e0:	f7 da                	neg    %edx
4226e2:	83 d8 00             	sbb    $0x0,%eax
4226e5:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4226e9:	89 54 24 18          	mov    %edx,0x18(%esp)
4226ed:	0b c0                	or     %eax,%eax
4226ef:	75 18                	jne    0x422709
4226f1:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4226f5:	8b 44 24 14          	mov    0x14(%esp),%eax
4226f9:	33 d2                	xor    %edx,%edx
4226fb:	f7 f1                	div    %ecx
4226fd:	8b d8                	mov    %eax,%ebx
4226ff:	8b 44 24 10          	mov    0x10(%esp),%eax
422703:	f7 f1                	div    %ecx
422705:	8b d3                	mov    %ebx,%edx
422707:	eb 41                	jmp    0x42274a
422709:	8b d8                	mov    %eax,%ebx
42270b:	8b 4c 24 18          	mov    0x18(%esp),%ecx
42270f:	8b 54 24 14          	mov    0x14(%esp),%edx
422713:	8b 44 24 10          	mov    0x10(%esp),%eax
422717:	d1 eb                	shr    $1,%ebx
422719:	d1 d9                	rcr    $1,%ecx
42271b:	d1 ea                	shr    $1,%edx
42271d:	d1 d8                	rcr    $1,%eax
42271f:	0b db                	or     %ebx,%ebx
422721:	75 f4                	jne    0x422717
422723:	f7 f1                	div    %ecx
422725:	8b f0                	mov    %eax,%esi
422727:	f7 64 24 1c          	mull   0x1c(%esp)
42272b:	8b c8                	mov    %eax,%ecx
42272d:	8b 44 24 18          	mov    0x18(%esp),%eax
422731:	f7 e6                	mul    %esi
422733:	03 d1                	add    %ecx,%edx
422735:	72 0e                	jb     0x422745
422737:	3b 54 24 14          	cmp    0x14(%esp),%edx
42273b:	77 08                	ja     0x422745
42273d:	72 07                	jb     0x422746
42273f:	3b 44 24 10          	cmp    0x10(%esp),%eax
422743:	76 01                	jbe    0x422746
422745:	4e                   	dec    %esi
422746:	33 d2                	xor    %edx,%edx
422748:	8b c6                	mov    %esi,%eax
42274a:	4f                   	dec    %edi
42274b:	75 07                	jne    0x422754
42274d:	f7 da                	neg    %edx
42274f:	f7 d8                	neg    %eax
422751:	83 da 00             	sbb    $0x0,%edx
422754:	5b                   	pop    %ebx
422755:	5e                   	pop    %esi
422756:	5f                   	pop    %edi
422757:	c2 10 00             	ret    $0x10
42275a:	cc                   	int3
42275b:	cc                   	int3
42275c:	cc                   	int3
42275d:	cc                   	int3
42275e:	cc                   	int3
42275f:	cc                   	int3
422760:	e9 0b 00 00 00       	jmp    0x422770
422765:	cc                   	int3
422766:	cc                   	int3
422767:	cc                   	int3
422768:	cc                   	int3
422769:	cc                   	int3
42276a:	cc                   	int3
42276b:	cc                   	int3
42276c:	cc                   	int3
42276d:	cc                   	int3
42276e:	cc                   	int3
42276f:	cc                   	int3
422770:	83 3d 64 45 43 00 02 	cmpl   $0x2,0x434564
422777:	7c 08                	jl     0x422781
422779:	83 ec 04             	sub    $0x4,%esp
42277c:	db 0c 24             	fisttpl (%esp)
42277f:	58                   	pop    %eax
422780:	c3                   	ret
422781:	55                   	push   %ebp
422782:	8b ec                	mov    %esp,%ebp
422784:	83 c4 f0             	add    $0xfffffff0,%esp
422787:	83 e4 f0             	and    $0xfffffff0,%esp
42278a:	d9 c0                	fld    %st(0)
42278c:	db 3c 24             	fstpt  (%esp)
42278f:	8b 44 24 04          	mov    0x4(%esp),%eax
422793:	0f b7 4c 24 08       	movzwl 0x8(%esp),%ecx
422798:	0f ba f1 0f          	btr    $0xf,%ecx
42279c:	1b d2                	sbb    %edx,%edx
42279e:	66 81 f9 ff 3f       	cmp    $0x3fff,%cx
4227a3:	72 1f                	jb     0x4227c4
4227a5:	85 c0                	test   %eax,%eax
4227a7:	79 36                	jns    0x4227df
4227a9:	66 81 f9 1e 40       	cmp    $0x401e,%cx
4227ae:	73 1c                	jae    0x4227cc
4227b0:	66 f7 d9             	neg    %cx
4227b3:	66 81 c1 3e 40       	add    $0x403e,%cx
4227b8:	d9 fc                	frndint
4227ba:	dd d8                	fstp   %st(0)
4227bc:	d3 e8                	shr    %cl,%eax
4227be:	33 c2                	xor    %edx,%eax
4227c0:	2b c2                	sub    %edx,%eax
4227c2:	c9                   	leave
4227c3:	c3                   	ret
4227c4:	d9 fc                	frndint
4227c6:	dd d8                	fstp   %st(0)
4227c8:	33 c0                	xor    %eax,%eax
4227ca:	c9                   	leave
4227cb:	c3                   	ret
4227cc:	77 11                	ja     0x4227df
4227ce:	85 d2                	test   %edx,%edx
4227d0:	79 0d                	jns    0x4227df
4227d2:	3d 00 00 00 80       	cmp    $0x80000000,%eax
4227d7:	75 06                	jne    0x4227df
4227d9:	d9 fc                	frndint
4227db:	dd d8                	fstp   %st(0)
4227dd:	c9                   	leave
4227de:	c3                   	ret
4227df:	d8 1d 98 f6 42 00    	fcomps 0x42f698
4227e5:	c9                   	leave
4227e6:	b8 00 00 00 80       	mov    $0x80000000,%eax
4227eb:	c3                   	ret
4227ec:	cc                   	int3
4227ed:	cc                   	int3
4227ee:	cc                   	int3
4227ef:	cc                   	int3
4227f0:	55                   	push   %ebp
4227f1:	8b ec                	mov    %esp,%ebp
4227f3:	57                   	push   %edi
4227f4:	83 3d 64 45 43 00 01 	cmpl   $0x1,0x434564
4227fb:	0f 82 fd 00 00 00    	jb     0x4228fe
422801:	8b 7d 08             	mov    0x8(%ebp),%edi
422804:	77 77                	ja     0x42287d
422806:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
42280a:	8b c2                	mov    %edx,%eax
42280c:	c1 e2 08             	shl    $0x8,%edx
42280f:	0b d0                	or     %eax,%edx
422811:	66 0f 6e da          	movd   %edx,%xmm3
422815:	f2 0f 70 db 00       	pshuflw $0x0,%xmm3,%xmm3
42281a:	0f 16 db             	movlhps %xmm3,%xmm3
42281d:	b9 0f 00 00 00       	mov    $0xf,%ecx
422822:	23 cf                	and    %edi,%ecx
422824:	83 c8 ff             	or     $0xffffffff,%eax
422827:	d3 e0                	shl    %cl,%eax
422829:	2b f9                	sub    %ecx,%edi
42282b:	33 d2                	xor    %edx,%edx
42282d:	f3 0f 6f 0f          	movdqu (%edi),%xmm1
422831:	66 0f ef d2          	pxor   %xmm2,%xmm2
422835:	66 0f 74 d1          	pcmpeqb %xmm1,%xmm2
422839:	66 0f 74 cb          	pcmpeqb %xmm3,%xmm1
42283d:	66 0f d7 ca          	pmovmskb %xmm2,%ecx
422841:	23 c8                	and    %eax,%ecx
422843:	75 18                	jne    0x42285d
422845:	66 0f d7 c9          	pmovmskb %xmm1,%ecx
422849:	23 c8                	and    %eax,%ecx
42284b:	0f bd c1             	bsr    %ecx,%eax
42284e:	03 c7                	add    %edi,%eax
422850:	85 c9                	test   %ecx,%ecx
422852:	0f 45 d0             	cmovne %eax,%edx
422855:	83 c8 ff             	or     $0xffffffff,%eax
422858:	83 c7 10             	add    $0x10,%edi
42285b:	eb d0                	jmp    0x42282d
42285d:	53                   	push   %ebx
42285e:	66 0f d7 d9          	pmovmskb %xmm1,%ebx
422862:	23 d8                	and    %eax,%ebx
422864:	d1 e1                	shl    $1,%ecx
422866:	33 c0                	xor    %eax,%eax
422868:	2b c1                	sub    %ecx,%eax
42286a:	23 c8                	and    %eax,%ecx
42286c:	49                   	dec    %ecx
42286d:	23 cb                	and    %ebx,%ecx
42286f:	5b                   	pop    %ebx
422870:	0f bd c1             	bsr    %ecx,%eax
422873:	03 c7                	add    %edi,%eax
422875:	85 c9                	test   %ecx,%ecx
422877:	0f 44 c2             	cmove  %edx,%eax
42287a:	5f                   	pop    %edi
42287b:	c9                   	leave
42287c:	c3                   	ret
42287d:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
422881:	85 d2                	test   %edx,%edx
422883:	74 39                	je     0x4228be
422885:	33 c0                	xor    %eax,%eax
422887:	f7 c7 0f 00 00 00    	test   $0xf,%edi
42288d:	74 15                	je     0x4228a4
42288f:	0f b6 0f             	movzbl (%edi),%ecx
422892:	3b ca                	cmp    %edx,%ecx
422894:	0f 44 c7             	cmove  %edi,%eax
422897:	85 c9                	test   %ecx,%ecx
422899:	74 20                	je     0x4228bb
42289b:	47                   	inc    %edi
42289c:	f7 c7 0f 00 00 00    	test   $0xf,%edi
4228a2:	75 eb                	jne    0x42288f
4228a4:	66 0f 6e c2          	movd   %edx,%xmm0
4228a8:	83 c7 10             	add    $0x10,%edi
4228ab:	66 0f 3a 63 47 f0 40 	pcmpistri $0x40,-0x10(%edi),%xmm0
4228b2:	8d 4c 39 f0          	lea    -0x10(%ecx,%edi,1),%ecx
4228b6:	0f 42 c1             	cmovb  %ecx,%eax
4228b9:	75 ed                	jne    0x4228a8
4228bb:	5f                   	pop    %edi
4228bc:	c9                   	leave
4228bd:	c3                   	ret
4228be:	b8 f0 ff ff ff       	mov    $0xfffffff0,%eax
4228c3:	23 c7                	and    %edi,%eax
4228c5:	66 0f ef c0          	pxor   %xmm0,%xmm0
4228c9:	66 0f 74 00          	pcmpeqb (%eax),%xmm0
4228cd:	b9 0f 00 00 00       	mov    $0xf,%ecx
4228d2:	23 cf                	and    %edi,%ecx
4228d4:	ba ff ff ff ff       	mov    $0xffffffff,%edx
4228d9:	d3 e2                	shl    %cl,%edx
4228db:	66 0f d7 f8          	pmovmskb %xmm0,%edi
4228df:	23 fa                	and    %edx,%edi
4228e1:	75 14                	jne    0x4228f7
4228e3:	66 0f ef c0          	pxor   %xmm0,%xmm0
4228e7:	66 0f 74 40 10       	pcmpeqb 0x10(%eax),%xmm0
4228ec:	83 c0 10             	add    $0x10,%eax
4228ef:	66 0f d7 f8          	pmovmskb %xmm0,%edi
4228f3:	85 ff                	test   %edi,%edi
4228f5:	74 ec                	je     0x4228e3
4228f7:	0f bc d7             	bsf    %edi,%edx
4228fa:	03 c2                	add    %edx,%eax
4228fc:	eb bd                	jmp    0x4228bb
4228fe:	8b 7d 08             	mov    0x8(%ebp),%edi
422901:	33 c0                	xor    %eax,%eax
422903:	83 c9 ff             	or     $0xffffffff,%ecx
422906:	f2 ae                	repnz scas %es:(%edi),%al
422908:	83 c1 01             	add    $0x1,%ecx
42290b:	f7 d9                	neg    %ecx
42290d:	83 ef 01             	sub    $0x1,%edi
422910:	8a 45 0c             	mov    0xc(%ebp),%al
422913:	fd                   	std
422914:	f2 ae                	repnz scas %es:(%edi),%al
422916:	83 c7 01             	add    $0x1,%edi
422919:	38 07                	cmp    %al,(%edi)
42291b:	74 04                	je     0x422921