42bd3f:	55                   	push   %ebp
42bd40:	8b ec                	mov    %esp,%ebp
42bd42:	83 ec 1c             	sub    $0x1c,%esp
42bd45:	56                   	push   %esi
42bd46:	57                   	push   %edi
42bd47:	ff 75 0c             	push   0xc(%ebp)
42bd4a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42bd4d:	50                   	push   %eax
42bd4e:	e8 7f fd ff ff       	call   0x42bad2
42bd53:	8b f0                	mov    %eax,%esi
42bd55:	8d 7d f0             	lea    -0x10(%ebp),%edi
42bd58:	59                   	pop    %ecx
42bd59:	59                   	pop    %ecx
42bd5a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42bd5b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42bd5c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42bd5d:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
42bd61:	5f                   	pop    %edi
42bd62:	5e                   	pop    %esi
42bd63:	74 57                	je     0x42bdbc
42bd65:	68 80 01 00 00       	push   $0x180
42bd6a:	ff 75 10             	push   0x10(%ebp)
42bd6d:	8d 45 fc             	lea    -0x4(%ebp),%eax
42bd70:	ff 75 f0             	push   -0x10(%ebp)
42bd73:	ff 75 08             	push   0x8(%ebp)
42bd76:	50                   	push   %eax
42bd77:	e8 8b c2 00 00       	call   0x438007
42bd7c:	83 c4 14             	add    $0x14,%esp
42bd7f:	85 c0                	test   %eax,%eax
42bd81:	75 39                	jne    0x42bdbc
42bd83:	8b 45 14             	mov    0x14(%ebp),%eax
42bd86:	ff 05 c8 69 45 00    	incl   0x4569c8
42bd8c:	83 c0 0c             	add    $0xc,%eax
42bd8f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42bd92:	f0 09 08             	lock or %ecx,(%eax)
42bd95:	8b 45 14             	mov    0x14(%ebp),%eax
42bd98:	33 c9                	xor    %ecx,%ecx
42bd9a:	89 48 08             	mov    %ecx,0x8(%eax)
42bd9d:	8b 45 14             	mov    0x14(%ebp),%eax
42bda0:	89 48 1c             	mov    %ecx,0x1c(%eax)
42bda3:	8b 45 14             	mov    0x14(%ebp),%eax
42bda6:	89 48 04             	mov    %ecx,0x4(%eax)
42bda9:	8b 45 14             	mov    0x14(%ebp),%eax
42bdac:	89 08                	mov    %ecx,(%eax)
42bdae:	8b 4d 14             	mov    0x14(%ebp),%ecx
42bdb1:	8b 45 fc             	mov    -0x4(%ebp),%eax
42bdb4:	89 41 10             	mov    %eax,0x10(%ecx)
42bdb7:	8b 45 14             	mov    0x14(%ebp),%eax
42bdba:	c9                   	leave
42bdbb:	c3                   	ret
42bdbc:	33 c0                	xor    %eax,%eax
42bdbe:	c9                   	leave
42bdbf:	c3                   	ret
42bdc0:	8b ff                	mov    %edi,%edi
42bdc2:	55                   	push   %ebp
42bdc3:	8b ec                	mov    %esp,%ebp
42bdc5:	8b 4d 08             	mov    0x8(%ebp),%ecx
42bdc8:	8b 01                	mov    (%ecx),%eax
42bdca:	a8 40                	test   $0x40,%al
42bdcc:	74 04                	je     0x42bdd2
42bdce:	32 c0                	xor    %al,%al
42bdd0:	5d                   	pop    %ebp
42bdd1:	c3                   	ret
42bdd2:	83 c8 40             	or     $0x40,%eax
42bdd5:	89 01                	mov    %eax,(%ecx)
42bdd7:	b0 01                	mov    $0x1,%al
42bdd9:	5d                   	pop    %ebp
42bdda:	c3                   	ret
42bddb:	8b ff                	mov    %edi,%edi
42bddd:	55                   	push   %ebp
42bdde:	8b ec                	mov    %esp,%ebp
42bde0:	8b 4d 08             	mov    0x8(%ebp),%ecx
42bde3:	ba 00 10 00 00       	mov    $0x1000,%edx
42bde8:	8b 01                	mov    (%ecx),%eax
42bdea:	85 c2                	test   %eax,%edx
42bdec:	74 04                	je     0x42bdf2
42bdee:	32 c0                	xor    %al,%al
42bdf0:	5d                   	pop    %ebp
42bdf1:	c3                   	ret
42bdf2:	0b c2                	or     %edx,%eax
42bdf4:	89 01                	mov    %eax,(%ecx)
42bdf6:	b0 01                	mov    $0x1,%al
42bdf8:	5d                   	pop    %ebp
42bdf9:	c3                   	ret
42bdfa:	8b ff                	mov    %edi,%edi
42bdfc:	55                   	push   %ebp
42bdfd:	8b ec                	mov    %esp,%ebp
42bdff:	8b 4d 08             	mov    0x8(%ebp),%ecx
42be02:	8b 01                	mov    (%ecx),%eax
42be04:	a9 00 c0 00 00       	test   $0xc000,%eax
42be09:	74 04                	je     0x42be0f
42be0b:	32 c0                	xor    %al,%al
42be0d:	5d                   	pop    %ebp
42be0e:	c3                   	ret
42be0f:	0d 00 80 00 00       	or     $0x8000,%eax
42be14:	89 01                	mov    %eax,(%ecx)
42be16:	b0 01                	mov    $0x1,%al
42be18:	5d                   	pop    %ebp
42be19:	c3                   	ret
42be1a:	8b ff                	mov    %edi,%edi
42be1c:	55                   	push   %ebp
42be1d:	8b ec                	mov    %esp,%ebp
42be1f:	8b 45 0c             	mov    0xc(%ebp),%eax
42be22:	80 38 00             	cmpb   $0x0,(%eax)
42be25:	74 04                	je     0x42be2b
42be27:	32 c0                	xor    %al,%al
42be29:	5d                   	pop    %ebp
42be2a:	c3                   	ret
42be2b:	8b 4d 08             	mov    0x8(%ebp),%ecx
42be2e:	c6 00 01             	movb   $0x1,(%eax)
42be31:	b0 01                	mov    $0x1,%al
42be33:	81 49 04 00 08 00 00 	orl    $0x800,0x4(%ecx)
42be3a:	5d                   	pop    %ebp
42be3b:	c3                   	ret
42be3c:	8b ff                	mov    %edi,%edi
42be3e:	55                   	push   %ebp
42be3f:	8b ec                	mov    %esp,%ebp
42be41:	8b 45 0c             	mov    0xc(%ebp),%eax
42be44:	80 38 00             	cmpb   $0x0,(%eax)
42be47:	74 04                	je     0x42be4d
42be49:	32 c0                	xor    %al,%al
42be4b:	5d                   	pop    %ebp
42be4c:	c3                   	ret
42be4d:	8b 4d 08             	mov    0x8(%ebp),%ecx
42be50:	c6 00 01             	movb   $0x1,(%eax)
42be53:	b0 01                	mov    $0x1,%al
42be55:	81 61 04 ff f7 ff ff 	andl   $0xfffff7ff,0x4(%ecx)
42be5c:	5d                   	pop    %ebp
42be5d:	c3                   	ret
42be5e:	8b ff                	mov    %edi,%edi
42be60:	55                   	push   %ebp
42be61:	8b ec                	mov    %esp,%ebp
42be63:	8b 45 0c             	mov    0xc(%ebp),%eax
42be66:	80 38 00             	cmpb   $0x0,(%eax)
42be69:	75 25                	jne    0x42be90
42be6b:	8b 55 08             	mov    0x8(%ebp),%edx
42be6e:	c6 00 01             	movb   $0x1,(%eax)
42be71:	8b 0a                	mov    (%edx),%ecx
42be73:	f6 c1 02             	test   $0x2,%cl
42be76:	75 18                	jne    0x42be90
42be78:	83 e1 fe             	and    $0xfffffffe,%ecx
42be7b:	b0 01                	mov    $0x1,%al
42be7d:	83 c9 02             	or     $0x2,%ecx
42be80:	89 0a                	mov    %ecx,(%edx)
42be82:	8b 4a 04             	mov    0x4(%edx),%ecx
42be85:	83 e1 fc             	and    $0xfffffffc,%ecx
42be88:	83 c9 04             	or     $0x4,%ecx
42be8b:	89 4a 04             	mov    %ecx,0x4(%edx)
42be8e:	5d                   	pop    %ebp
42be8f:	c3                   	ret
42be90:	32 c0                	xor    %al,%al
42be92:	5d                   	pop    %ebp
42be93:	c3                   	ret
42be94:	8b ff                	mov    %edi,%edi
42be96:	55                   	push   %ebp
42be97:	8b ec                	mov    %esp,%ebp
42be99:	8b 4d 08             	mov    0x8(%ebp),%ecx
42be9c:	8b 01                	mov    (%ecx),%eax
42be9e:	a9 00 c0 00 00       	test   $0xc000,%eax
42bea3:	74 04                	je     0x42bea9
42bea5:	32 c0                	xor    %al,%al
42bea7:	5d                   	pop    %ebp
42bea8:	c3                   	ret
42bea9:	0d 00 40 00 00       	or     $0x4000,%eax
42beae:	89 01                	mov    %eax,(%ecx)
42beb0:	b0 01                	mov    $0x1,%al
42beb2:	5d                   	pop    %ebp
42beb3:	c3                   	ret
42beb4:	8b ff                	mov    %edi,%edi
42beb6:	55                   	push   %ebp
42beb7:	8b ec                	mov    %esp,%ebp
42beb9:	8b 4d 08             	mov    0x8(%ebp),%ecx
42bebc:	8b 01                	mov    (%ecx),%eax
42bebe:	a9 00 02 00 00       	test   $0x200,%eax
42bec3:	75 04                	jne    0x42bec9
42bec5:	32 c0                	xor    %al,%al
42bec7:	5d                   	pop    %ebp
42bec8:	c3                   	ret
42bec9:	0d 00 04 00 00       	or     $0x400,%eax
42bece:	89 01                	mov    %eax,(%ecx)
42bed0:	b0 01                	mov    $0x1,%al
42bed2:	5d                   	pop    %ebp
42bed3:	c3                   	ret
42bed4:	8b ff                	mov    %edi,%edi
42bed6:	55                   	push   %ebp
42bed7:	8b ec                	mov    %esp,%ebp
42bed9:	5d                   	pop    %ebp
42beda:	e9 5e fe ff ff       	jmp    0x42bd3d
42bedf:	6a 0c                	push   $0xc
42bee1:	68 50 32 45 00       	push   $0x453250
42bee6:	e8 25 ea fe ff       	call   0x41a910
42beeb:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
42beef:	8b 45 08             	mov    0x8(%ebp),%eax
42bef2:	ff 30                	push   (%eax)
42bef4:	e8 ec 71 00 00       	call   0x4330e5
42bef9:	59                   	pop    %ecx
42befa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
42befe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42bf01:	8b 01                	mov    (%ecx),%eax
42bf03:	8b 38                	mov    (%eax),%edi
42bf05:	8b 71 04             	mov    0x4(%ecx),%esi
42bf08:	8b d7                	mov    %edi,%edx
42bf0a:	c1 fa 06             	sar    $0x6,%edx
42bf0d:	8b c7                	mov    %edi,%eax
42bf0f:	83 e0 3f             	and    $0x3f,%eax
42bf12:	6b c8 38             	imul   $0x38,%eax,%ecx
42bf15:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42bf1c:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
42bf21:	74 0d                	je     0x42bf30
42bf23:	56                   	push   %esi
42bf24:	57                   	push   %edi
42bf25:	e8 19 01 00 00       	call   0x42c043
42bf2a:	59                   	pop    %ecx
42bf2b:	59                   	pop    %ecx
42bf2c:	8b f0                	mov    %eax,%esi
42bf2e:	eb 0e                	jmp    0x42bf3e
42bf30:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
42bf34:	c7 46 18 09 00 00 00 	movl   $0x9,0x18(%esi)
42bf3b:	83 ce ff             	or     $0xffffffff,%esi
42bf3e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
42bf41:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
42bf48:	e8 17 00 00 00       	call   0x42bf64
42bf4d:	8b c6                	mov    %esi,%eax
42bf4f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42bf52:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
42bf59:	59                   	pop    %ecx
42bf5a:	5f                   	pop    %edi
42bf5b:	5e                   	pop    %esi
42bf5c:	5b                   	pop    %ebx
42bf5d:	c9                   	leave
42bf5e:	c2 0c 00             	ret    $0xc
42bf61:	8b 75 e4             	mov    -0x1c(%ebp),%esi
42bf64:	8b 45 10             	mov    0x10(%ebp),%eax
42bf67:	ff 30                	push   (%eax)
42bf69:	e8 2c 72 00 00       	call   0x43319a
42bf6e:	59                   	pop    %ecx
42bf6f:	c3                   	ret
42bf70:	8b ff                	mov    %edi,%edi
42bf72:	55                   	push   %ebp
42bf73:	8b ec                	mov    %esp,%ebp
42bf75:	83 ec 14             	sub    $0x14,%esp
42bf78:	56                   	push   %esi
42bf79:	8b 75 08             	mov    0x8(%ebp),%esi
42bf7c:	83 fe fe             	cmp    $0xfffffffe,%esi
42bf7f:	75 18                	jne    0x42bf99
42bf81:	8b 45 0c             	mov    0xc(%ebp),%eax
42bf84:	83 60 20 00          	andl   $0x0,0x20(%eax)
42bf88:	c6 40 24 01          	movb   $0x1,0x24(%eax)
42bf8c:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42bf90:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
42bf97:	eb 74                	jmp    0x42c00d
42bf99:	85 f6                	test   %esi,%esi
42bf9b:	78 4b                	js     0x42bfe8
42bf9d:	3b 35 c0 6f 45 00    	cmp    0x456fc0,%esi
42bfa3:	73 43                	jae    0x42bfe8
42bfa5:	8b c6                	mov    %esi,%eax
42bfa7:	8b d6                	mov    %esi,%edx
42bfa9:	83 e0 3f             	and    $0x3f,%eax
42bfac:	c1 fa 06             	sar    $0x6,%edx
42bfaf:	6b c8 38             	imul   $0x38,%eax,%ecx
42bfb2:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
42bfb9:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
42bfbe:	74 28                	je     0x42bfe8
42bfc0:	8d 45 08             	lea    0x8(%ebp),%eax
42bfc3:	89 75 f8             	mov    %esi,-0x8(%ebp)
42bfc6:	89 45 ec             	mov    %eax,-0x14(%ebp)
42bfc9:	8d 4d ff             	lea    -0x1(%ebp),%ecx
42bfcc:	8b 45 0c             	mov    0xc(%ebp),%eax
42bfcf:	89 45 f0             	mov    %eax,-0x10(%ebp)
42bfd2:	8d 45 f8             	lea    -0x8(%ebp),%eax
42bfd5:	50                   	push   %eax
42bfd6:	8d 45 ec             	lea    -0x14(%ebp),%eax
42bfd9:	89 75 f4             	mov    %esi,-0xc(%ebp)
42bfdc:	50                   	push   %eax
42bfdd:	8d 45 f4             	lea    -0xc(%ebp),%eax
42bfe0:	50                   	push   %eax
42bfe1:	e8 f9 fe ff ff       	call   0x42bedf
42bfe6:	eb 28                	jmp    0x42c010
42bfe8:	8b 45 0c             	mov    0xc(%ebp),%eax
42bfeb:	33 c9                	xor    %ecx,%ecx
42bfed:	50                   	push   %eax
42bfee:	51                   	push   %ecx
42bfef:	51                   	push   %ecx
42bff0:	51                   	push   %ecx
42bff1:	c6 40 24 01          	movb   $0x1,0x24(%eax)
42bff5:	51                   	push   %ecx
42bff6:	89 48 20             	mov    %ecx,0x20(%eax)
42bff9:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
42bffd:	51                   	push   %ecx
42bffe:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
42c005:	e8 fc 38 ff ff       	call   0x41f906
42c00a:	83 c4 18             	add    $0x18,%esp
42c00d:	83 c8 ff             	or     $0xffffffff,%eax
42c010:	5e                   	pop    %esi
42c011:	c9                   	leave
42c012:	c3                   	ret
42c013:	8b ff                	mov    %edi,%edi
42c015:	55                   	push   %ebp
42c016:	8b ec                	mov    %esp,%ebp
42c018:	83 ec 28             	sub    $0x28,%esp
42c01b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42c01e:	56                   	push   %esi
42c01f:	6a 00                	push   $0x0
42c021:	e8 aa 34 ff ff       	call   0x41f4d0
42c026:	8d 45 d8             	lea    -0x28(%ebp),%eax
42c029:	50                   	push   %eax
42c02a:	ff 75 08             	push   0x8(%ebp)
42c02d:	e8 11 00 00 00       	call   0x42c043
42c032:	59                   	pop    %ecx
42c033:	59                   	pop    %ecx
42c034:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42c037:	8b f0                	mov    %eax,%esi
42c039:	e8 f2 34 ff ff       	call   0x41f530
42c03e:	8b c6                	mov    %esi,%eax
42c040:	5e                   	pop    %esi
42c041:	c9                   	leave
42c042:	c3                   	ret
42c043:	8b ff                	mov    %edi,%edi
42c045:	55                   	push   %ebp
42c046:	8b ec                	mov    %esp,%ebp
42c048:	56                   	push   %esi
42c049:	57                   	push   %edi
42c04a:	8b 7d 08             	mov    0x8(%ebp),%edi
42c04d:	57                   	push   %edi
42c04e:	e8 0e 73 00 00       	call   0x433361
42c053:	59                   	pop    %ecx
42c054:	83 f8 ff             	cmp    $0xffffffff,%eax
42c057:	75 04                	jne    0x42c05d
42c059:	33 f6                	xor    %esi,%esi
42c05b:	eb 4e                	jmp    0x42c0ab
42c05d:	a1 c0 6d 45 00       	mov    0x456dc0,%eax
42c062:	83 ff 01             	cmp    $0x1,%edi
42c065:	75 09                	jne    0x42c070
42c067:	f6 80 98 00 00 00 01 	testb  $0x1,0x98(%eax)
42c06e:	75 0b                	jne    0x42c07b
42c070:	83 ff 02             	cmp    $0x2,%edi
42c073:	75 1c                	jne    0x42c091
42c075:	f6 40 60 01          	testb  $0x1,0x60(%eax)
42c079:	74 16                	je     0x42c091
42c07b:	6a 02                	push   $0x2
42c07d:	e8 df 72 00 00       	call   0x433361
42c082:	6a 01                	push   $0x1
42c084:	8b f0                	mov    %eax,%esi
42c086:	e8 d6 72 00 00       	call   0x433361
42c08b:	59                   	pop    %ecx
42c08c:	59                   	pop    %ecx
42c08d:	3b c6                	cmp    %esi,%eax
42c08f:	74 c8                	je     0x42c059
42c091:	57                   	push   %edi
42c092:	e8 ca 72 00 00       	call   0x433361