41f6c1:	74 23                	je     0x41f6e6
41f6c3:	2b c2                	sub    %edx,%eax
41f6c5:	74 12                	je     0x41f6d9
41f6c7:	83 e8 04             	sub    $0x4,%eax
41f6ca:	0f 85 9e 01 00 00    	jne    0x41f86e
41f6d0:	84 db                	test   %bl,%bl
41f6d2:	75 1c                	jne    0x41f6f0
41f6d4:	83 0e 10             	orl    $0x10,(%esi)
41f6d7:	eb 2f                	jmp    0x41f708
41f6d9:	81 0e 80 00 00 00    	orl    $0x80,(%esi)
41f6df:	b1 01                	mov    $0x1,%cl
41f6e1:	e9 86 00 00 00       	jmp    0x41f76c
41f6e6:	56                   	push   %esi
41f6e7:	e8 1c 02 00 00       	call   0x41f908
41f6ec:	eb 78                	jmp    0x41f766
41f6ee:	b7 01                	mov    $0x1,%bh
41f6f0:	32 c9                	xor    %cl,%cl
41f6f2:	eb 78                	jmp    0x41f76c
41f6f4:	8d 45 fe             	lea    -0x2(%ebp),%eax
41f6f7:	50                   	push   %eax
41f6f8:	56                   	push   %esi
41f6f9:	e8 a8 02 00 00       	call   0x41f9a6
41f6fe:	59                   	pop    %ecx
41f6ff:	eb 65                	jmp    0x41f766
41f701:	84 db                	test   %bl,%bl
41f703:	75 eb                	jne    0x41f6f0
41f705:	83 0e 20             	orl    $0x20,(%esi)
41f708:	b3 01                	mov    $0x1,%bl
41f70a:	8a cb                	mov    %bl,%cl
41f70c:	eb 5e                	jmp    0x41f76c
41f70e:	83 e8 54             	sub    $0x54,%eax
41f711:	74 4d                	je     0x41f760
41f713:	83 e8 0e             	sub    $0xe,%eax
41f716:	74 40                	je     0x41f758
41f718:	83 e8 01             	sub    $0x1,%eax
41f71b:	74 2f                	je     0x41f74c
41f71d:	83 e8 0b             	sub    $0xb,%eax
41f720:	74 1e                	je     0x41f740
41f722:	83 e8 06             	sub    $0x6,%eax
41f725:	74 11                	je     0x41f738
41f727:	83 e8 04             	sub    $0x4,%eax
41f72a:	0f 85 3e 01 00 00    	jne    0x41f86e
41f730:	56                   	push   %esi
41f731:	e8 c6 02 00 00       	call   0x41f9fc
41f736:	eb 2e                	jmp    0x41f766
41f738:	56                   	push   %esi
41f739:	e8 9e 02 00 00       	call   0x41f9dc
41f73e:	eb 26                	jmp    0x41f766
41f740:	8d 45 ff             	lea    -0x1(%ebp),%eax
41f743:	50                   	push   %eax
41f744:	56                   	push   %esi
41f745:	e8 3a 02 00 00       	call   0x41f984
41f74a:	eb b2                	jmp    0x41f6fe
41f74c:	8d 45 ff             	lea    -0x1(%ebp),%eax
41f74f:	50                   	push   %eax
41f750:	56                   	push   %esi
41f751:	e8 0c 02 00 00       	call   0x41f962
41f756:	eb a6                	jmp    0x41f6fe
41f758:	56                   	push   %esi
41f759:	e8 e4 01 00 00       	call   0x41f942
41f75e:	eb 06                	jmp    0x41f766
41f760:	56                   	push   %esi
41f761:	e8 bd 01 00 00       	call   0x41f923
41f766:	59                   	pop    %ecx
41f767:	6a 0a                	push   $0xa
41f769:	5a                   	pop    %edx
41f76a:	8a c8                	mov    %al,%cl
41f76c:	0f b6 c1             	movzbl %cl,%eax
41f76f:	f7 d8                	neg    %eax
41f771:	1b c0                	sbb    %eax,%eax
41f773:	83 e0 02             	and    $0x2,%eax
41f776:	03 f8                	add    %eax,%edi
41f778:	84 c9                	test   %cl,%cl
41f77a:	0f 85 18 ff ff ff    	jne    0x41f698
41f780:	84 ff                	test   %bh,%bh
41f782:	74 03                	je     0x41f787
41f784:	83 c7 02             	add    $0x2,%edi
41f787:	6a 20                	push   $0x20
41f789:	58                   	pop    %eax
41f78a:	eb 03                	jmp    0x41f78f
41f78c:	83 c7 02             	add    $0x2,%edi
41f78f:	66 39 07             	cmp    %ax,(%edi)
41f792:	74 f8                	je     0x41f78c
41f794:	84 ff                	test   %bh,%bh
41f796:	75 14                	jne    0x41f7ac
41f798:	33 c0                	xor    %eax,%eax
41f79a:	66 39 07             	cmp    %ax,(%edi)
41f79d:	0f 85 cb 00 00 00    	jne    0x41f86e
41f7a3:	c6 46 08 01          	movb   $0x1,0x8(%esi)
41f7a7:	e9 d2 00 00 00       	jmp    0x41f87e
41f7ac:	6a 03                	push   $0x3
41f7ae:	68 e0 48 43 00       	push   $0x4348e0
41f7b3:	57                   	push   %edi
41f7b4:	e8 c6 8e ff ff       	call   0x41867f
41f7b9:	83 c4 0c             	add    $0xc,%esp
41f7bc:	85 c0                	test   %eax,%eax
41f7be:	0f 85 aa 00 00 00    	jne    0x41f86e
41f7c4:	83 c7 06             	add    $0x6,%edi
41f7c7:	6a 20                	push   $0x20
41f7c9:	5b                   	pop    %ebx
41f7ca:	0f b7 07             	movzwl (%edi),%eax
41f7cd:	8b c8                	mov    %eax,%ecx
41f7cf:	66 3b c3             	cmp    %bx,%ax
41f7d2:	75 0d                	jne    0x41f7e1
41f7d4:	83 c7 02             	add    $0x2,%edi
41f7d7:	0f b7 07             	movzwl (%edi),%eax
41f7da:	66 3b c3             	cmp    %bx,%ax
41f7dd:	74 f5                	je     0x41f7d4
41f7df:	8b c8                	mov    %eax,%ecx
41f7e1:	66 83 f9 3d          	cmp    $0x3d,%cx
41f7e5:	0f 85 83 00 00 00    	jne    0x41f86e
41f7eb:	83 c7 02             	add    $0x2,%edi
41f7ee:	66 39 1f             	cmp    %bx,(%edi)
41f7f1:	74 f8                	je     0x41f7eb
41f7f3:	6a 05                	push   $0x5
41f7f5:	68 e8 48 43 00       	push   $0x4348e8
41f7fa:	57                   	push   %edi
41f7fb:	e8 51 8d 00 00       	call   0x428551
41f800:	83 c4 0c             	add    $0xc,%esp
41f803:	85 c0                	test   %eax,%eax
41f805:	75 0a                	jne    0x41f811
41f807:	81 0e 00 00 04 00    	orl    $0x40000,(%esi)
41f80d:	6a 0a                	push   $0xa
41f80f:	eb 3a                	jmp    0x41f84b
41f811:	6a 08                	push   $0x8
41f813:	68 f4 48 43 00       	push   $0x4348f4
41f818:	57                   	push   %edi
41f819:	e8 33 8d 00 00       	call   0x428551
41f81e:	83 c4 0c             	add    $0xc,%esp
41f821:	85 c0                	test   %eax,%eax
41f823:	75 0a                	jne    0x41f82f
41f825:	81 0e 00 00 02 00    	orl    $0x20000,(%esi)
41f82b:	6a 10                	push   $0x10
41f82d:	eb 1c                	jmp    0x41f84b
41f82f:	6a 07                	push   $0x7
41f831:	68 04 49 43 00       	push   $0x434904
41f836:	57                   	push   %edi
41f837:	e8 15 8d 00 00       	call   0x428551
41f83c:	83 c4 0c             	add    $0xc,%esp
41f83f:	85 c0                	test   %eax,%eax
41f841:	75 2b                	jne    0x41f86e
41f843:	81 0e 00 00 01 00    	orl    $0x10000,(%esi)
41f849:	6a 0e                	push   $0xe
41f84b:	58                   	pop    %eax
41f84c:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
41f84f:	0f b7 01             	movzwl (%ecx),%eax
41f852:	8b d0                	mov    %eax,%edx
41f854:	66 3b c3             	cmp    %bx,%ax
41f857:	75 0d                	jne    0x41f866
41f859:	8d 49 02             	lea    0x2(%ecx),%ecx
41f85c:	0f b7 01             	movzwl (%ecx),%eax
41f85f:	66 3b c3             	cmp    %bx,%ax
41f862:	74 f5                	je     0x41f859
41f864:	8b d0                	mov    %eax,%edx
41f866:	66 85 d2             	test   %dx,%dx
41f869:	e9 2f ff ff ff       	jmp    0x41f79d
41f86e:	e8 fe cd ff ff       	call   0x41c671
41f873:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41f879:	e8 70 db fe ff       	call   0x40d3ee
41f87e:	5f                   	pop    %edi
41f87f:	8b c6                	mov    %esi,%eax
41f881:	5e                   	pop    %esi
41f882:	5b                   	pop    %ebx
41f883:	c9                   	leave
41f884:	c3                   	ret
41f885:	8b ff                	mov    %edi,%edi
41f887:	55                   	push   %ebp
41f888:	8b ec                	mov    %esp,%ebp
41f88a:	83 ec 1c             	sub    $0x1c,%esp
41f88d:	56                   	push   %esi
41f88e:	57                   	push   %edi
41f88f:	ff 75 0c             	push   0xc(%ebp)
41f892:	8d 45 e4             	lea    -0x1c(%ebp),%eax
41f895:	50                   	push   %eax
41f896:	e8 7f fd ff ff       	call   0x41f61a
41f89b:	8b f0                	mov    %eax,%esi
41f89d:	8d 7d f0             	lea    -0x10(%ebp),%edi
41f8a0:	59                   	pop    %ecx
41f8a1:	59                   	pop    %ecx
41f8a2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41f8a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41f8a4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41f8a5:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
41f8a9:	5f                   	pop    %edi
41f8aa:	5e                   	pop    %esi
41f8ab:	74 57                	je     0x41f904
41f8ad:	68 80 01 00 00       	push   $0x180
41f8b2:	ff 75 10             	push   0x10(%ebp)
41f8b5:	8d 45 fc             	lea    -0x4(%ebp),%eax
41f8b8:	ff 75 f0             	push   -0x10(%ebp)
41f8bb:	ff 75 08             	push   0x8(%ebp)
41f8be:	50                   	push   %eax
41f8bf:	e8 c0 96 00 00       	call   0x428f84
41f8c4:	83 c4 14             	add    $0x14,%esp
41f8c7:	85 c0                	test   %eax,%eax
41f8c9:	75 39                	jne    0x41f904
41f8cb:	8b 45 14             	mov    0x14(%ebp),%eax
41f8ce:	ff 05 f0 f7 43 00    	incl   0x43f7f0
41f8d4:	83 c0 0c             	add    $0xc,%eax
41f8d7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41f8da:	f0 09 08             	lock or %ecx,(%eax)
41f8dd:	8b 45 14             	mov    0x14(%ebp),%eax
41f8e0:	33 c9                	xor    %ecx,%ecx
41f8e2:	89 48 08             	mov    %ecx,0x8(%eax)
41f8e5:	8b 45 14             	mov    0x14(%ebp),%eax
41f8e8:	89 48 1c             	mov    %ecx,0x1c(%eax)
41f8eb:	8b 45 14             	mov    0x14(%ebp),%eax
41f8ee:	89 48 04             	mov    %ecx,0x4(%eax)
41f8f1:	8b 45 14             	mov    0x14(%ebp),%eax
41f8f4:	89 08                	mov    %ecx,(%eax)
41f8f6:	8b 4d 14             	mov    0x14(%ebp),%ecx
41f8f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
41f8fc:	89 41 10             	mov    %eax,0x10(%ecx)
41f8ff:	8b 45 14             	mov    0x14(%ebp),%eax
41f902:	c9                   	leave
41f903:	c3                   	ret
41f904:	33 c0                	xor    %eax,%eax
41f906:	c9                   	leave
41f907:	c3                   	ret
41f908:	8b ff                	mov    %edi,%edi
41f90a:	55                   	push   %ebp
41f90b:	8b ec                	mov    %esp,%ebp
41f90d:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f910:	8b 01                	mov    (%ecx),%eax
41f912:	a8 40                	test   $0x40,%al
41f914:	74 04                	je     0x41f91a
41f916:	32 c0                	xor    %al,%al
41f918:	5d                   	pop    %ebp
41f919:	c3                   	ret
41f91a:	83 c8 40             	or     $0x40,%eax
41f91d:	89 01                	mov    %eax,(%ecx)
41f91f:	b0 01                	mov    $0x1,%al
41f921:	5d                   	pop    %ebp
41f922:	c3                   	ret
41f923:	8b ff                	mov    %edi,%edi
41f925:	55                   	push   %ebp
41f926:	8b ec                	mov    %esp,%ebp
41f928:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f92b:	ba 00 10 00 00       	mov    $0x1000,%edx
41f930:	8b 01                	mov    (%ecx),%eax
41f932:	85 c2                	test   %eax,%edx
41f934:	74 04                	je     0x41f93a
41f936:	32 c0                	xor    %al,%al
41f938:	5d                   	pop    %ebp
41f939:	c3                   	ret
41f93a:	0b c2                	or     %edx,%eax
41f93c:	89 01                	mov    %eax,(%ecx)
41f93e:	b0 01                	mov    $0x1,%al
41f940:	5d                   	pop    %ebp
41f941:	c3                   	ret
41f942:	8b ff                	mov    %edi,%edi
41f944:	55                   	push   %ebp
41f945:	8b ec                	mov    %esp,%ebp
41f947:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f94a:	8b 01                	mov    (%ecx),%eax
41f94c:	a9 00 c0 00 00       	test   $0xc000,%eax
41f951:	74 04                	je     0x41f957
41f953:	32 c0                	xor    %al,%al
41f955:	5d                   	pop    %ebp
41f956:	c3                   	ret
41f957:	0d 00 80 00 00       	or     $0x8000,%eax
41f95c:	89 01                	mov    %eax,(%ecx)
41f95e:	b0 01                	mov    $0x1,%al
41f960:	5d                   	pop    %ebp
41f961:	c3                   	ret
41f962:	8b ff                	mov    %edi,%edi
41f964:	55                   	push   %ebp
41f965:	8b ec                	mov    %esp,%ebp
41f967:	8b 45 0c             	mov    0xc(%ebp),%eax
41f96a:	80 38 00             	cmpb   $0x0,(%eax)
41f96d:	74 04                	je     0x41f973
41f96f:	32 c0                	xor    %al,%al
41f971:	5d                   	pop    %ebp
41f972:	c3                   	ret
41f973:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f976:	c6 00 01             	movb   $0x1,(%eax)
41f979:	b0 01                	mov    $0x1,%al
41f97b:	81 49 04 00 08 00 00 	orl    $0x800,0x4(%ecx)
41f982:	5d                   	pop    %ebp
41f983:	c3                   	ret
41f984:	8b ff                	mov    %edi,%edi
41f986:	55                   	push   %ebp
41f987:	8b ec                	mov    %esp,%ebp
41f989:	8b 45 0c             	mov    0xc(%ebp),%eax
41f98c:	80 38 00             	cmpb   $0x0,(%eax)
41f98f:	74 04                	je     0x41f995
41f991:	32 c0                	xor    %al,%al
41f993:	5d                   	pop    %ebp
41f994:	c3                   	ret
41f995:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f998:	c6 00 01             	movb   $0x1,(%eax)
41f99b:	b0 01                	mov    $0x1,%al
41f99d:	81 61 04 ff f7 ff ff 	andl   $0xfffff7ff,0x4(%ecx)
41f9a4:	5d                   	pop    %ebp
41f9a5:	c3                   	ret
41f9a6:	8b ff                	mov    %edi,%edi
41f9a8:	55                   	push   %ebp
41f9a9:	8b ec                	mov    %esp,%ebp
41f9ab:	8b 45 0c             	mov    0xc(%ebp),%eax
41f9ae:	80 38 00             	cmpb   $0x0,(%eax)
41f9b1:	75 25                	jne    0x41f9d8
41f9b3:	8b 55 08             	mov    0x8(%ebp),%edx
41f9b6:	c6 00 01             	movb   $0x1,(%eax)
41f9b9:	8b 0a                	mov    (%edx),%ecx
41f9bb:	f6 c1 02             	test   $0x2,%cl
41f9be:	75 18                	jne    0x41f9d8
41f9c0:	83 e1 fe             	and    $0xfffffffe,%ecx
41f9c3:	b0 01                	mov    $0x1,%al
41f9c5:	83 c9 02             	or     $0x2,%ecx
41f9c8:	89 0a                	mov    %ecx,(%edx)
41f9ca:	8b 4a 04             	mov    0x4(%edx),%ecx
41f9cd:	83 e1 fc             	and    $0xfffffffc,%ecx
41f9d0:	83 c9 04             	or     $0x4,%ecx
41f9d3:	89 4a 04             	mov    %ecx,0x4(%edx)
41f9d6:	5d                   	pop    %ebp
41f9d7:	c3                   	ret
41f9d8:	32 c0                	xor    %al,%al
41f9da:	5d                   	pop    %ebp
41f9db:	c3                   	ret
41f9dc:	8b ff                	mov    %edi,%edi
41f9de:	55                   	push   %ebp
41f9df:	8b ec                	mov    %esp,%ebp
41f9e1:	8b 4d 08             	mov    0x8(%ebp),%ecx
41f9e4:	8b 01                	mov    (%ecx),%eax
41f9e6:	a9 00 c0 00 00       	test   $0xc000,%eax
41f9eb:	74 04                	je     0x41f9f1
41f9ed:	32 c0                	xor    %al,%al
41f9ef:	5d                   	pop    %ebp
41f9f0:	c3                   	ret
41f9f1:	0d 00 40 00 00       	or     $0x4000,%eax
41f9f6:	89 01                	mov    %eax,(%ecx)
41f9f8:	b0 01                	mov    $0x1,%al
41f9fa:	5d                   	pop    %ebp
41f9fb:	c3                   	ret
41f9fc:	8b ff                	mov    %edi,%edi
41f9fe:	55                   	push   %ebp
41f9ff:	8b ec                	mov    %esp,%ebp
41fa01:	8b 4d 08             	mov    0x8(%ebp),%ecx
41fa04:	8b 01                	mov    (%ecx),%eax
41fa06:	a9 00 02 00 00       	test   $0x200,%eax
41fa0b:	75 04                	jne    0x41fa11
41fa0d:	32 c0                	xor    %al,%al
41fa0f:	5d                   	pop    %ebp
41fa10:	c3                   	ret
41fa11:	0d 00 04 00 00       	or     $0x400,%eax
41fa16:	89 01                	mov    %eax,(%ecx)
41fa18:	b0 01                	mov    $0x1,%al
41fa1a:	5d                   	pop    %ebp
41fa1b:	c3                   	ret
41fa1c:	8b ff                	mov    %edi,%edi