4366ec:	6a 02                	push   $0x2
4366ee:	8d 45 fc             	lea    -0x4(%ebp),%eax
4366f1:	50                   	push   %eax
4366f2:	57                   	push   %edi
4366f3:	c7 45 0c 02 00 00 00 	movl   $0x2,0xc(%ebp)
4366fa:	e8 62 48 ff ff       	call   0x42af61
4366ff:	8b 4d 08             	mov    0x8(%ebp),%ecx
436702:	83 c4 0c             	add    $0xc,%esp
436705:	8b d8                	mov    %eax,%ebx
436707:	3b 5d 0c             	cmp    0xc(%ebp),%ebx
43670a:	74 0b                	je     0x436717
43670c:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
436710:	b8 ff ff 00 00       	mov    $0xffff,%eax
436715:	eb 03                	jmp    0x43671a
436717:	0f b7 c1             	movzwl %cx,%eax
43671a:	5b                   	pop    %ebx
43671b:	5f                   	pop    %edi
43671c:	5e                   	pop    %esi
43671d:	c9                   	leave
43671e:	c3                   	ret
43671f:	cc                   	int3
436720:	55                   	push   %ebp
436721:	8b ec                	mov    %esp,%ebp
436723:	57                   	push   %edi
436724:	83 3d 54 01 4c 00 01 	cmpl   $0x1,0x4c0154
43672b:	0f 82 fd 00 00 00    	jb     0x43682e
436731:	8b 7d 08             	mov    0x8(%ebp),%edi
436734:	77 77                	ja     0x4367ad
436736:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
43673a:	8b c2                	mov    %edx,%eax
43673c:	c1 e2 08             	shl    $0x8,%edx
43673f:	0b d0                	or     %eax,%edx
436741:	66 0f 6e da          	movd   %edx,%xmm3
436745:	f2 0f 70 db 00       	pshuflw $0x0,%xmm3,%xmm3
43674a:	0f 16 db             	movlhps %xmm3,%xmm3
43674d:	b9 0f 00 00 00       	mov    $0xf,%ecx
436752:	23 cf                	and    %edi,%ecx
436754:	83 c8 ff             	or     $0xffffffff,%eax
436757:	d3 e0                	shl    %cl,%eax
436759:	2b f9                	sub    %ecx,%edi
43675b:	33 d2                	xor    %edx,%edx
43675d:	f3 0f 6f 0f          	movdqu (%edi),%xmm1
436761:	66 0f ef d2          	pxor   %xmm2,%xmm2
436765:	66 0f 74 d1          	pcmpeqb %xmm1,%xmm2
436769:	66 0f 74 cb          	pcmpeqb %xmm3,%xmm1
43676d:	66 0f d7 ca          	pmovmskb %xmm2,%ecx
436771:	23 c8                	and    %eax,%ecx
436773:	75 18                	jne    0x43678d
436775:	66 0f d7 c9          	pmovmskb %xmm1,%ecx
436779:	23 c8                	and    %eax,%ecx
43677b:	0f bd c1             	bsr    %ecx,%eax
43677e:	03 c7                	add    %edi,%eax
436780:	85 c9                	test   %ecx,%ecx
436782:	0f 45 d0             	cmovne %eax,%edx
436785:	83 c8 ff             	or     $0xffffffff,%eax
436788:	83 c7 10             	add    $0x10,%edi
43678b:	eb d0                	jmp    0x43675d
43678d:	53                   	push   %ebx
43678e:	66 0f d7 d9          	pmovmskb %xmm1,%ebx
436792:	23 d8                	and    %eax,%ebx
436794:	d1 e1                	shl    $1,%ecx
436796:	33 c0                	xor    %eax,%eax
436798:	2b c1                	sub    %ecx,%eax
43679a:	23 c8                	and    %eax,%ecx
43679c:	49                   	dec    %ecx
43679d:	23 cb                	and    %ebx,%ecx
43679f:	5b                   	pop    %ebx
4367a0:	0f bd c1             	bsr    %ecx,%eax
4367a3:	03 c7                	add    %edi,%eax
4367a5:	85 c9                	test   %ecx,%ecx
4367a7:	0f 44 c2             	cmove  %edx,%eax
4367aa:	5f                   	pop    %edi
4367ab:	c9                   	leave
4367ac:	c3                   	ret
4367ad:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
4367b1:	85 d2                	test   %edx,%edx
4367b3:	74 39                	je     0x4367ee
4367b5:	33 c0                	xor    %eax,%eax
4367b7:	f7 c7 0f 00 00 00    	test   $0xf,%edi
4367bd:	74 15                	je     0x4367d4
4367bf:	0f b6 0f             	movzbl (%edi),%ecx
4367c2:	3b ca                	cmp    %edx,%ecx
4367c4:	0f 44 c7             	cmove  %edi,%eax
4367c7:	85 c9                	test   %ecx,%ecx
4367c9:	74 20                	je     0x4367eb
4367cb:	47                   	inc    %edi
4367cc:	f7 c7 0f 00 00 00    	test   $0xf,%edi
4367d2:	75 eb                	jne    0x4367bf
4367d4:	66 0f 6e c2          	movd   %edx,%xmm0
4367d8:	83 c7 10             	add    $0x10,%edi
4367db:	66 0f 3a 63 47 f0 40 	pcmpistri $0x40,-0x10(%edi),%xmm0
4367e2:	8d 4c 0f f0          	lea    -0x10(%edi,%ecx,1),%ecx
4367e6:	0f 42 c1             	cmovb  %ecx,%eax
4367e9:	75 ed                	jne    0x4367d8
4367eb:	5f                   	pop    %edi
4367ec:	c9                   	leave
4367ed:	c3                   	ret
4367ee:	b8 f0 ff ff ff       	mov    $0xfffffff0,%eax
4367f3:	23 c7                	and    %edi,%eax
4367f5:	66 0f ef c0          	pxor   %xmm0,%xmm0
4367f9:	66 0f 74 00          	pcmpeqb (%eax),%xmm0
4367fd:	b9 0f 00 00 00       	mov    $0xf,%ecx
436802:	23 cf                	and    %edi,%ecx
436804:	ba ff ff ff ff       	mov    $0xffffffff,%edx
436809:	d3 e2                	shl    %cl,%edx
43680b:	66 0f d7 f8          	pmovmskb %xmm0,%edi
43680f:	23 fa                	and    %edx,%edi
436811:	75 14                	jne    0x436827
436813:	66 0f ef c0          	pxor   %xmm0,%xmm0
436817:	66 0f 74 40 10       	pcmpeqb 0x10(%eax),%xmm0
43681c:	83 c0 10             	add    $0x10,%eax
43681f:	66 0f d7 f8          	pmovmskb %xmm0,%edi
436823:	85 ff                	test   %edi,%edi
436825:	74 ec                	je     0x436813
436827:	0f bc d7             	bsf    %edi,%edx
43682a:	03 c2                	add    %edx,%eax
43682c:	eb bd                	jmp    0x4367eb
43682e:	8b 7d 08             	mov    0x8(%ebp),%edi
436831:	33 c0                	xor    %eax,%eax
436833:	83 c9 ff             	or     $0xffffffff,%ecx
436836:	f2 ae                	repnz scas %es:(%edi),%al
436838:	83 c1 01             	add    $0x1,%ecx
43683b:	f7 d9                	neg    %ecx
43683d:	83 ef 01             	sub    $0x1,%edi
436840:	8a 45 0c             	mov    0xc(%ebp),%al
436843:	fd                   	std
436844:	f2 ae                	repnz scas %es:(%edi),%al
436846:	83 c7 01             	add    $0x1,%edi
436849:	38 07                	cmp    %al,(%edi)
43684b:	74 04                	je     0x436851
43684d:	33 c0                	xor    %eax,%eax
43684f:	eb 02                	jmp    0x436853
436851:	8b c7                	mov    %edi,%eax
436853:	fc                   	cld
436854:	5f                   	pop    %edi
436855:	c9                   	leave
436856:	c3                   	ret
436857:	55                   	push   %ebp
436858:	8b ec                	mov    %esp,%ebp
43685a:	8b 55 14             	mov    0x14(%ebp),%edx
43685d:	56                   	push   %esi
43685e:	8b 75 08             	mov    0x8(%ebp),%esi
436861:	57                   	push   %edi
436862:	8b 7a 0c             	mov    0xc(%edx),%edi
436865:	85 f6                	test   %esi,%esi
436867:	75 16                	jne    0x43687f
436869:	e8 a0 13 ff ff       	call   0x427c0e
43686e:	6a 16                	push   $0x16
436870:	5e                   	pop    %esi
436871:	89 30                	mov    %esi,(%eax)
436873:	e8 98 05 ff ff       	call   0x426e10
436878:	8b c6                	mov    %esi,%eax
43687a:	e9 84 00 00 00       	jmp    0x436903
43687f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
436883:	76 e4                	jbe    0x436869
436885:	8b 4d 10             	mov    0x10(%ebp),%ecx
436888:	c6 06 00             	movb   $0x0,(%esi)
43688b:	85 c9                	test   %ecx,%ecx
43688d:	7e 04                	jle    0x436893
43688f:	8b c1                	mov    %ecx,%eax
436891:	eb 02                	jmp    0x436895
436893:	33 c0                	xor    %eax,%eax
436895:	40                   	inc    %eax
436896:	39 45 0c             	cmp    %eax,0xc(%ebp)
436899:	77 09                	ja     0x4368a4
43689b:	e8 6e 13 ff ff       	call   0x427c0e
4368a0:	6a 22                	push   $0x22
4368a2:	eb cc                	jmp    0x436870
4368a4:	53                   	push   %ebx
4368a5:	8d 5e 01             	lea    0x1(%esi),%ebx
4368a8:	c6 06 30             	movb   $0x30,(%esi)
4368ab:	8b c3                	mov    %ebx,%eax
4368ad:	85 c9                	test   %ecx,%ecx
4368af:	7e 1a                	jle    0x4368cb
4368b1:	8a 17                	mov    (%edi),%dl
4368b3:	84 d2                	test   %dl,%dl
4368b5:	74 06                	je     0x4368bd
4368b7:	0f be d2             	movsbl %dl,%edx
4368ba:	47                   	inc    %edi
4368bb:	eb 03                	jmp    0x4368c0
4368bd:	6a 30                	push   $0x30
4368bf:	5a                   	pop    %edx
4368c0:	88 10                	mov    %dl,(%eax)
4368c2:	40                   	inc    %eax
4368c3:	49                   	dec    %ecx
4368c4:	85 c9                	test   %ecx,%ecx
4368c6:	7f e9                	jg     0x4368b1
4368c8:	8b 55 14             	mov    0x14(%ebp),%edx
4368cb:	c6 00 00             	movb   $0x0,(%eax)
4368ce:	85 c9                	test   %ecx,%ecx
4368d0:	78 12                	js     0x4368e4
4368d2:	80 3f 35             	cmpb   $0x35,(%edi)
4368d5:	7c 0d                	jl     0x4368e4
4368d7:	eb 03                	jmp    0x4368dc
4368d9:	c6 00 30             	movb   $0x30,(%eax)
4368dc:	48                   	dec    %eax
4368dd:	80 38 39             	cmpb   $0x39,(%eax)
4368e0:	74 f7                	je     0x4368d9
4368e2:	fe 00                	incb   (%eax)
4368e4:	80 3e 31             	cmpb   $0x31,(%esi)
4368e7:	75 05                	jne    0x4368ee
4368e9:	ff 42 04             	incl   0x4(%edx)
4368ec:	eb 12                	jmp    0x436900
4368ee:	53                   	push   %ebx
4368ef:	e8 dc ae fe ff       	call   0x4217d0
4368f4:	40                   	inc    %eax
4368f5:	50                   	push   %eax
4368f6:	53                   	push   %ebx
4368f7:	56                   	push   %esi
4368f8:	e8 83 f6 fe ff       	call   0x425f80
4368fd:	83 c4 10             	add    $0x10,%esp
436900:	33 c0                	xor    %eax,%eax
436902:	5b                   	pop    %ebx
436903:	5f                   	pop    %edi
436904:	5e                   	pop    %esi
436905:	5d                   	pop    %ebp
436906:	c3                   	ret
436907:	55                   	push   %ebp
436908:	8b ec                	mov    %esp,%ebp
43690a:	83 ec 28             	sub    $0x28,%esp
43690d:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
436912:	33 c5                	xor    %ebp,%eax
436914:	89 45 fc             	mov    %eax,-0x4(%ebp)
436917:	53                   	push   %ebx
436918:	56                   	push   %esi
436919:	8b 75 0c             	mov    0xc(%ebp),%esi
43691c:	57                   	push   %edi
43691d:	ff 75 10             	push   0x10(%ebp)
436920:	8b 7d 08             	mov    0x8(%ebp),%edi
436923:	8d 4d d8             	lea    -0x28(%ebp),%ecx
436926:	e8 f4 a5 fe ff       	call   0x420f1f
43692b:	8d 45 d8             	lea    -0x28(%ebp),%eax
43692e:	50                   	push   %eax
43692f:	33 db                	xor    %ebx,%ebx
436931:	53                   	push   %ebx
436932:	53                   	push   %ebx
436933:	53                   	push   %ebx
436934:	53                   	push   %ebx
436935:	56                   	push   %esi
436936:	8d 45 e8             	lea    -0x18(%ebp),%eax
436939:	50                   	push   %eax
43693a:	8d 45 f0             	lea    -0x10(%ebp),%eax
43693d:	50                   	push   %eax
43693e:	e8 0a 09 00 00       	call   0x43724d
436943:	89 45 ec             	mov    %eax,-0x14(%ebp)
436946:	8d 45 f0             	lea    -0x10(%ebp),%eax
436949:	57                   	push   %edi
43694a:	50                   	push   %eax
43694b:	e8 bf d7 ff ff       	call   0x43410f
436950:	8b c8                	mov    %eax,%ecx
436952:	8b 45 ec             	mov    -0x14(%ebp),%eax
436955:	83 c4 28             	add    $0x28,%esp
436958:	a8 03                	test   $0x3,%al
43695a:	75 0e                	jne    0x43696a
43695c:	83 f9 01             	cmp    $0x1,%ecx
43695f:	74 11                	je     0x436972
436961:	83 f9 02             	cmp    $0x2,%ecx
436964:	75 0f                	jne    0x436975
436966:	6a 04                	push   $0x4
436968:	eb 0a                	jmp    0x436974
43696a:	a8 01                	test   $0x1,%al
43696c:	75 f8                	jne    0x436966
43696e:	a8 02                	test   $0x2,%al
436970:	74 03                	je     0x436975
436972:	6a 03                	push   $0x3
436974:	5b                   	pop    %ebx
436975:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
436979:	74 07                	je     0x436982
43697b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
43697e:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
436982:	8b 4d fc             	mov    -0x4(%ebp),%ecx
436985:	5f                   	pop    %edi
436986:	5e                   	pop    %esi
436987:	8b c3                	mov    %ebx,%eax
436989:	33 cd                	xor    %ebp,%ecx
43698b:	5b                   	pop    %ebx
43698c:	e8 7b 3d ff ff       	call   0x42a70c
436991:	c9                   	leave
436992:	c3                   	ret
436993:	55                   	push   %ebp
436994:	8b ec                	mov    %esp,%ebp
436996:	83 ec 28             	sub    $0x28,%esp
436999:	a1 c0 ad 4b 00       	mov    0x4badc0,%eax
43699e:	33 c5                	xor    %ebp,%eax
4369a0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4369a3:	53                   	push   %ebx
4369a4:	56                   	push   %esi
4369a5:	8b 75 0c             	mov    0xc(%ebp),%esi
4369a8:	57                   	push   %edi
4369a9:	ff 75 10             	push   0x10(%ebp)
4369ac:	8b 7d 08             	mov    0x8(%ebp),%edi
4369af:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4369b2:	e8 68 a5 fe ff       	call   0x420f1f
4369b7:	8d 45 d8             	lea    -0x28(%ebp),%eax
4369ba:	50                   	push   %eax
4369bb:	33 db                	xor    %ebx,%ebx
4369bd:	53                   	push   %ebx
4369be:	53                   	push   %ebx
4369bf:	53                   	push   %ebx
4369c0:	53                   	push   %ebx
4369c1:	56                   	push   %esi
4369c2:	8d 45 e8             	lea    -0x18(%ebp),%eax
4369c5:	50                   	push   %eax
4369c6:	8d 45 f0             	lea    -0x10(%ebp),%eax
4369c9:	50                   	push   %eax
4369ca:	e8 7e 08 00 00       	call   0x43724d
4369cf:	89 45 ec             	mov    %eax,-0x14(%ebp)
4369d2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4369d5:	57                   	push   %edi
4369d6:	50                   	push   %eax
4369d7:	e8 a3 dc ff ff       	call   0x43467f
4369dc:	8b c8                	mov    %eax,%ecx
4369de:	8b 45 ec             	mov    -0x14(%ebp),%eax
4369e1:	83 c4 28             	add    $0x28,%esp
4369e4:	a8 03                	test   $0x3,%al
4369e6:	75 0e                	jne    0x4369f6
4369e8:	83 f9 01             	cmp    $0x1,%ecx
4369eb:	74 11                	je     0x4369fe
4369ed:	83 f9 02             	cmp    $0x2,%ecx
4369f0:	75 0f                	jne    0x436a01
4369f2:	6a 04                	push   $0x4
4369f4:	eb 0a                	jmp    0x436a00
4369f6:	a8 01                	test   $0x1,%al
4369f8:	75 f8                	jne    0x4369f2
4369fa:	a8 02                	test   $0x2,%al
4369fc:	74 03                	je     0x436a01
4369fe:	6a 03                	push   $0x3
436a00:	5b                   	pop    %ebx
436a01:	80 7d e4 00          	cmpb   $0x0,-0x1c(%ebp)
436a05:	74 07                	je     0x436a0e
436a07:	8b 4d e0             	mov    -0x20(%ebp),%ecx
436a0a:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
436a0e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
436a11:	5f                   	pop    %edi
436a12:	5e                   	pop    %esi
436a13:	8b c3                	mov    %ebx,%eax
436a15:	33 cd                	xor    %ebp,%ecx
436a17:	5b                   	pop    %ebx
436a18:	e8 ef 3c ff ff       	call   0x42a70c
436a1d:	c9                   	leave
436a1e:	c3                   	ret
436a1f:	55                   	push   %ebp
436a20:	8b ec                	mov    %esp,%ebp
436a22:	51                   	push   %ecx
436a23:	51                   	push   %ecx
436a24:	8b 45 0c             	mov    0xc(%ebp),%eax
436a27:	53                   	push   %ebx
436a28:	8b 50 04             	mov    0x4(%eax),%edx
436a2b:	56                   	push   %esi
436a2c:	57                   	push   %edi