413783:	0f b7 06             	movzwl (%esi),%eax
413786:	66 3b c7             	cmp    %di,%ax
413789:	72 0b                	jb     0x413796
41378b:	66 3b c3             	cmp    %bx,%ax
41378e:	77 06                	ja     0x413796
413790:	83 c0 20             	add    $0x20,%eax
413793:	0f b7 c0             	movzwl %ax,%eax
413796:	83 c6 02             	add    $0x2,%esi
413799:	83 6d fc 01          	subl   $0x1,-0x4(%ebp)
41379d:	74 0a                	je     0x4137a9
41379f:	66 85 d2             	test   %dx,%dx
4137a2:	74 05                	je     0x4137a9
4137a4:	66 3b d0             	cmp    %ax,%dx
4137a7:	74 c2                	je     0x41376b
4137a9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4137ac:	8b 7d f4             	mov    -0xc(%ebp),%edi
4137af:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4137b2:	0f b7 c0             	movzwl %ax,%eax
4137b5:	0f b7 d2             	movzwl %dx,%edx
4137b8:	2b d0                	sub    %eax,%edx
4137ba:	74 1f                	je     0x4137db
4137bc:	85 d2                	test   %edx,%edx
4137be:	79 08                	jns    0x4137c8
4137c0:	8d 59 ff             	lea    -0x1(%ecx),%ebx
4137c3:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4137c6:	eb 06                	jmp    0x4137ce
4137c8:	8d 79 01             	lea    0x1(%ecx),%edi
4137cb:	89 7d f4             	mov    %edi,-0xc(%ebp)
4137ce:	3b fb                	cmp    %ebx,%edi
4137d0:	0f 8e 6f ff ff ff    	jle    0x413745
4137d6:	83 c8 ff             	or     $0xffffffff,%eax
4137d9:	eb 07                	jmp    0x4137e2
4137db:	8b 04 cd fc ed 41 00 	mov    0x41edfc(,%ecx,8),%eax
4137e2:	5f                   	pop    %edi
4137e3:	5e                   	pop    %esi
4137e4:	5b                   	pop    %ebx
4137e5:	8b e5                	mov    %ebp,%esp
4137e7:	5d                   	pop    %ebp
4137e8:	c3                   	ret
4137e9:	8b ff                	mov    %edi,%edi
4137eb:	55                   	push   %ebp
4137ec:	8b ec                	mov    %esp,%ebp
4137ee:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4137f2:	74 1d                	je     0x413811
4137f4:	ff 75 08             	push   0x8(%ebp)
4137f7:	e8 31 ff ff ff       	call   0x41372d
4137fc:	59                   	pop    %ecx
4137fd:	85 c0                	test   %eax,%eax
4137ff:	78 10                	js     0x413811
413801:	3d e4 00 00 00       	cmp    $0xe4,%eax
413806:	73 09                	jae    0x413811
413808:	8b 04 c5 d8 dc 41 00 	mov    0x41dcd8(,%eax,8),%eax
41380f:	5d                   	pop    %ebp
413810:	c3                   	ret
413811:	33 c0                	xor    %eax,%eax
413813:	5d                   	pop    %ebp
413814:	c3                   	ret
413815:	8b ff                	mov    %edi,%edi
413817:	55                   	push   %ebp
413818:	8b ec                	mov    %esp,%ebp
41381a:	51                   	push   %ecx
41381b:	56                   	push   %esi
41381c:	57                   	push   %edi
41381d:	e8 8b 54 ff ff       	call   0x408cad
413822:	8b f8                	mov    %eax,%edi
413824:	85 ff                	test   %edi,%edi
413826:	74 4e                	je     0x413876
413828:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41382c:	74 48                	je     0x413876
41382e:	8b 75 08             	mov    0x8(%ebp),%esi
413831:	8d 4e 01             	lea    0x1(%esi),%ecx
413834:	8a 06                	mov    (%esi),%al
413836:	46                   	inc    %esi
413837:	84 c0                	test   %al,%al
413839:	75 f9                	jne    0x413834
41383b:	2b f1                	sub    %ecx,%esi
41383d:	eb 32                	jmp    0x413871
41383f:	8b 17                	mov    (%edi),%edx
413841:	8b ca                	mov    %edx,%ecx
413843:	8d 41 01             	lea    0x1(%ecx),%eax
413846:	89 45 fc             	mov    %eax,-0x4(%ebp)
413849:	8a 01                	mov    (%ecx),%al
41384b:	41                   	inc    %ecx
41384c:	84 c0                	test   %al,%al
41384e:	75 f9                	jne    0x413849
413850:	2b 4d fc             	sub    -0x4(%ebp),%ecx
413853:	3b ce                	cmp    %esi,%ecx
413855:	76 17                	jbe    0x41386e
413857:	80 3c 32 3d          	cmpb   $0x3d,(%edx,%esi,1)
41385b:	75 11                	jne    0x41386e
41385d:	56                   	push   %esi
41385e:	ff 75 08             	push   0x8(%ebp)
413861:	52                   	push   %edx
413862:	e8 e5 1f 00 00       	call   0x41584c
413867:	83 c4 0c             	add    $0xc,%esp
41386a:	85 c0                	test   %eax,%eax
41386c:	74 10                	je     0x41387e
41386e:	83 c7 04             	add    $0x4,%edi
413871:	83 3f 00             	cmpl   $0x0,(%edi)
413874:	75 c9                	jne    0x41383f
413876:	33 c0                	xor    %eax,%eax
413878:	5f                   	pop    %edi
413879:	5e                   	pop    %esi
41387a:	8b e5                	mov    %ebp,%esp
41387c:	5d                   	pop    %ebp
41387d:	c3                   	ret
41387e:	8b 07                	mov    (%edi),%eax
413880:	40                   	inc    %eax
413881:	03 c6                	add    %esi,%eax
413883:	eb f3                	jmp    0x413878
413885:	6a 0c                	push   $0xc
413887:	68 28 1f 42 00       	push   $0x421f28
41388c:	e8 bf 02 ff ff       	call   0x403b50
413891:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
413895:	6a 0b                	push   $0xb
413897:	e8 09 b6 ff ff       	call   0x40eea5
41389c:	59                   	pop    %ecx
41389d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4138a1:	ff 75 14             	push   0x14(%ebp)
4138a4:	ff 75 10             	push   0x10(%ebp)
4138a7:	ff 75 0c             	push   0xc(%ebp)
4138aa:	ff 75 08             	push   0x8(%ebp)
4138ad:	e8 28 00 00 00       	call   0x4138da
4138b2:	83 c4 10             	add    $0x10,%esp
4138b5:	8b f0                	mov    %eax,%esi
4138b7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4138ba:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4138c1:	e8 0b 00 00 00       	call   0x4138d1
4138c6:	8b c6                	mov    %esi,%eax
4138c8:	e8 c9 02 ff ff       	call   0x403b96
4138cd:	c3                   	ret
4138ce:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4138d1:	6a 0b                	push   $0xb
4138d3:	e8 15 b6 ff ff       	call   0x40eeed
4138d8:	59                   	pop    %ecx
4138d9:	c3                   	ret
4138da:	8b ff                	mov    %edi,%edi
4138dc:	55                   	push   %ebp
4138dd:	8b ec                	mov    %esp,%ebp
4138df:	51                   	push   %ecx
4138e0:	53                   	push   %ebx
4138e1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4138e4:	56                   	push   %esi
4138e5:	85 db                	test   %ebx,%ebx
4138e7:	75 13                	jne    0x4138fc
4138e9:	e8 19 44 ff ff       	call   0x407d07
4138ee:	6a 16                	push   $0x16
4138f0:	5e                   	pop    %esi
4138f1:	89 30                	mov    %esi,(%eax)
4138f3:	e8 36 43 ff ff       	call   0x407c2e
4138f8:	8b c6                	mov    %esi,%eax
4138fa:	eb 49                	jmp    0x413945
4138fc:	83 23 00             	andl   $0x0,(%ebx)
4138ff:	8b 75 10             	mov    0x10(%ebp),%esi
413902:	57                   	push   %edi
413903:	8b 7d 0c             	mov    0xc(%ebp),%edi
413906:	85 ff                	test   %edi,%edi
413908:	74 41                	je     0x41394b
41390a:	85 f6                	test   %esi,%esi
41390c:	74 41                	je     0x41394f
41390e:	85 ff                	test   %edi,%edi
413910:	74 03                	je     0x413915
413912:	c6 07 00             	movb   $0x0,(%edi)
413915:	ff 75 14             	push   0x14(%ebp)
413918:	e8 f8 fe ff ff       	call   0x413815
41391d:	8b d0                	mov    %eax,%edx
41391f:	59                   	pop    %ecx
413920:	85 d2                	test   %edx,%edx
413922:	74 4d                	je     0x413971
413924:	8b ca                	mov    %edx,%ecx
413926:	8d 41 01             	lea    0x1(%ecx),%eax
413929:	89 45 fc             	mov    %eax,-0x4(%ebp)
41392c:	8a 01                	mov    (%ecx),%al
41392e:	41                   	inc    %ecx
41392f:	84 c0                	test   %al,%al
413931:	75 f9                	jne    0x41392c
413933:	2b 4d fc             	sub    -0x4(%ebp),%ecx
413936:	41                   	inc    %ecx
413937:	89 0b                	mov    %ecx,(%ebx)
413939:	85 f6                	test   %esi,%esi
41393b:	74 34                	je     0x413971
41393d:	3b ce                	cmp    %esi,%ecx
41393f:	76 21                	jbe    0x413962
413941:	6a 22                	push   $0x22
413943:	58                   	pop    %eax
413944:	5f                   	pop    %edi
413945:	5e                   	pop    %esi
413946:	5b                   	pop    %ebx
413947:	8b e5                	mov    %ebp,%esp
413949:	5d                   	pop    %ebp
41394a:	c3                   	ret
41394b:	85 f6                	test   %esi,%esi
41394d:	74 bf                	je     0x41390e
41394f:	e8 b3 43 ff ff       	call   0x407d07
413954:	6a 16                	push   $0x16
413956:	5e                   	pop    %esi
413957:	89 30                	mov    %esi,(%eax)
413959:	e8 d0 42 ff ff       	call   0x407c2e
41395e:	8b c6                	mov    %esi,%eax
413960:	eb e2                	jmp    0x413944
413962:	52                   	push   %edx
413963:	56                   	push   %esi
413964:	57                   	push   %edi
413965:	e8 1d 5e ff ff       	call   0x409787
41396a:	83 c4 0c             	add    $0xc,%esp
41396d:	85 c0                	test   %eax,%eax
41396f:	75 04                	jne    0x413975
413971:	33 c0                	xor    %eax,%eax
413973:	eb cf                	jmp    0x413944
413975:	33 c0                	xor    %eax,%eax
413977:	50                   	push   %eax
413978:	50                   	push   %eax
413979:	50                   	push   %eax
41397a:	50                   	push   %eax
41397b:	50                   	push   %eax
41397c:	e8 da 42 ff ff       	call   0x407c5b
413981:	cc                   	int3
413982:	8b ff                	mov    %edi,%edi
413984:	55                   	push   %ebp
413985:	8b ec                	mov    %esp,%ebp
413987:	5d                   	pop    %ebp
413988:	e9 f8 fe ff ff       	jmp    0x413885
41398d:	8b ff                	mov    %edi,%edi
41398f:	55                   	push   %ebp
413990:	8b ec                	mov    %esp,%ebp
413992:	51                   	push   %ecx
413993:	8b 55 14             	mov    0x14(%ebp),%edx
413996:	8b 4d 08             	mov    0x8(%ebp),%ecx
413999:	56                   	push   %esi
41399a:	85 d2                	test   %edx,%edx
41399c:	75 0d                	jne    0x4139ab
41399e:	85 c9                	test   %ecx,%ecx
4139a0:	75 0d                	jne    0x4139af
4139a2:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
4139a5:	75 21                	jne    0x4139c8
4139a7:	33 c0                	xor    %eax,%eax
4139a9:	eb 2e                	jmp    0x4139d9
4139ab:	85 c9                	test   %ecx,%ecx
4139ad:	74 19                	je     0x4139c8
4139af:	8b 45 0c             	mov    0xc(%ebp),%eax
4139b2:	85 c0                	test   %eax,%eax
4139b4:	74 12                	je     0x4139c8
4139b6:	85 d2                	test   %edx,%edx
4139b8:	75 04                	jne    0x4139be
4139ba:	88 11                	mov    %dl,(%ecx)
4139bc:	eb e9                	jmp    0x4139a7
4139be:	8b 75 10             	mov    0x10(%ebp),%esi
4139c1:	85 f6                	test   %esi,%esi
4139c3:	75 19                	jne    0x4139de
4139c5:	c6 01 00             	movb   $0x0,(%ecx)
4139c8:	e8 3a 43 ff ff       	call   0x407d07
4139cd:	6a 16                	push   $0x16
4139cf:	5e                   	pop    %esi
4139d0:	89 30                	mov    %esi,(%eax)
4139d2:	e8 57 42 ff ff       	call   0x407c2e
4139d7:	8b c6                	mov    %esi,%eax
4139d9:	5e                   	pop    %esi
4139da:	8b e5                	mov    %ebp,%esp
4139dc:	5d                   	pop    %ebp
4139dd:	c3                   	ret
4139de:	53                   	push   %ebx
4139df:	2b f1                	sub    %ecx,%esi
4139e1:	8b d8                	mov    %eax,%ebx
4139e3:	57                   	push   %edi
4139e4:	8b f9                	mov    %ecx,%edi
4139e6:	83 fa ff             	cmp    $0xffffffff,%edx
4139e9:	75 11                	jne    0x4139fc
4139eb:	8a 04 3e             	mov    (%esi,%edi,1),%al
4139ee:	88 07                	mov    %al,(%edi)
4139f0:	47                   	inc    %edi
4139f1:	84 c0                	test   %al,%al
4139f3:	74 25                	je     0x413a1a
4139f5:	83 eb 01             	sub    $0x1,%ebx
4139f8:	75 f1                	jne    0x4139eb
4139fa:	eb 1e                	jmp    0x413a1a
4139fc:	8a 04 3e             	mov    (%esi,%edi,1),%al
4139ff:	88 07                	mov    %al,(%edi)
413a01:	47                   	inc    %edi
413a02:	84 c0                	test   %al,%al
413a04:	74 0a                	je     0x413a10
413a06:	83 eb 01             	sub    $0x1,%ebx
413a09:	74 05                	je     0x413a10
413a0b:	83 ea 01             	sub    $0x1,%edx
413a0e:	75 ec                	jne    0x4139fc
413a10:	85 d2                	test   %edx,%edx
413a12:	8b 55 14             	mov    0x14(%ebp),%edx
413a15:	75 03                	jne    0x413a1a
413a17:	c6 07 00             	movb   $0x0,(%edi)
413a1a:	5f                   	pop    %edi
413a1b:	85 db                	test   %ebx,%ebx
413a1d:	5b                   	pop    %ebx
413a1e:	75 87                	jne    0x4139a7
413a20:	83 fa ff             	cmp    $0xffffffff,%edx
413a23:	75 0d                	jne    0x413a32
413a25:	8b 45 0c             	mov    0xc(%ebp),%eax
413a28:	6a 50                	push   $0x50
413a2a:	c6 44 01 ff 00       	movb   $0x0,-0x1(%ecx,%eax,1)
413a2f:	58                   	pop    %eax
413a30:	eb a7                	jmp    0x4139d9
413a32:	c6 01 00             	movb   $0x0,(%ecx)
413a35:	e8 cd 42 ff ff       	call   0x407d07
413a3a:	6a 22                	push   $0x22
413a3c:	eb 91                	jmp    0x4139cf
413a3e:	8b ff                	mov    %edi,%edi
413a40:	55                   	push   %ebp
413a41:	8b ec                	mov    %esp,%ebp
413a43:	5d                   	pop    %ebp
413a44:	e9 44 ff ff ff       	jmp    0x41398d
413a49:	8b ff                	mov    %edi,%edi
413a4b:	55                   	push   %ebp
413a4c:	8b ec                	mov    %esp,%ebp
413a4e:	51                   	push   %ecx
413a4f:	a1 98 41 42 00       	mov    0x424198,%eax
413a54:	57                   	push   %edi
413a55:	85 c0                	test   %eax,%eax
413a57:	0f 85 8c 00 00 00    	jne    0x413ae9
413a5d:	8b 7d 10             	mov    0x10(%ebp),%edi
413a60:	85 ff                	test   %edi,%edi
413a62:	0f 84 94 00 00 00    	je     0x413afc
413a68:	8b 55 08             	mov    0x8(%ebp),%edx
413a6b:	85 d2                	test   %edx,%edx
413a6d:	75 17                	jne    0x413a86
413a6f:	e8 93 42 ff ff       	call   0x407d07
413a74:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413a7a:	e8 af 41 ff ff       	call   0x407c2e
413a7f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
413a84:	eb 76                	jmp    0x413afc
413a86:	8b 4d 0c             	mov    0xc(%ebp),%ecx
413a89:	85 c9                	test   %ecx,%ecx
413a8b:	74 e2                	je     0x413a6f
413a8d:	53                   	push   %ebx
413a8e:	56                   	push   %esi
413a8f:	6a 41                	push   $0x41
413a91:	5b                   	pop    %ebx
413a92:	6a 5a                	push   $0x5a
413a94:	5e                   	pop    %esi
413a95:	2b d1                	sub    %ecx,%edx
413a97:	89 75 fc             	mov    %esi,-0x4(%ebp)
413a9a:	eb 03                	jmp    0x413a9f
413a9c:	6a 5a                	push   $0x5a
413a9e:	5e                   	pop    %esi
413a9f:	0f b7 04 0a          	movzwl (%edx,%ecx,1),%eax
413aa3:	66 3b c3             	cmp    %bx,%ax
413aa6:	72 0d                	jb     0x413ab5
413aa8:	66 3b c6             	cmp    %si,%ax
413aab:	77 08                	ja     0x413ab5
413aad:	83 c0 20             	add    $0x20,%eax
413ab0:	0f b7 f0             	movzwl %ax,%esi
413ab3:	eb 02                	jmp    0x413ab7
413ab5:	8b f0                	mov    %eax,%esi