4196bb:	4b                   	dec    %ebx
4196bc:	85 c0                	test   %eax,%eax
4196be:	89 45 fc             	mov    %eax,-0x4(%ebp)
4196c1:	7f 07                	jg     0x4196ca
4196c3:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
4196ca:	85 db                	test   %ebx,%ebx
4196cc:	0f 85 54 ff ff ff    	jne    0x419626
4196d2:	8b 45 10             	mov    0x10(%ebp),%eax
4196d5:	5e                   	pop    %esi
4196d6:	5f                   	pop    %edi
4196d7:	5b                   	pop    %ebx
4196d8:	c9                   	leave
4196d9:	c3                   	ret
4196da:	8b c7                	mov    %edi,%eax
4196dc:	2b c3                	sub    %ebx,%eax
4196de:	33 d2                	xor    %edx,%edx
4196e0:	f7 75 0c             	divl   0xc(%ebp)
4196e3:	eb f0                	jmp    0x4196d5
4196e5:	83 4e 0c 20          	orl    $0x20,0xc(%esi)
4196e9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4196ec:	eb ee                	jmp    0x4196dc
4196ee:	6a 0c                	push   $0xc
4196f0:	68 60 1d 49 00       	push   $0x491d60
4196f5:	e8 ee ea ff ff       	call   0x4181e8
4196fa:	ff 75 14             	push   0x14(%ebp)
4196fd:	e8 c7 57 00 00       	call   0x41eec9
419702:	59                   	pop    %ecx
419703:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
419707:	ff 75 14             	push   0x14(%ebp)
41970a:	ff 75 10             	push   0x10(%ebp)
41970d:	ff 75 0c             	push   0xc(%ebp)
419710:	ff 75 08             	push   0x8(%ebp)
419713:	e8 cf fe ff ff       	call   0x4195e7
419718:	83 c4 10             	add    $0x10,%esp
41971b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41971e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
419722:	e8 09 00 00 00       	call   0x419730
419727:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41972a:	e8 f4 ea ff ff       	call   0x418223
41972f:	c3                   	ret
419730:	ff 75 14             	push   0x14(%ebp)
419733:	e8 e3 57 00 00       	call   0x41ef1b
419738:	59                   	pop    %ecx
419739:	c3                   	ret
41973a:	6a 14                	push   $0x14
41973c:	68 70 1d 49 00       	push   $0x491d70
419741:	e8 a2 ea ff ff       	call   0x4181e8
419746:	ff 75 08             	push   0x8(%ebp)
419749:	e8 a2 e4 ff ff       	call   0x417bf0
41974e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
419751:	8b 75 0c             	mov    0xc(%ebp),%esi
419754:	56                   	push   %esi
419755:	e8 6f 57 00 00       	call   0x41eec9
41975a:	59                   	pop    %ecx
41975b:	59                   	pop    %ecx
41975c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
419760:	56                   	push   %esi
419761:	e8 07 58 00 00       	call   0x41ef6d
419766:	89 45 e0             	mov    %eax,-0x20(%ebp)
419769:	56                   	push   %esi
41976a:	ff 75 e4             	push   -0x1c(%ebp)
41976d:	6a 01                	push   $0x1
41976f:	ff 75 08             	push   0x8(%ebp)
419772:	e8 70 fe ff ff       	call   0x4195e7
419777:	89 45 dc             	mov    %eax,-0x24(%ebp)
41977a:	56                   	push   %esi
41977b:	ff 75 e0             	push   -0x20(%ebp)
41977e:	e8 72 58 00 00       	call   0x41eff5
419783:	83 c4 1c             	add    $0x1c,%esp
419786:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41978a:	e8 12 00 00 00       	call   0x4197a1
41978f:	33 c0                	xor    %eax,%eax
419791:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
419794:	39 4d dc             	cmp    %ecx,-0x24(%ebp)
419797:	0f 94 c0             	sete   %al
41979a:	48                   	dec    %eax
41979b:	e8 83 ea ff ff       	call   0x418223
4197a0:	c3                   	ret
4197a1:	ff 75 0c             	push   0xc(%ebp)
4197a4:	e8 72 57 00 00       	call   0x41ef1b
4197a9:	59                   	pop    %ecx
4197aa:	c3                   	ret
4197ab:	6a 18                	push   $0x18
4197ad:	68 80 1d 49 00       	push   $0x491d80
4197b2:	e8 31 ea ff ff       	call   0x4181e8
4197b7:	8b 5d 08             	mov    0x8(%ebp),%ebx
4197ba:	8b fb                	mov    %ebx,%edi
4197bc:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4197bf:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4197c3:	7f 04                	jg     0x4197c9
4197c5:	33 c0                	xor    %eax,%eax
4197c7:	eb 57                	jmp    0x419820
4197c9:	8b 75 10             	mov    0x10(%ebp),%esi
4197cc:	89 75 e0             	mov    %esi,-0x20(%ebp)
4197cf:	56                   	push   %esi
4197d0:	e8 f4 56 00 00       	call   0x41eec9
4197d5:	59                   	pop    %ecx
4197d6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4197da:	ff 4d 0c             	decl   0xc(%ebp)
4197dd:	74 32                	je     0x419811
4197df:	ff 4e 04             	decl   0x4(%esi)
4197e2:	78 0a                	js     0x4197ee
4197e4:	8b 0e                	mov    (%esi),%ecx
4197e6:	0f b6 01             	movzbl (%ecx),%eax
4197e9:	41                   	inc    %ecx
4197ea:	89 0e                	mov    %ecx,(%esi)
4197ec:	eb 07                	jmp    0x4197f5
4197ee:	56                   	push   %esi
4197ef:	e8 8c 8e 00 00       	call   0x422680
4197f4:	59                   	pop    %ecx
4197f5:	89 45 dc             	mov    %eax,-0x24(%ebp)
4197f8:	83 f8 ff             	cmp    $0xffffffff,%eax
4197fb:	75 0a                	jne    0x419807
4197fd:	3b fb                	cmp    %ebx,%edi
4197ff:	75 10                	jne    0x419811
419801:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
419805:	eb 0d                	jmp    0x419814
419807:	88 07                	mov    %al,(%edi)
419809:	47                   	inc    %edi
41980a:	89 7d d8             	mov    %edi,-0x28(%ebp)
41980d:	3c 0a                	cmp    $0xa,%al
41980f:	75 c9                	jne    0x4197da
419811:	c6 07 00             	movb   $0x0,(%edi)
419814:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
419818:	e8 0c 00 00 00       	call   0x419829
41981d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
419820:	e8 fe e9 ff ff       	call   0x418223
419825:	c3                   	ret
419826:	8b 75 e0             	mov    -0x20(%ebp),%esi
419829:	56                   	push   %esi
41982a:	e8 ec 56 00 00       	call   0x41ef1b
41982f:	59                   	pop    %ecx
419830:	c3                   	ret
419831:	55                   	push   %ebp
419832:	8b ec                	mov    %esp,%ebp
419834:	83 ec 0c             	sub    $0xc,%esp
419837:	53                   	push   %ebx
419838:	56                   	push   %esi
419839:	57                   	push   %edi
41983a:	8b 7d 08             	mov    0x8(%ebp),%edi
41983d:	8b 77 10             	mov    0x10(%edi),%esi
419840:	33 db                	xor    %ebx,%ebx
419842:	39 5f 04             	cmp    %ebx,0x4(%edi)
419845:	89 75 f4             	mov    %esi,-0xc(%ebp)
419848:	7d 03                	jge    0x41984d
41984a:	89 5f 04             	mov    %ebx,0x4(%edi)
41984d:	6a 01                	push   $0x1
41984f:	53                   	push   %ebx
419850:	56                   	push   %esi
419851:	e8 7e 94 00 00       	call   0x422cd4
419856:	83 c4 0c             	add    $0xc,%esp
419859:	3b c3                	cmp    %ebx,%eax
41985b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41985e:	7c 6e                	jl     0x4198ce
419860:	8b 4f 0c             	mov    0xc(%edi),%ecx
419863:	66 f7 c1 08 01       	test   $0x108,%cx
419868:	75 08                	jne    0x419872
41986a:	2b 47 04             	sub    0x4(%edi),%eax
41986d:	e9 1c 01 00 00       	jmp    0x41998e
419872:	8b 07                	mov    (%edi),%eax
419874:	8b 57 08             	mov    0x8(%edi),%edx
419877:	8b d8                	mov    %eax,%ebx
419879:	2b da                	sub    %edx,%ebx
41987b:	f6 c1 03             	test   $0x3,%cl
41987e:	89 5d f8             	mov    %ebx,-0x8(%ebp)
419881:	74 3c                	je     0x4198bf
419883:	8b de                	mov    %esi,%ebx
419885:	8b ce                	mov    %esi,%ecx
419887:	c1 fb 05             	sar    $0x5,%ebx
41988a:	8b 1c 9d c0 cc 4a 00 	mov    0x4accc0(,%ebx,4),%ebx
419891:	83 e1 1f             	and    $0x1f,%ecx
419894:	8d 0c c9             	lea    (%ecx,%ecx,8),%ecx
419897:	f6 44 8b 04 80       	testb  $0x80,0x4(%ebx,%ecx,4)
41989c:	74 13                	je     0x4198b1
41989e:	8b ca                	mov    %edx,%ecx
4198a0:	3b c8                	cmp    %eax,%ecx
4198a2:	73 0d                	jae    0x4198b1
4198a4:	80 39 0a             	cmpb   $0xa,(%ecx)
4198a7:	75 03                	jne    0x4198ac
4198a9:	ff 45 f8             	incl   -0x8(%ebp)
4198ac:	41                   	inc    %ecx
4198ad:	3b 0f                	cmp    (%edi),%ecx
4198af:	72 f3                	jb     0x4198a4
4198b1:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4198b5:	75 1f                	jne    0x4198d6
4198b7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4198ba:	e9 cf 00 00 00       	jmp    0x41998e
4198bf:	84 c9                	test   %cl,%cl
4198c1:	78 ee                	js     0x4198b1
4198c3:	e8 5e f9 ff ff       	call   0x419226
4198c8:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4198ce:	83 c8 ff             	or     $0xffffffff,%eax
4198d1:	e9 b8 00 00 00       	jmp    0x41998e
4198d6:	f6 47 0c 01          	testb  $0x1,0xc(%edi)
4198da:	0f 84 a6 00 00 00    	je     0x419986
4198e0:	8b 4f 04             	mov    0x4(%edi),%ecx
4198e3:	85 c9                	test   %ecx,%ecx
4198e5:	75 08                	jne    0x4198ef
4198e7:	21 4d f8             	and    %ecx,-0x8(%ebp)
4198ea:	e9 97 00 00 00       	jmp    0x419986
4198ef:	2b c2                	sub    %edx,%eax
4198f1:	03 c1                	add    %ecx,%eax
4198f3:	89 45 08             	mov    %eax,0x8(%ebp)
4198f6:	8b c6                	mov    %esi,%eax
4198f8:	c1 f8 05             	sar    $0x5,%eax
4198fb:	8d 1c 85 c0 cc 4a 00 	lea    0x4accc0(,%eax,4),%ebx
419902:	8b c6                	mov    %esi,%eax
419904:	83 e0 1f             	and    $0x1f,%eax
419907:	8d 34 c0             	lea    (%eax,%eax,8),%esi
41990a:	8b 03                	mov    (%ebx),%eax
41990c:	c1 e6 02             	shl    $0x2,%esi
41990f:	f6 44 06 04 80       	testb  $0x80,0x4(%esi,%eax,1)
419914:	74 6a                	je     0x419980
419916:	6a 02                	push   $0x2
419918:	6a 00                	push   $0x0
41991a:	ff 75 f4             	push   -0xc(%ebp)
41991d:	e8 b2 93 00 00       	call   0x422cd4
419922:	83 c4 0c             	add    $0xc,%esp
419925:	3b 45 fc             	cmp    -0x4(%ebp),%eax
419928:	75 1d                	jne    0x419947
41992a:	8b 47 08             	mov    0x8(%edi),%eax
41992d:	8b 4d 08             	mov    0x8(%ebp),%ecx
419930:	03 c8                	add    %eax,%ecx
419932:	eb 09                	jmp    0x41993d
419934:	80 38 0a             	cmpb   $0xa,(%eax)
419937:	75 03                	jne    0x41993c
419939:	ff 45 08             	incl   0x8(%ebp)
41993c:	40                   	inc    %eax
41993d:	3b c1                	cmp    %ecx,%eax
41993f:	72 f3                	jb     0x419934
419941:	f6 47 0d 20          	testb  $0x20,0xd(%edi)
419945:	eb 34                	jmp    0x41997b
419947:	6a 00                	push   $0x0
419949:	ff 75 fc             	push   -0x4(%ebp)
41994c:	ff 75 f4             	push   -0xc(%ebp)
41994f:	e8 80 93 00 00       	call   0x422cd4
419954:	b8 00 02 00 00       	mov    $0x200,%eax
419959:	83 c4 0c             	add    $0xc,%esp
41995c:	39 45 08             	cmp    %eax,0x8(%ebp)
41995f:	77 0d                	ja     0x41996e
419961:	8b 4f 0c             	mov    0xc(%edi),%ecx
419964:	f6 c1 08             	test   $0x8,%cl
419967:	74 05                	je     0x41996e
419969:	f6 c5 04             	test   $0x4,%ch
41996c:	74 03                	je     0x419971
41996e:	8b 47 18             	mov    0x18(%edi),%eax
419971:	89 45 08             	mov    %eax,0x8(%ebp)
419974:	8b 03                	mov    (%ebx),%eax
419976:	f6 44 06 04 04       	testb  $0x4,0x4(%esi,%eax,1)
41997b:	74 03                	je     0x419980
41997d:	ff 45 08             	incl   0x8(%ebp)
419980:	8b 45 08             	mov    0x8(%ebp),%eax
419983:	29 45 fc             	sub    %eax,-0x4(%ebp)
419986:	8b 45 f8             	mov    -0x8(%ebp),%eax
419989:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41998c:	03 c1                	add    %ecx,%eax
41998e:	5f                   	pop    %edi
41998f:	5e                   	pop    %esi
419990:	5b                   	pop    %ebx
419991:	c9                   	leave
419992:	c3                   	ret
419993:	6a 0c                	push   $0xc
419995:	68 90 1d 49 00       	push   $0x491d90
41999a:	e8 49 e8 ff ff       	call   0x4181e8
41999f:	ff 75 08             	push   0x8(%ebp)
4199a2:	e8 22 55 00 00       	call   0x41eec9
4199a7:	59                   	pop    %ecx
4199a8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4199ac:	ff 75 08             	push   0x8(%ebp)
4199af:	e8 7d fe ff ff       	call   0x419831
4199b4:	59                   	pop    %ecx
4199b5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4199b8:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4199bc:	e8 09 00 00 00       	call   0x4199ca
4199c1:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4199c4:	e8 5a e8 ff ff       	call   0x418223
4199c9:	c3                   	ret
4199ca:	ff 75 08             	push   0x8(%ebp)
4199cd:	e8 49 55 00 00       	call   0x41ef1b
4199d2:	59                   	pop    %ecx
4199d3:	c3                   	ret
4199d4:	56                   	push   %esi
4199d5:	8b 74 24 08          	mov    0x8(%esp),%esi
4199d9:	8b 46 0c             	mov    0xc(%esi),%eax
4199dc:	a8 83                	test   $0x83,%al
4199de:	57                   	push   %edi
4199df:	74 71                	je     0x419a52
4199e1:	8b 7c 24 14          	mov    0x14(%esp),%edi
4199e5:	85 ff                	test   %edi,%edi
4199e7:	74 0a                	je     0x4199f3
4199e9:	83 ff 01             	cmp    $0x1,%edi
4199ec:	74 05                	je     0x4199f3
4199ee:	83 ff 02             	cmp    $0x2,%edi
4199f1:	75 5f                	jne    0x419a52
4199f3:	83 e0 ef             	and    $0xffffffef,%eax
4199f6:	83 ff 01             	cmp    $0x1,%edi
4199f9:	89 46 0c             	mov    %eax,0xc(%esi)
4199fc:	75 0d                	jne    0x419a0b
4199fe:	56                   	push   %esi
4199ff:	e8 2d fe ff ff       	call   0x419831
419a04:	01 44 24 14          	add    %eax,0x14(%esp)
419a08:	59                   	pop    %ecx
419a09:	33 ff                	xor    %edi,%edi
419a0b:	56                   	push   %esi
419a0c:	e8 9b 00 00 00       	call   0x419aac
419a11:	8b 46 0c             	mov    0xc(%esi),%eax
419a14:	84 c0                	test   %al,%al
419a16:	59                   	pop    %ecx
419a17:	79 08                	jns    0x419a21
419a19:	83 e0 fc             	and    $0xfffffffc,%eax
419a1c:	89 46 0c             	mov    %eax,0xc(%esi)
419a1f:	eb 14                	jmp    0x419a35
419a21:	a8 01                	test   $0x1,%al
419a23:	74 10                	je     0x419a35
419a25:	a8 08                	test   $0x8,%al
419a27:	74 0c                	je     0x419a35
419a29:	f6 c4 04             	test   $0x4,%ah
419a2c:	75 07                	jne    0x419a35
419a2e:	c7 46 18 00 02 00 00 	movl   $0x200,0x18(%esi)
419a35:	57                   	push   %edi
419a36:	ff 74 24 14          	push   0x14(%esp)
419a3a:	ff 76 10             	push   0x10(%esi)
419a3d:	e8 92 92 00 00       	call   0x422cd4
419a42:	33 c9                	xor    %ecx,%ecx
419a44:	83 c4 0c             	add    $0xc,%esp
419a47:	83 f8 ff             	cmp    $0xffffffff,%eax
419a4a:	0f 95 c1             	setne  %cl
419a4d:	49                   	dec    %ecx
419a4e:	8b c1                	mov    %ecx,%eax
419a50:	eb 0e                	jmp    0x419a60
419a52:	e8 cf f7 ff ff       	call   0x419226
419a57:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
419a5d:	83 c8 ff             	or     $0xffffffff,%eax
419a60:	5f                   	pop    %edi
419a61:	5e                   	pop    %esi
419a62:	c3                   	ret
419a63:	6a 0c                	push   $0xc
419a65:	68 a0 1d 49 00       	push   $0x491da0
419a6a:	e8 79 e7 ff ff       	call   0x4181e8
419a6f:	ff 75 08             	push   0x8(%ebp)
419a72:	e8 52 54 00 00       	call   0x41eec9
419a77:	59                   	pop    %ecx
419a78:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
419a7c:	ff 75 10             	push   0x10(%ebp)
419a7f:	ff 75 0c             	push   0xc(%ebp)
419a82:	ff 75 08             	push   0x8(%ebp)
419a85:	e8 4a ff ff ff       	call   0x4199d4
419a8a:	83 c4 0c             	add    $0xc,%esp
419a8d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
419a90:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)