416804:	50                   	push   %eax
416805:	50                   	push   %eax
416806:	50                   	push   %eax
416807:	50                   	push   %eax
416808:	50                   	push   %eax
416809:	e8 18 84 ff ff       	call   0x40ec26
41680e:	cc                   	int3
41680f:	e8 d8 09 00 00       	call   0x4171ec
416814:	50                   	push   %eax
416815:	e8 b0 09 00 00       	call   0x4171ca
41681a:	59                   	pop    %ecx
41681b:	c3                   	ret
41681c:	8b ff                	mov    %edi,%edi
41681e:	55                   	push   %ebp
41681f:	8b ec                	mov    %esp,%ebp
416821:	ff 75 14             	push   0x14(%ebp)
416824:	ff 75 10             	push   0x10(%ebp)
416827:	ff 75 0c             	push   0xc(%ebp)
41682a:	ff 75 08             	push   0x8(%ebp)
41682d:	ff 15 80 c1 41 00    	call   *0x41c180
416833:	5d                   	pop    %ebp
416834:	c3                   	ret
416835:	8b ff                	mov    %edi,%edi
416837:	55                   	push   %ebp
416838:	8b ec                	mov    %esp,%ebp
41683a:	8b 4d 08             	mov    0x8(%ebp),%ecx
41683d:	33 c0                	xor    %eax,%eax
41683f:	38 01                	cmp    %al,(%ecx)
416841:	74 0c                	je     0x41684f
416843:	3b 45 0c             	cmp    0xc(%ebp),%eax
416846:	74 07                	je     0x41684f
416848:	40                   	inc    %eax
416849:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
41684d:	75 f4                	jne    0x416843
41684f:	5d                   	pop    %ebp
416850:	c3                   	ret
416851:	8b ff                	mov    %edi,%edi
416853:	55                   	push   %ebp
416854:	8b ec                	mov    %esp,%ebp
416856:	51                   	push   %ecx
416857:	51                   	push   %ecx
416858:	56                   	push   %esi
416859:	8b 75 08             	mov    0x8(%ebp),%esi
41685c:	57                   	push   %edi
41685d:	56                   	push   %esi
41685e:	e8 5b 9c ff ff       	call   0x4104be
416863:	83 cf ff             	or     $0xffffffff,%edi
416866:	59                   	pop    %ecx
416867:	3b c7                	cmp    %edi,%eax
416869:	75 11                	jne    0x41687c
41686b:	e8 63 84 ff ff       	call   0x40ecd3
416870:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
416876:	8b c7                	mov    %edi,%eax
416878:	8b d7                	mov    %edi,%edx
41687a:	eb 4d                	jmp    0x4168c9
41687c:	ff 75 14             	push   0x14(%ebp)
41687f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
416882:	51                   	push   %ecx
416883:	ff 75 10             	push   0x10(%ebp)
416886:	ff 75 0c             	push   0xc(%ebp)
416889:	50                   	push   %eax
41688a:	ff 15 f8 c0 41 00    	call   *0x41c0f8
416890:	85 c0                	test   %eax,%eax
416892:	75 0f                	jne    0x4168a3
416894:	ff 15 48 c1 41 00    	call   *0x41c148
41689a:	50                   	push   %eax
41689b:	e8 fd 83 ff ff       	call   0x40ec9d
4168a0:	59                   	pop    %ecx
4168a1:	eb d3                	jmp    0x416876
4168a3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4168a6:	8b 55 fc             	mov    -0x4(%ebp),%edx
4168a9:	23 c2                	and    %edx,%eax
4168ab:	3b c7                	cmp    %edi,%eax
4168ad:	74 c7                	je     0x416876
4168af:	8b 45 f8             	mov    -0x8(%ebp),%eax
4168b2:	8b ce                	mov    %esi,%ecx
4168b4:	83 e6 3f             	and    $0x3f,%esi
4168b7:	c1 f9 06             	sar    $0x6,%ecx
4168ba:	6b f6 38             	imul   $0x38,%esi,%esi
4168bd:	8b 0c 8d 18 70 42 00 	mov    0x427018(,%ecx,4),%ecx
4168c4:	80 64 31 28 fd       	andb   $0xfd,0x28(%ecx,%esi,1)
4168c9:	5f                   	pop    %edi
4168ca:	5e                   	pop    %esi
4168cb:	c9                   	leave
4168cc:	c3                   	ret
4168cd:	8b ff                	mov    %edi,%edi
4168cf:	55                   	push   %ebp
4168d0:	8b ec                	mov    %esp,%ebp
4168d2:	ff 75 14             	push   0x14(%ebp)
4168d5:	ff 75 10             	push   0x10(%ebp)
4168d8:	ff 75 0c             	push   0xc(%ebp)
4168db:	ff 75 08             	push   0x8(%ebp)
4168de:	e8 6e ff ff ff       	call   0x416851
4168e3:	83 c4 10             	add    $0x10,%esp
4168e6:	5d                   	pop    %ebp
4168e7:	c3                   	ret
4168e8:	8b ff                	mov    %edi,%edi
4168ea:	55                   	push   %ebp
4168eb:	8b ec                	mov    %esp,%ebp
4168ed:	51                   	push   %ecx
4168ee:	e8 1d 0c 00 00       	call   0x417510
4168f3:	85 c0                	test   %eax,%eax
4168f5:	74 1c                	je     0x416913
4168f7:	8d 45 fc             	lea    -0x4(%ebp),%eax
4168fa:	50                   	push   %eax
4168fb:	8d 45 08             	lea    0x8(%ebp),%eax
4168fe:	6a 01                	push   $0x1
416900:	50                   	push   %eax
416901:	e8 41 0c 00 00       	call   0x417547
416906:	83 c4 0c             	add    $0xc,%esp
416909:	85 c0                	test   %eax,%eax
41690b:	74 06                	je     0x416913
41690d:	66 8b 45 08          	mov    0x8(%ebp),%ax
416911:	c9                   	leave
416912:	c3                   	ret
416913:	b8 ff ff 00 00       	mov    $0xffff,%eax
416918:	c9                   	leave
416919:	c3                   	ret
41691a:	8b ff                	mov    %edi,%edi
41691c:	55                   	push   %ebp
41691d:	8b ec                	mov    %esp,%ebp
41691f:	56                   	push   %esi
416920:	8b 75 08             	mov    0x8(%ebp),%esi
416923:	85 f6                	test   %esi,%esi
416925:	75 15                	jne    0x41693c
416927:	e8 a7 83 ff ff       	call   0x40ecd3
41692c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
416932:	e8 df 82 ff ff       	call   0x40ec16
416937:	83 c8 ff             	or     $0xffffffff,%eax
41693a:	eb 52                	jmp    0x41698e
41693c:	8b 46 0c             	mov    0xc(%esi),%eax
41693f:	57                   	push   %edi
416940:	83 cf ff             	or     $0xffffffff,%edi
416943:	90                   	nop
416944:	c1 e8 0d             	shr    $0xd,%eax
416947:	a8 01                	test   $0x1,%al
416949:	74 39                	je     0x416984
41694b:	56                   	push   %esi
41694c:	e8 6d b3 ff ff       	call   0x411cbe
416951:	56                   	push   %esi
416952:	8b f8                	mov    %eax,%edi
416954:	e8 8e df ff ff       	call   0x4148e7
416959:	56                   	push   %esi
41695a:	e8 bd c7 ff ff       	call   0x41311c
41695f:	50                   	push   %eax
416960:	e8 c3 0c 00 00       	call   0x417628
416965:	83 c4 10             	add    $0x10,%esp
416968:	85 c0                	test   %eax,%eax
41696a:	79 05                	jns    0x416971
41696c:	83 cf ff             	or     $0xffffffff,%edi
41696f:	eb 13                	jmp    0x416984
416971:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
416975:	74 0d                	je     0x416984
416977:	ff 76 1c             	push   0x1c(%esi)
41697a:	e8 c4 83 ff ff       	call   0x40ed43
41697f:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
416983:	59                   	pop    %ecx
416984:	56                   	push   %esi
416985:	e8 c7 0d 00 00       	call   0x417751
41698a:	59                   	pop    %ecx
41698b:	8b c7                	mov    %edi,%eax
41698d:	5f                   	pop    %edi
41698e:	5e                   	pop    %esi
41698f:	5d                   	pop    %ebp
416990:	c3                   	ret
416991:	6a 10                	push   $0x10
416993:	68 40 41 42 00       	push   $0x424140
416998:	e8 33 20 ff ff       	call   0x4089d0
41699d:	8b 75 08             	mov    0x8(%ebp),%esi
4169a0:	89 75 e0             	mov    %esi,-0x20(%ebp)
4169a3:	85 f6                	test   %esi,%esi
4169a5:	75 15                	jne    0x4169bc
4169a7:	e8 27 83 ff ff       	call   0x40ecd3
4169ac:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4169b2:	e8 5f 82 ff ff       	call   0x40ec16
4169b7:	83 c8 ff             	or     $0xffffffff,%eax
4169ba:	eb 3c                	jmp    0x4169f8
4169bc:	8b 46 0c             	mov    0xc(%esi),%eax
4169bf:	90                   	nop
4169c0:	c1 e8 0c             	shr    $0xc,%eax
4169c3:	56                   	push   %esi
4169c4:	a8 01                	test   $0x1,%al
4169c6:	74 08                	je     0x4169d0
4169c8:	e8 84 0d 00 00       	call   0x417751
4169cd:	59                   	pop    %ecx
4169ce:	eb e7                	jmp    0x4169b7
4169d0:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
4169d4:	e8 c3 b4 ff ff       	call   0x411e9c
4169d9:	59                   	pop    %ecx
4169da:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4169de:	56                   	push   %esi
4169df:	e8 36 ff ff ff       	call   0x41691a
4169e4:	59                   	pop    %ecx
4169e5:	8b f0                	mov    %eax,%esi
4169e7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4169ea:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4169f1:	e8 15 00 00 00       	call   0x416a0b
4169f6:	8b c6                	mov    %esi,%eax
4169f8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4169fb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
416a02:	59                   	pop    %ecx
416a03:	5f                   	pop    %edi
416a04:	5e                   	pop    %esi
416a05:	5b                   	pop    %ebx
416a06:	c9                   	leave
416a07:	c3                   	ret
416a08:	8b 75 e4             	mov    -0x1c(%ebp),%esi
416a0b:	ff 75 e0             	push   -0x20(%ebp)
416a0e:	e8 9d b4 ff ff       	call   0x411eb0
416a13:	59                   	pop    %ecx
416a14:	c3                   	ret
416a15:	8b ff                	mov    %edi,%edi
416a17:	55                   	push   %ebp
416a18:	8b ec                	mov    %esp,%ebp
416a1a:	83 ec 24             	sub    $0x24,%esp
416a1d:	a1 18 60 42 00       	mov    0x426018,%eax
416a22:	33 c5                	xor    %ebp,%eax
416a24:	89 45 fc             	mov    %eax,-0x4(%ebp)
416a27:	8b 4d 08             	mov    0x8(%ebp),%ecx
416a2a:	53                   	push   %ebx
416a2b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
416a2e:	56                   	push   %esi
416a2f:	8b 75 14             	mov    0x14(%ebp),%esi
416a32:	89 5d dc             	mov    %ebx,-0x24(%ebp)
416a35:	57                   	push   %edi
416a36:	8b fb                	mov    %ebx,%edi
416a38:	85 f6                	test   %esi,%esi
416a3a:	75 05                	jne    0x416a41
416a3c:	be 34 73 42 00       	mov    $0x427334,%esi
416a41:	33 d2                	xor    %edx,%edx
416a43:	42                   	inc    %edx
416a44:	85 db                	test   %ebx,%ebx
416a46:	75 09                	jne    0x416a51
416a48:	bb 1e c9 41 00       	mov    $0x41c91e,%ebx
416a4d:	8b c2                	mov    %edx,%eax
416a4f:	eb 03                	jmp    0x416a54
416a51:	8b 45 10             	mov    0x10(%ebp),%eax
416a54:	f7 df                	neg    %edi
416a56:	89 45 e4             	mov    %eax,-0x1c(%ebp)
416a59:	1b ff                	sbb    %edi,%edi
416a5b:	23 f9                	and    %ecx,%edi
416a5d:	85 c0                	test   %eax,%eax
416a5f:	75 08                	jne    0x416a69
416a61:	6a fe                	push   $0xfffffffe
416a63:	58                   	pop    %eax
416a64:	e9 44 01 00 00       	jmp    0x416bad
416a69:	33 c0                	xor    %eax,%eax
416a6b:	66 39 46 06          	cmp    %ax,0x6(%esi)
416a6f:	75 64                	jne    0x416ad5
416a71:	8a 0b                	mov    (%ebx),%cl
416a73:	43                   	inc    %ebx
416a74:	88 4d ee             	mov    %cl,-0x12(%ebp)
416a77:	84 c9                	test   %cl,%cl
416a79:	78 15                	js     0x416a90
416a7b:	85 ff                	test   %edi,%edi
416a7d:	74 05                	je     0x416a84
416a7f:	0f b6 c1             	movzbl %cl,%eax
416a82:	89 07                	mov    %eax,(%edi)
416a84:	33 c0                	xor    %eax,%eax
416a86:	84 c9                	test   %cl,%cl
416a88:	0f 95 c0             	setne  %al
416a8b:	e9 1d 01 00 00       	jmp    0x416bad
416a90:	8a c1                	mov    %cl,%al
416a92:	24 e0                	and    $0xe0,%al
416a94:	3c c0                	cmp    $0xc0,%al
416a96:	75 04                	jne    0x416a9c
416a98:	b0 02                	mov    $0x2,%al
416a9a:	eb 1a                	jmp    0x416ab6
416a9c:	8a c1                	mov    %cl,%al
416a9e:	24 f0                	and    $0xf0,%al
416aa0:	3c e0                	cmp    $0xe0,%al
416aa2:	75 04                	jne    0x416aa8
416aa4:	b0 03                	mov    $0x3,%al
416aa6:	eb 0e                	jmp    0x416ab6
416aa8:	8a c1                	mov    %cl,%al
416aaa:	24 f8                	and    $0xf8,%al
416aac:	3c f0                	cmp    $0xf0,%al
416aae:	0f 85 f2 00 00 00    	jne    0x416ba6
416ab4:	b0 04                	mov    $0x4,%al
416ab6:	88 45 ef             	mov    %al,-0x11(%ebp)
416ab9:	88 45 ed             	mov    %al,-0x13(%ebp)
416abc:	6a 07                	push   $0x7
416abe:	0f b6 c0             	movzbl %al,%eax
416ac1:	59                   	pop    %ecx
416ac2:	2b c8                	sub    %eax,%ecx
416ac4:	0f b6 45 ee          	movzbl -0x12(%ebp),%eax
416ac8:	8a 6d ed             	mov    -0x13(%ebp),%ch
416acb:	d3 e2                	shl    %cl,%edx
416acd:	8a 4d ef             	mov    -0x11(%ebp),%cl
416ad0:	4a                   	dec    %edx
416ad1:	23 d0                	and    %eax,%edx
416ad3:	eb 25                	jmp    0x416afa
416ad5:	8a 4e 04             	mov    0x4(%esi),%cl
416ad8:	8b 16                	mov    (%esi),%edx
416ada:	8a c1                	mov    %cl,%al
416adc:	8a 6e 06             	mov    0x6(%esi),%ch
416adf:	2c 02                	sub    $0x2,%al
416ae1:	3c 02                	cmp    $0x2,%al
416ae3:	0f 87 bd 00 00 00    	ja     0x416ba6
416ae9:	80 fd 01             	cmp    $0x1,%ch
416aec:	0f 82 b4 00 00 00    	jb     0x416ba6
416af2:	3a e9                	cmp    %cl,%ch
416af4:	0f 83 ac 00 00 00    	jae    0x416ba6
416afa:	0f b6 c5             	movzbl %ch,%eax
416afd:	89 45 e0             	mov    %eax,-0x20(%ebp)
416b00:	8b 45 e4             	mov    -0x1c(%ebp),%eax
416b03:	39 45 e0             	cmp    %eax,-0x20(%ebp)
416b06:	73 06                	jae    0x416b0e
416b08:	8b 45 e0             	mov    -0x20(%ebp),%eax
416b0b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
416b0e:	8b 45 dc             	mov    -0x24(%ebp),%eax
416b11:	89 5d e8             	mov    %ebx,-0x18(%ebp)
416b14:	29 45 e8             	sub    %eax,-0x18(%ebp)
416b17:	eb 19                	jmp    0x416b32
416b19:	8a 23                	mov    (%ebx),%ah
416b1b:	43                   	inc    %ebx
416b1c:	ff 45 e8             	incl   -0x18(%ebp)
416b1f:	8a c4                	mov    %ah,%al
416b21:	24 c0                	and    $0xc0,%al
416b23:	3c 80                	cmp    $0x80,%al
416b25:	75 7f                	jne    0x416ba6
416b27:	0f b6 c4             	movzbl %ah,%eax
416b2a:	83 e0 3f             	and    $0x3f,%eax
416b2d:	c1 e2 06             	shl    $0x6,%edx
416b30:	0b d0                	or     %eax,%edx
416b32:	8b 45 e4             	mov    -0x1c(%ebp),%eax
416b35:	39 45 e8             	cmp    %eax,-0x18(%ebp)
416b38:	72 df                	jb     0x416b19
416b3a:	8b 5d e0             	mov    -0x20(%ebp),%ebx
416b3d:	3b c3                	cmp    %ebx,%eax
416b3f:	73 18                	jae    0x416b59
416b41:	2a 6d e4             	sub    -0x1c(%ebp),%ch
416b44:	0f b6 c1             	movzbl %cl,%eax
416b47:	66 89 46 04          	mov    %ax,0x4(%esi)
416b4b:	0f b6 c5             	movzbl %ch,%eax
416b4e:	89 16                	mov    %edx,(%esi)
416b50:	66 89 46 06          	mov    %ax,0x6(%esi)
416b54:	e9 08 ff ff ff       	jmp    0x416a61
416b59:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
416b5f:	72 08                	jb     0x416b69
416b61:	81 fa ff df 00 00    	cmp    $0xdfff,%edx
416b67:	76 3d                	jbe    0x416ba6
416b69:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
416b6f:	77 35                	ja     0x416ba6
416b71:	0f b6 c1             	movzbl %cl,%eax
416b74:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
416b7b:	c7 45 f4 00 08 00 00 	movl   $0x800,-0xc(%ebp)
416b82:	c7 45 f8 00 00 01 00 	movl   $0x10000,-0x8(%ebp)
416b89:	3b 54 85 e8          	cmp    -0x18(%ebp,%eax,4),%edx
416b8d:	72 17                	jb     0x416ba6