40f73b:	e8 72 fe ff ff       	call   0x40f5b2
40f740:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
40f746:	83 c4 10             	add    $0x10,%esp
40f749:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f74c:	33 cd                	xor    %ebp,%ecx
40f74e:	e8 a2 94 ff ff       	call   0x408bf5
40f753:	c9                   	leave
40f754:	c3                   	ret
40f755:	6a 08                	push   $0x8
40f757:	68 a0 3f 42 00       	push   $0x423fa0
40f75c:	e8 6f 92 ff ff       	call   0x4089d0
40f761:	8b 45 08             	mov    0x8(%ebp),%eax
40f764:	ff 30                	push   (%eax)
40f766:	e8 96 0a 00 00       	call   0x410201
40f76b:	59                   	pop    %ecx
40f76c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40f770:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40f773:	e8 2a 00 00 00       	call   0x40f7a2
40f778:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40f77f:	e8 12 00 00 00       	call   0x40f796
40f784:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f787:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f78e:	59                   	pop    %ecx
40f78f:	5f                   	pop    %edi
40f790:	5e                   	pop    %esi
40f791:	5b                   	pop    %ebx
40f792:	c9                   	leave
40f793:	c2 0c 00             	ret    $0xc
40f796:	8b 45 10             	mov    0x10(%ebp),%eax
40f799:	ff 30                	push   (%eax)
40f79b:	e8 b1 0a 00 00       	call   0x410251
40f7a0:	59                   	pop    %ecx
40f7a1:	c3                   	ret
40f7a2:	8b ff                	mov    %edi,%edi
40f7a4:	56                   	push   %esi
40f7a5:	8b f1                	mov    %ecx,%esi
40f7a7:	b9 01 01 00 00       	mov    $0x101,%ecx
40f7ac:	51                   	push   %ecx
40f7ad:	8b 06                	mov    (%esi),%eax
40f7af:	8b 00                	mov    (%eax),%eax
40f7b1:	8b 40 48             	mov    0x48(%eax),%eax
40f7b4:	83 c0 18             	add    $0x18,%eax
40f7b7:	50                   	push   %eax
40f7b8:	51                   	push   %ecx
40f7b9:	ff 35 90 6e 42 00    	push   0x426e90
40f7bf:	e8 fa 06 00 00       	call   0x40febe
40f7c4:	8b 06                	mov    (%esi),%eax
40f7c6:	b9 00 01 00 00       	mov    $0x100,%ecx
40f7cb:	51                   	push   %ecx
40f7cc:	8b 00                	mov    (%eax),%eax
40f7ce:	8b 40 48             	mov    0x48(%eax),%eax
40f7d1:	05 19 01 00 00       	add    $0x119,%eax
40f7d6:	50                   	push   %eax
40f7d7:	51                   	push   %ecx
40f7d8:	ff 35 94 6e 42 00    	push   0x426e94
40f7de:	e8 db 06 00 00       	call   0x40febe
40f7e3:	8b 46 04             	mov    0x4(%esi),%eax
40f7e6:	83 c4 20             	add    $0x20,%esp
40f7e9:	83 c9 ff             	or     $0xffffffff,%ecx
40f7ec:	8b 00                	mov    (%eax),%eax
40f7ee:	8b 00                	mov    (%eax),%eax
40f7f0:	f0 0f c1 08          	lock xadd %ecx,(%eax)
40f7f4:	75 15                	jne    0x40f80b
40f7f6:	8b 46 04             	mov    0x4(%esi),%eax
40f7f9:	8b 00                	mov    (%eax),%eax
40f7fb:	81 38 60 60 42 00    	cmpl   $0x426060,(%eax)
40f801:	74 08                	je     0x40f80b
40f803:	ff 30                	push   (%eax)
40f805:	e8 39 f5 ff ff       	call   0x40ed43
40f80a:	59                   	pop    %ecx
40f80b:	8b 06                	mov    (%esi),%eax
40f80d:	8b 10                	mov    (%eax),%edx
40f80f:	8b 46 04             	mov    0x4(%esi),%eax
40f812:	8b 08                	mov    (%eax),%ecx
40f814:	8b 42 48             	mov    0x48(%edx),%eax
40f817:	89 01                	mov    %eax,(%ecx)
40f819:	8b 06                	mov    (%esi),%eax
40f81b:	8b 00                	mov    (%eax),%eax
40f81d:	8b 40 48             	mov    0x48(%eax),%eax
40f820:	f0 ff 00             	lock incl (%eax)
40f823:	5e                   	pop    %esi
40f824:	c3                   	ret
40f825:	8b ff                	mov    %edi,%edi
40f827:	55                   	push   %ebp
40f828:	8b ec                	mov    %esp,%ebp
40f82a:	8b 45 08             	mov    0x8(%ebp),%eax
40f82d:	2d a4 03 00 00       	sub    $0x3a4,%eax
40f832:	74 28                	je     0x40f85c
40f834:	83 e8 04             	sub    $0x4,%eax
40f837:	74 1c                	je     0x40f855
40f839:	83 e8 0d             	sub    $0xd,%eax
40f83c:	74 10                	je     0x40f84e
40f83e:	83 e8 01             	sub    $0x1,%eax
40f841:	74 04                	je     0x40f847
40f843:	33 c0                	xor    %eax,%eax
40f845:	5d                   	pop    %ebp
40f846:	c3                   	ret
40f847:	a1 bc da 41 00       	mov    0x41dabc,%eax
40f84c:	5d                   	pop    %ebp
40f84d:	c3                   	ret
40f84e:	a1 b8 da 41 00       	mov    0x41dab8,%eax
40f853:	5d                   	pop    %ebp
40f854:	c3                   	ret
40f855:	a1 b4 da 41 00       	mov    0x41dab4,%eax
40f85a:	5d                   	pop    %ebp
40f85b:	c3                   	ret
40f85c:	a1 b0 da 41 00       	mov    0x41dab0,%eax
40f861:	5d                   	pop    %ebp
40f862:	c3                   	ret
40f863:	8b ff                	mov    %edi,%edi
40f865:	55                   	push   %ebp
40f866:	8b ec                	mov    %esp,%ebp
40f868:	83 ec 10             	sub    $0x10,%esp
40f86b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40f86e:	6a 00                	push   $0x0
40f870:	e8 d5 d1 ff ff       	call   0x40ca4a
40f875:	83 25 9c 6e 42 00 00 	andl   $0x0,0x426e9c
40f87c:	8b 45 08             	mov    0x8(%ebp),%eax
40f87f:	83 f8 fe             	cmp    $0xfffffffe,%eax
40f882:	75 12                	jne    0x40f896
40f884:	c7 05 9c 6e 42 00 01 	movl   $0x1,0x426e9c
40f88b:	00 00 00
40f88e:	ff 15 b0 c0 41 00    	call   *0x41c0b0
40f894:	eb 2c                	jmp    0x40f8c2
40f896:	83 f8 fd             	cmp    $0xfffffffd,%eax
40f899:	75 12                	jne    0x40f8ad
40f89b:	c7 05 9c 6e 42 00 01 	movl   $0x1,0x426e9c
40f8a2:	00 00 00
40f8a5:	ff 15 ac c0 41 00    	call   *0x41c0ac
40f8ab:	eb 15                	jmp    0x40f8c2
40f8ad:	83 f8 fc             	cmp    $0xfffffffc,%eax
40f8b0:	75 10                	jne    0x40f8c2
40f8b2:	8b 45 f4             	mov    -0xc(%ebp),%eax
40f8b5:	c7 05 9c 6e 42 00 01 	movl   $0x1,0x426e9c
40f8bc:	00 00 00
40f8bf:	8b 40 08             	mov    0x8(%eax),%eax
40f8c2:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
40f8c6:	74 0a                	je     0x40f8d2
40f8c8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f8cb:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
40f8d2:	c9                   	leave
40f8d3:	c3                   	ret
40f8d4:	8b ff                	mov    %edi,%edi
40f8d6:	55                   	push   %ebp
40f8d7:	8b ec                	mov    %esp,%ebp
40f8d9:	53                   	push   %ebx
40f8da:	8b 5d 08             	mov    0x8(%ebp),%ebx
40f8dd:	56                   	push   %esi
40f8de:	57                   	push   %edi
40f8df:	68 01 01 00 00       	push   $0x101
40f8e4:	33 ff                	xor    %edi,%edi
40f8e6:	8d 73 18             	lea    0x18(%ebx),%esi
40f8e9:	57                   	push   %edi
40f8ea:	56                   	push   %esi
40f8eb:	e8 20 98 ff ff       	call   0x409110
40f8f0:	89 7b 04             	mov    %edi,0x4(%ebx)
40f8f3:	33 c0                	xor    %eax,%eax
40f8f5:	89 7b 08             	mov    %edi,0x8(%ebx)
40f8f8:	83 c4 0c             	add    $0xc,%esp
40f8fb:	89 bb 1c 02 00 00    	mov    %edi,0x21c(%ebx)
40f901:	b9 01 01 00 00       	mov    $0x101,%ecx
40f906:	8d 7b 0c             	lea    0xc(%ebx),%edi
40f909:	ab                   	stos   %eax,%es:(%edi)
40f90a:	ab                   	stos   %eax,%es:(%edi)
40f90b:	ab                   	stos   %eax,%es:(%edi)
40f90c:	bf 60 60 42 00       	mov    $0x426060,%edi
40f911:	2b fb                	sub    %ebx,%edi
40f913:	8a 04 37             	mov    (%edi,%esi,1),%al
40f916:	88 06                	mov    %al,(%esi)
40f918:	46                   	inc    %esi
40f919:	83 e9 01             	sub    $0x1,%ecx
40f91c:	75 f5                	jne    0x40f913
40f91e:	8d 8b 19 01 00 00    	lea    0x119(%ebx),%ecx
40f924:	ba 00 01 00 00       	mov    $0x100,%edx
40f929:	8a 04 39             	mov    (%ecx,%edi,1),%al
40f92c:	88 01                	mov    %al,(%ecx)
40f92e:	41                   	inc    %ecx
40f92f:	83 ea 01             	sub    $0x1,%edx
40f932:	75 f5                	jne    0x40f929
40f934:	5f                   	pop    %edi
40f935:	5e                   	pop    %esi
40f936:	5b                   	pop    %ebx
40f937:	5d                   	pop    %ebp
40f938:	c3                   	ret
40f939:	8b ff                	mov    %edi,%edi
40f93b:	55                   	push   %ebp
40f93c:	8b ec                	mov    %esp,%ebp
40f93e:	81 ec 18 07 00 00    	sub    $0x718,%esp
40f944:	a1 18 60 42 00       	mov    0x426018,%eax
40f949:	33 c5                	xor    %ebp,%eax
40f94b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f94e:	53                   	push   %ebx
40f94f:	56                   	push   %esi
40f950:	8b 75 08             	mov    0x8(%ebp),%esi
40f953:	57                   	push   %edi
40f954:	81 7e 04 e9 fd 00 00 	cmpl   $0xfde9,0x4(%esi)
40f95b:	0f 84 0c 01 00 00    	je     0x40fa6d
40f961:	8d 85 e8 f8 ff ff    	lea    -0x718(%ebp),%eax
40f967:	50                   	push   %eax
40f968:	ff 76 04             	push   0x4(%esi)
40f96b:	ff 15 b4 c0 41 00    	call   *0x41c0b4
40f971:	85 c0                	test   %eax,%eax
40f973:	0f 84 f4 00 00 00    	je     0x40fa6d
40f979:	33 db                	xor    %ebx,%ebx
40f97b:	bf 00 01 00 00       	mov    $0x100,%edi
40f980:	8b c3                	mov    %ebx,%eax
40f982:	88 84 05 fc fe ff ff 	mov    %al,-0x104(%ebp,%eax,1)
40f989:	40                   	inc    %eax
40f98a:	3b c7                	cmp    %edi,%eax
40f98c:	72 f4                	jb     0x40f982
40f98e:	8a 85 ee f8 ff ff    	mov    -0x712(%ebp),%al
40f994:	8d 8d ee f8 ff ff    	lea    -0x712(%ebp),%ecx
40f99a:	c6 85 fc fe ff ff 20 	movb   $0x20,-0x104(%ebp)
40f9a1:	eb 1f                	jmp    0x40f9c2
40f9a3:	0f b6 51 01          	movzbl 0x1(%ecx),%edx
40f9a7:	0f b6 c0             	movzbl %al,%eax
40f9aa:	eb 0d                	jmp    0x40f9b9
40f9ac:	3b c7                	cmp    %edi,%eax
40f9ae:	73 0d                	jae    0x40f9bd
40f9b0:	c6 84 05 fc fe ff ff 	movb   $0x20,-0x104(%ebp,%eax,1)
40f9b7:	20
40f9b8:	40                   	inc    %eax
40f9b9:	3b c2                	cmp    %edx,%eax
40f9bb:	76 ef                	jbe    0x40f9ac
40f9bd:	83 c1 02             	add    $0x2,%ecx
40f9c0:	8a 01                	mov    (%ecx),%al
40f9c2:	84 c0                	test   %al,%al
40f9c4:	75 dd                	jne    0x40f9a3
40f9c6:	53                   	push   %ebx
40f9c7:	ff 76 04             	push   0x4(%esi)
40f9ca:	8d 85 fc f8 ff ff    	lea    -0x704(%ebp),%eax
40f9d0:	50                   	push   %eax
40f9d1:	57                   	push   %edi
40f9d2:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40f9d8:	50                   	push   %eax
40f9d9:	6a 01                	push   $0x1
40f9db:	53                   	push   %ebx
40f9dc:	e8 28 13 00 00       	call   0x410d09
40f9e1:	53                   	push   %ebx
40f9e2:	ff 76 04             	push   0x4(%esi)
40f9e5:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
40f9eb:	57                   	push   %edi
40f9ec:	50                   	push   %eax
40f9ed:	57                   	push   %edi
40f9ee:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40f9f4:	50                   	push   %eax
40f9f5:	57                   	push   %edi
40f9f6:	ff b6 1c 02 00 00    	push   0x21c(%esi)
40f9fc:	53                   	push   %ebx
40f9fd:	e8 0c 41 00 00       	call   0x413b0e
40fa02:	83 c4 40             	add    $0x40,%esp
40fa05:	8d 85 fc fc ff ff    	lea    -0x304(%ebp),%eax
40fa0b:	53                   	push   %ebx
40fa0c:	ff 76 04             	push   0x4(%esi)
40fa0f:	57                   	push   %edi
40fa10:	50                   	push   %eax
40fa11:	57                   	push   %edi
40fa12:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40fa18:	50                   	push   %eax
40fa19:	68 00 02 00 00       	push   $0x200
40fa1e:	ff b6 1c 02 00 00    	push   0x21c(%esi)
40fa24:	53                   	push   %ebx
40fa25:	e8 e4 40 00 00       	call   0x413b0e
40fa2a:	83 c4 24             	add    $0x24,%esp
40fa2d:	8b c3                	mov    %ebx,%eax
40fa2f:	0f b7 8c 45 fc f8 ff 	movzwl -0x704(%ebp,%eax,2),%ecx
40fa36:	ff
40fa37:	f6 c1 01             	test   $0x1,%cl
40fa3a:	74 0e                	je     0x40fa4a
40fa3c:	80 4c 06 19 10       	orb    $0x10,0x19(%esi,%eax,1)
40fa41:	8a 8c 05 fc fd ff ff 	mov    -0x204(%ebp,%eax,1),%cl
40fa48:	eb 15                	jmp    0x40fa5f
40fa4a:	f6 c1 02             	test   $0x2,%cl
40fa4d:	74 0e                	je     0x40fa5d
40fa4f:	80 4c 06 19 20       	orb    $0x20,0x19(%esi,%eax,1)
40fa54:	8a 8c 05 fc fc ff ff 	mov    -0x304(%ebp,%eax,1),%cl
40fa5b:	eb 02                	jmp    0x40fa5f
40fa5d:	8a cb                	mov    %bl,%cl
40fa5f:	88 8c 06 19 01 00 00 	mov    %cl,0x119(%esi,%eax,1)
40fa66:	40                   	inc    %eax
40fa67:	3b c7                	cmp    %edi,%eax
40fa69:	72 c4                	jb     0x40fa2f
40fa6b:	eb 3d                	jmp    0x40faaa
40fa6d:	33 db                	xor    %ebx,%ebx
40fa6f:	bf 00 01 00 00       	mov    $0x100,%edi
40fa74:	8b cb                	mov    %ebx,%ecx
40fa76:	8d 51 9f             	lea    -0x61(%ecx),%edx
40fa79:	8d 42 20             	lea    0x20(%edx),%eax
40fa7c:	83 f8 19             	cmp    $0x19,%eax
40fa7f:	77 0a                	ja     0x40fa8b
40fa81:	80 4c 0e 19 10       	orb    $0x10,0x19(%esi,%ecx,1)
40fa86:	8d 41 20             	lea    0x20(%ecx),%eax
40fa89:	eb 13                	jmp    0x40fa9e
40fa8b:	83 fa 19             	cmp    $0x19,%edx
40fa8e:	77 0c                	ja     0x40fa9c
40fa90:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
40fa93:	80 48 19 20          	orb    $0x20,0x19(%eax)
40fa97:	8d 41 e0             	lea    -0x20(%ecx),%eax
40fa9a:	eb 02                	jmp    0x40fa9e
40fa9c:	8a c3                	mov    %bl,%al
40fa9e:	88 84 0e 19 01 00 00 	mov    %al,0x119(%esi,%ecx,1)
40faa5:	41                   	inc    %ecx
40faa6:	3b cf                	cmp    %edi,%ecx
40faa8:	72 cc                	jb     0x40fa76
40faaa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40faad:	5f                   	pop    %edi
40faae:	5e                   	pop    %esi
40faaf:	33 cd                	xor    %ebp,%ecx
40fab1:	5b                   	pop    %ebx
40fab2:	e8 3e 91 ff ff       	call   0x408bf5
40fab7:	c9                   	leave
40fab8:	c3                   	ret
40fab9:	8b ff                	mov    %edi,%edi
40fabb:	55                   	push   %ebp
40fabc:	8b ec                	mov    %esp,%ebp
40fabe:	83 ec 14             	sub    $0x14,%esp
40fac1:	ff 75 14             	push   0x14(%ebp)
40fac4:	ff 75 10             	push   0x10(%ebp)
40fac7:	e8 01 01 00 00       	call   0x40fbcd
40facc:	ff 75 08             	push   0x8(%ebp)
40facf:	e8 8f fd ff ff       	call   0x40f863
40fad4:	8b 4d 10             	mov    0x10(%ebp),%ecx
40fad7:	83 c4 0c             	add    $0xc,%esp
40fada:	89 45 f4             	mov    %eax,-0xc(%ebp)
40fadd:	8b 49 48             	mov    0x48(%ecx),%ecx
40fae0:	3b 41 04             	cmp    0x4(%ecx),%eax
40fae3:	75 04                	jne    0x40fae9
40fae5:	33 c0                	xor    %eax,%eax
40fae7:	c9                   	leave
40fae8:	c3                   	ret
40fae9:	53                   	push   %ebx
40faea:	56                   	push   %esi
40faeb:	57                   	push   %edi
40faec:	68 20 02 00 00       	push   $0x220
40faf1:	e8 ed 0e 00 00       	call   0x4109e3
40faf6:	8b f8                	mov    %eax,%edi
40faf8:	83 cb ff             	or     $0xffffffff,%ebx
40fafb:	59                   	pop    %ecx
40fafc:	85 ff                	test   %edi,%edi
40fafe:	74 2e                	je     0x40fb2e
40fb00:	8b 75 10             	mov    0x10(%ebp),%esi
40fb03:	b9 88 00 00 00       	mov    $0x88,%ecx
40fb08:	8b 76 48             	mov    0x48(%esi),%esi
40fb0b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40fb0d:	8b f8                	mov    %eax,%edi
40fb0f:	57                   	push   %edi
40fb10:	ff 75 f4             	push   -0xc(%ebp)
40fb13:	83 27 00             	andl   $0x0,(%edi)
40fb16:	e8 b0 01 00 00       	call   0x40fccb
40fb1b:	8b f0                	mov    %eax,%esi