40fb1d:	59                   	pop    %ecx
40fb1e:	59                   	pop    %ecx
40fb1f:	3b f3                	cmp    %ebx,%esi
40fb21:	75 1b                	jne    0x40fb3e
40fb23:	e8 ab f1 ff ff       	call   0x40ecd3
40fb28:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40fb2e:	8b f3                	mov    %ebx,%esi
40fb30:	57                   	push   %edi
40fb31:	e8 0d f2 ff ff       	call   0x40ed43
40fb36:	59                   	pop    %ecx
40fb37:	5f                   	pop    %edi
40fb38:	8b c6                	mov    %esi,%eax
40fb3a:	5e                   	pop    %esi
40fb3b:	5b                   	pop    %ebx
40fb3c:	c9                   	leave
40fb3d:	c3                   	ret
40fb3e:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40fb42:	75 05                	jne    0x40fb49
40fb44:	e8 06 c1 ff ff       	call   0x40bc4f
40fb49:	8b 45 10             	mov    0x10(%ebp),%eax
40fb4c:	8b 40 48             	mov    0x48(%eax),%eax
40fb4f:	f0 0f c1 18          	lock xadd %ebx,(%eax)
40fb53:	4b                   	dec    %ebx
40fb54:	75 15                	jne    0x40fb6b
40fb56:	8b 45 10             	mov    0x10(%ebp),%eax
40fb59:	81 78 48 60 60 42 00 	cmpl   $0x426060,0x48(%eax)
40fb60:	74 09                	je     0x40fb6b
40fb62:	ff 70 48             	push   0x48(%eax)
40fb65:	e8 d9 f1 ff ff       	call   0x40ed43
40fb6a:	59                   	pop    %ecx
40fb6b:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
40fb71:	8b cf                	mov    %edi,%ecx
40fb73:	8b 45 10             	mov    0x10(%ebp),%eax
40fb76:	33 ff                	xor    %edi,%edi
40fb78:	89 48 48             	mov    %ecx,0x48(%eax)
40fb7b:	8b 4d 10             	mov    0x10(%ebp),%ecx
40fb7e:	a1 a0 66 42 00       	mov    0x4266a0,%eax
40fb83:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
40fb89:	75 a5                	jne    0x40fb30
40fb8b:	8d 45 10             	lea    0x10(%ebp),%eax
40fb8e:	89 45 ec             	mov    %eax,-0x14(%ebp)
40fb91:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40fb94:	6a 05                	push   $0x5
40fb96:	8d 45 14             	lea    0x14(%ebp),%eax
40fb99:	89 45 f0             	mov    %eax,-0x10(%ebp)
40fb9c:	58                   	pop    %eax
40fb9d:	89 45 f4             	mov    %eax,-0xc(%ebp)
40fba0:	89 45 f8             	mov    %eax,-0x8(%ebp)
40fba3:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fba6:	50                   	push   %eax
40fba7:	8d 45 ec             	lea    -0x14(%ebp),%eax
40fbaa:	50                   	push   %eax
40fbab:	8d 45 f8             	lea    -0x8(%ebp),%eax
40fbae:	50                   	push   %eax
40fbaf:	e8 a1 fb ff ff       	call   0x40f755
40fbb4:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40fbb8:	0f 84 72 ff ff ff    	je     0x40fb30
40fbbe:	8b 45 14             	mov    0x14(%ebp),%eax
40fbc1:	8b 00                	mov    (%eax),%eax
40fbc3:	a3 3c 66 42 00       	mov    %eax,0x42663c
40fbc8:	e9 63 ff ff ff       	jmp    0x40fb30
40fbcd:	6a 0c                	push   $0xc
40fbcf:	68 80 3f 42 00       	push   $0x423f80
40fbd4:	e8 f7 8d ff ff       	call   0x4089d0
40fbd9:	33 f6                	xor    %esi,%esi
40fbdb:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40fbde:	8b 7d 08             	mov    0x8(%ebp),%edi
40fbe1:	a1 a0 66 42 00       	mov    0x4266a0,%eax
40fbe6:	85 87 50 03 00 00    	test   %eax,0x350(%edi)
40fbec:	74 0e                	je     0x40fbfc
40fbee:	39 77 4c             	cmp    %esi,0x4c(%edi)
40fbf1:	74 09                	je     0x40fbfc
40fbf3:	8b 77 48             	mov    0x48(%edi),%esi
40fbf6:	85 f6                	test   %esi,%esi
40fbf8:	74 6d                	je     0x40fc67
40fbfa:	eb 59                	jmp    0x40fc55
40fbfc:	6a 05                	push   $0x5
40fbfe:	e8 fe 05 00 00       	call   0x410201
40fc03:	59                   	pop    %ecx
40fc04:	89 75 fc             	mov    %esi,-0x4(%ebp)
40fc07:	8b 77 48             	mov    0x48(%edi),%esi
40fc0a:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40fc0d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40fc10:	3b 33                	cmp    (%ebx),%esi
40fc12:	74 27                	je     0x40fc3b
40fc14:	85 f6                	test   %esi,%esi
40fc16:	74 18                	je     0x40fc30
40fc18:	83 c8 ff             	or     $0xffffffff,%eax
40fc1b:	f0 0f c1 06          	lock xadd %eax,(%esi)
40fc1f:	75 0f                	jne    0x40fc30
40fc21:	81 fe 60 60 42 00    	cmp    $0x426060,%esi
40fc27:	74 07                	je     0x40fc30
40fc29:	56                   	push   %esi
40fc2a:	e8 14 f1 ff ff       	call   0x40ed43
40fc2f:	59                   	pop    %ecx
40fc30:	8b 33                	mov    (%ebx),%esi
40fc32:	89 77 48             	mov    %esi,0x48(%edi)
40fc35:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40fc38:	f0 ff 06             	lock incl (%esi)
40fc3b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40fc42:	e8 05 00 00 00       	call   0x40fc4c
40fc47:	eb ad                	jmp    0x40fbf6
40fc49:	8b 75 e4             	mov    -0x1c(%ebp),%esi
40fc4c:	6a 05                	push   $0x5
40fc4e:	e8 fe 05 00 00       	call   0x410251
40fc53:	59                   	pop    %ecx
40fc54:	c3                   	ret
40fc55:	8b c6                	mov    %esi,%eax
40fc57:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40fc5a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40fc61:	59                   	pop    %ecx
40fc62:	5f                   	pop    %edi
40fc63:	5e                   	pop    %esi
40fc64:	5b                   	pop    %ebx
40fc65:	c9                   	leave
40fc66:	c3                   	ret
40fc67:	e8 8f c6 ff ff       	call   0x40c2fb
40fc6c:	cc                   	int3
40fc6d:	cc                   	int3
40fc6e:	cc                   	int3
40fc6f:	cc                   	int3
40fc70:	80 3d a0 6e 42 00 00 	cmpb   $0x0,0x426ea0
40fc77:	75 3c                	jne    0x40fcb5
40fc79:	c7 05 98 6e 42 00 60 	movl   $0x426060,0x426e98
40fc80:	60 42 00
40fc83:	c7 05 94 6e 42 00 88 	movl   $0x426388,0x426e94
40fc8a:	63 42 00
40fc8d:	c7 05 90 6e 42 00 80 	movl   $0x426280,0x426e90
40fc94:	62 42 00
40fc97:	e8 2a ec ff ff       	call   0x40e8c6
40fc9c:	68 98 6e 42 00       	push   $0x426e98
40fca1:	50                   	push   %eax
40fca2:	6a 01                	push   $0x1
40fca4:	6a fd                	push   $0xfffffffd
40fca6:	e8 0e fe ff ff       	call   0x40fab9
40fcab:	83 c4 10             	add    $0x10,%esp
40fcae:	c6 05 a0 6e 42 00 01 	movb   $0x1,0x426ea0
40fcb5:	b0 01                	mov    $0x1,%al
40fcb7:	c3                   	ret
40fcb8:	68 98 6e 42 00       	push   $0x426e98
40fcbd:	e8 47 eb ff ff       	call   0x40e809
40fcc2:	50                   	push   %eax
40fcc3:	e8 05 ff ff ff       	call   0x40fbcd
40fcc8:	59                   	pop    %ecx
40fcc9:	59                   	pop    %ecx
40fcca:	c3                   	ret
40fccb:	8b ff                	mov    %edi,%edi
40fccd:	55                   	push   %ebp
40fcce:	8b ec                	mov    %esp,%ebp
40fcd0:	83 ec 20             	sub    $0x20,%esp
40fcd3:	a1 18 60 42 00       	mov    0x426018,%eax
40fcd8:	33 c5                	xor    %ebp,%eax
40fcda:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fcdd:	53                   	push   %ebx
40fcde:	56                   	push   %esi
40fcdf:	8b 75 0c             	mov    0xc(%ebp),%esi
40fce2:	57                   	push   %edi
40fce3:	ff 75 08             	push   0x8(%ebp)
40fce6:	e8 78 fb ff ff       	call   0x40f863
40fceb:	8b d8                	mov    %eax,%ebx
40fced:	59                   	pop    %ecx
40fcee:	85 db                	test   %ebx,%ebx
40fcf0:	0f 84 b0 01 00 00    	je     0x40fea6
40fcf6:	33 ff                	xor    %edi,%edi
40fcf8:	8b cf                	mov    %edi,%ecx
40fcfa:	8b c7                	mov    %edi,%eax
40fcfc:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40fcff:	39 98 90 64 42 00    	cmp    %ebx,0x426490(%eax)
40fd05:	0f 84 f3 00 00 00    	je     0x40fdfe
40fd0b:	41                   	inc    %ecx
40fd0c:	83 c0 30             	add    $0x30,%eax
40fd0f:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40fd12:	3d f0 00 00 00       	cmp    $0xf0,%eax
40fd17:	72 e6                	jb     0x40fcff
40fd19:	81 fb e8 fd 00 00    	cmp    $0xfde8,%ebx
40fd1f:	0f 84 d1 00 00 00    	je     0x40fdf6
40fd25:	0f b7 c3             	movzwl %bx,%eax
40fd28:	50                   	push   %eax
40fd29:	ff 15 a8 c0 41 00    	call   *0x41c0a8
40fd2f:	85 c0                	test   %eax,%eax
40fd31:	0f 84 bf 00 00 00    	je     0x40fdf6
40fd37:	b8 e9 fd 00 00       	mov    $0xfde9,%eax
40fd3c:	3b d8                	cmp    %eax,%ebx
40fd3e:	75 26                	jne    0x40fd66
40fd40:	89 46 04             	mov    %eax,0x4(%esi)
40fd43:	89 be 1c 02 00 00    	mov    %edi,0x21c(%esi)
40fd49:	89 7e 18             	mov    %edi,0x18(%esi)
40fd4c:	66 89 7e 1c          	mov    %di,0x1c(%esi)
40fd50:	89 7e 08             	mov    %edi,0x8(%esi)
40fd53:	33 c0                	xor    %eax,%eax
40fd55:	8d 7e 0c             	lea    0xc(%esi),%edi
40fd58:	ab                   	stos   %eax,%es:(%edi)
40fd59:	ab                   	stos   %eax,%es:(%edi)
40fd5a:	ab                   	stos   %eax,%es:(%edi)
40fd5b:	56                   	push   %esi
40fd5c:	e8 d8 fb ff ff       	call   0x40f939
40fd61:	e9 46 01 00 00       	jmp    0x40feac
40fd66:	8d 45 e8             	lea    -0x18(%ebp),%eax
40fd69:	50                   	push   %eax
40fd6a:	53                   	push   %ebx
40fd6b:	ff 15 b4 c0 41 00    	call   *0x41c0b4
40fd71:	85 c0                	test   %eax,%eax
40fd73:	74 75                	je     0x40fdea
40fd75:	68 01 01 00 00       	push   $0x101
40fd7a:	8d 46 18             	lea    0x18(%esi),%eax
40fd7d:	57                   	push   %edi
40fd7e:	50                   	push   %eax
40fd7f:	e8 8c 93 ff ff       	call   0x409110
40fd84:	83 c4 0c             	add    $0xc,%esp
40fd87:	89 5e 04             	mov    %ebx,0x4(%esi)
40fd8a:	83 7d e8 02          	cmpl   $0x2,-0x18(%ebp)
40fd8e:	89 be 1c 02 00 00    	mov    %edi,0x21c(%esi)
40fd94:	75 ba                	jne    0x40fd50
40fd96:	80 7d ee 00          	cmpb   $0x0,-0x12(%ebp)
40fd9a:	8d 45 ee             	lea    -0x12(%ebp),%eax
40fd9d:	74 21                	je     0x40fdc0
40fd9f:	8a 48 01             	mov    0x1(%eax),%cl
40fda2:	84 c9                	test   %cl,%cl
40fda4:	74 1a                	je     0x40fdc0
40fda6:	0f b6 d1             	movzbl %cl,%edx
40fda9:	0f b6 08             	movzbl (%eax),%ecx
40fdac:	eb 06                	jmp    0x40fdb4
40fdae:	80 4c 0e 19 04       	orb    $0x4,0x19(%esi,%ecx,1)
40fdb3:	41                   	inc    %ecx
40fdb4:	3b ca                	cmp    %edx,%ecx
40fdb6:	76 f6                	jbe    0x40fdae
40fdb8:	83 c0 02             	add    $0x2,%eax
40fdbb:	80 38 00             	cmpb   $0x0,(%eax)
40fdbe:	75 df                	jne    0x40fd9f
40fdc0:	8d 46 1a             	lea    0x1a(%esi),%eax
40fdc3:	b9 fe 00 00 00       	mov    $0xfe,%ecx
40fdc8:	80 08 08             	orb    $0x8,(%eax)
40fdcb:	40                   	inc    %eax
40fdcc:	83 e9 01             	sub    $0x1,%ecx
40fdcf:	75 f7                	jne    0x40fdc8
40fdd1:	ff 76 04             	push   0x4(%esi)
40fdd4:	e8 4c fa ff ff       	call   0x40f825
40fdd9:	33 ff                	xor    %edi,%edi
40fddb:	89 86 1c 02 00 00    	mov    %eax,0x21c(%esi)
40fde1:	83 c4 04             	add    $0x4,%esp
40fde4:	47                   	inc    %edi
40fde5:	e9 66 ff ff ff       	jmp    0x40fd50
40fdea:	39 3d 9c 6e 42 00    	cmp    %edi,0x426e9c
40fdf0:	0f 85 b0 00 00 00    	jne    0x40fea6
40fdf6:	83 c8 ff             	or     $0xffffffff,%eax
40fdf9:	e9 b1 00 00 00       	jmp    0x40feaf
40fdfe:	68 01 01 00 00       	push   $0x101
40fe03:	8d 46 18             	lea    0x18(%esi),%eax
40fe06:	57                   	push   %edi
40fe07:	50                   	push   %eax
40fe08:	e8 03 93 ff ff       	call   0x409110
40fe0d:	83 c4 0c             	add    $0xc,%esp
40fe10:	6b 45 e4 30          	imul   $0x30,-0x1c(%ebp),%eax
40fe14:	89 45 e0             	mov    %eax,-0x20(%ebp)
40fe17:	8d 80 a0 64 42 00    	lea    0x4264a0(%eax),%eax
40fe1d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40fe20:	80 38 00             	cmpb   $0x0,(%eax)
40fe23:	8b c8                	mov    %eax,%ecx
40fe25:	74 35                	je     0x40fe5c
40fe27:	8a 41 01             	mov    0x1(%ecx),%al
40fe2a:	84 c0                	test   %al,%al
40fe2c:	74 2b                	je     0x40fe59
40fe2e:	0f b6 11             	movzbl (%ecx),%edx
40fe31:	0f b6 c0             	movzbl %al,%eax
40fe34:	eb 17                	jmp    0x40fe4d
40fe36:	81 fa 00 01 00 00    	cmp    $0x100,%edx
40fe3c:	73 13                	jae    0x40fe51
40fe3e:	8a 87 88 64 42 00    	mov    0x426488(%edi),%al
40fe44:	08 44 16 19          	or     %al,0x19(%esi,%edx,1)
40fe48:	42                   	inc    %edx
40fe49:	0f b6 41 01          	movzbl 0x1(%ecx),%eax
40fe4d:	3b d0                	cmp    %eax,%edx
40fe4f:	76 e5                	jbe    0x40fe36
40fe51:	83 c1 02             	add    $0x2,%ecx
40fe54:	80 39 00             	cmpb   $0x0,(%ecx)
40fe57:	75 ce                	jne    0x40fe27
40fe59:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40fe5c:	47                   	inc    %edi
40fe5d:	83 c0 08             	add    $0x8,%eax
40fe60:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40fe63:	83 ff 04             	cmp    $0x4,%edi
40fe66:	72 b8                	jb     0x40fe20
40fe68:	53                   	push   %ebx
40fe69:	89 5e 04             	mov    %ebx,0x4(%esi)
40fe6c:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
40fe73:	e8 ad f9 ff ff       	call   0x40f825
40fe78:	83 c4 04             	add    $0x4,%esp
40fe7b:	89 86 1c 02 00 00    	mov    %eax,0x21c(%esi)
40fe81:	8b 45 e0             	mov    -0x20(%ebp),%eax
40fe84:	8d 4e 0c             	lea    0xc(%esi),%ecx
40fe87:	6a 06                	push   $0x6
40fe89:	8d 90 94 64 42 00    	lea    0x426494(%eax),%edx
40fe8f:	5f                   	pop    %edi
40fe90:	66 8b 02             	mov    (%edx),%ax
40fe93:	8d 52 02             	lea    0x2(%edx),%edx
40fe96:	66 89 01             	mov    %ax,(%ecx)
40fe99:	8d 49 02             	lea    0x2(%ecx),%ecx
40fe9c:	83 ef 01             	sub    $0x1,%edi
40fe9f:	75 ef                	jne    0x40fe90
40fea1:	e9 b5 fe ff ff       	jmp    0x40fd5b
40fea6:	56                   	push   %esi
40fea7:	e8 28 fa ff ff       	call   0x40f8d4
40feac:	33 c0                	xor    %eax,%eax
40feae:	59                   	pop    %ecx
40feaf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40feb2:	5f                   	pop    %edi
40feb3:	5e                   	pop    %esi
40feb4:	33 cd                	xor    %ebp,%ecx
40feb6:	5b                   	pop    %ebx
40feb7:	e8 39 8d ff ff       	call   0x408bf5
40febc:	c9                   	leave
40febd:	c3                   	ret
40febe:	8b ff                	mov    %edi,%edi
40fec0:	55                   	push   %ebp
40fec1:	8b ec                	mov    %esp,%ebp
40fec3:	56                   	push   %esi
40fec4:	8b 75 14             	mov    0x14(%ebp),%esi
40fec7:	85 f6                	test   %esi,%esi
40fec9:	75 04                	jne    0x40fecf
40fecb:	33 c0                	xor    %eax,%eax
40fecd:	eb 6d                	jmp    0x40ff3c
40fecf:	8b 45 08             	mov    0x8(%ebp),%eax
40fed2:	85 c0                	test   %eax,%eax
40fed4:	75 13                	jne    0x40fee9
40fed6:	e8 f8 ed ff ff       	call   0x40ecd3
40fedb:	6a 16                	push   $0x16
40fedd:	5e                   	pop    %esi
40fede:	89 30                	mov    %esi,(%eax)
40fee0:	e8 31 ed ff ff       	call   0x40ec16
40fee5:	8b c6                	mov    %esi,%eax
40fee7:	eb 53                	jmp    0x40ff3c
40fee9:	57                   	push   %edi
40feea:	8b 7d 10             	mov    0x10(%ebp),%edi
40feed:	85 ff                	test   %edi,%edi
40feef:	74 14                	je     0x40ff05
40fef1:	39 75 0c             	cmp    %esi,0xc(%ebp)
40fef4:	72 0f                	jb     0x40ff05
40fef6:	56                   	push   %esi
40fef7:	57                   	push   %edi
40fef8:	50                   	push   %eax
40fef9:	e8 d2 9c ff ff       	call   0x409bd0
40fefe:	83 c4 0c             	add    $0xc,%esp
40ff01:	33 c0                	xor    %eax,%eax
40ff03:	eb 36                	jmp    0x40ff3b
40ff05:	ff 75 0c             	push   0xc(%ebp)
40ff08:	6a 00                	push   $0x0
40ff0a:	50                   	push   %eax
40ff0b:	e8 00 92 ff ff       	call   0x409110
40ff10:	83 c4 0c             	add    $0xc,%esp
40ff13:	85 ff                	test   %edi,%edi