42bb5f:	77 65                	ja     0x42bbc6
42bb61:	74 56                	je     0x42bbb9
42bb63:	83 e8 20             	sub    $0x20,%eax
42bb66:	0f 84 b8 00 00 00    	je     0x42bc24
42bb6c:	83 e8 0b             	sub    $0xb,%eax
42bb6f:	74 3b                	je     0x42bbac
42bb71:	83 e8 01             	sub    $0x1,%eax
42bb74:	74 30                	je     0x42bba6
42bb76:	83 e8 18             	sub    $0x18,%eax
42bb79:	74 23                	je     0x42bb9e
42bb7b:	2b c2                	sub    %edx,%eax
42bb7d:	74 12                	je     0x42bb91
42bb7f:	83 e8 04             	sub    $0x4,%eax
42bb82:	0f 85 9e 01 00 00    	jne    0x42bd26
42bb88:	84 db                	test   %bl,%bl
42bb8a:	75 1c                	jne    0x42bba8
42bb8c:	83 0e 10             	orl    $0x10,(%esi)
42bb8f:	eb 2f                	jmp    0x42bbc0
42bb91:	81 0e 80 00 00 00    	orl    $0x80,(%esi)
42bb97:	b1 01                	mov    $0x1,%cl
42bb99:	e9 86 00 00 00       	jmp    0x42bc24
42bb9e:	56                   	push   %esi
42bb9f:	e8 1c 02 00 00       	call   0x42bdc0
42bba4:	eb 78                	jmp    0x42bc1e
42bba6:	b7 01                	mov    $0x1,%bh
42bba8:	32 c9                	xor    %cl,%cl
42bbaa:	eb 78                	jmp    0x42bc24
42bbac:	8d 45 fe             	lea    -0x2(%ebp),%eax
42bbaf:	50                   	push   %eax
42bbb0:	56                   	push   %esi
42bbb1:	e8 a8 02 00 00       	call   0x42be5e
42bbb6:	59                   	pop    %ecx
42bbb7:	eb 65                	jmp    0x42bc1e
42bbb9:	84 db                	test   %bl,%bl
42bbbb:	75 eb                	jne    0x42bba8
42bbbd:	83 0e 20             	orl    $0x20,(%esi)
42bbc0:	b3 01                	mov    $0x1,%bl
42bbc2:	8a cb                	mov    %bl,%cl
42bbc4:	eb 5e                	jmp    0x42bc24
42bbc6:	83 e8 54             	sub    $0x54,%eax
42bbc9:	74 4d                	je     0x42bc18
42bbcb:	83 e8 0e             	sub    $0xe,%eax
42bbce:	74 40                	je     0x42bc10
42bbd0:	83 e8 01             	sub    $0x1,%eax
42bbd3:	74 2f                	je     0x42bc04
42bbd5:	83 e8 0b             	sub    $0xb,%eax
42bbd8:	74 1e                	je     0x42bbf8
42bbda:	83 e8 06             	sub    $0x6,%eax
42bbdd:	74 11                	je     0x42bbf0
42bbdf:	83 e8 04             	sub    $0x4,%eax
42bbe2:	0f 85 3e 01 00 00    	jne    0x42bd26
42bbe8:	56                   	push   %esi
42bbe9:	e8 c6 02 00 00       	call   0x42beb4
42bbee:	eb 2e                	jmp    0x42bc1e
42bbf0:	56                   	push   %esi
42bbf1:	e8 9e 02 00 00       	call   0x42be94
42bbf6:	eb 26                	jmp    0x42bc1e
42bbf8:	8d 45 ff             	lea    -0x1(%ebp),%eax
42bbfb:	50                   	push   %eax
42bbfc:	56                   	push   %esi
42bbfd:	e8 3a 02 00 00       	call   0x42be3c
42bc02:	eb b2                	jmp    0x42bbb6
42bc04:	8d 45 ff             	lea    -0x1(%ebp),%eax
42bc07:	50                   	push   %eax
42bc08:	56                   	push   %esi
42bc09:	e8 0c 02 00 00       	call   0x42be1a
42bc0e:	eb a6                	jmp    0x42bbb6
42bc10:	56                   	push   %esi
42bc11:	e8 e4 01 00 00       	call   0x42bdfa
42bc16:	eb 06                	jmp    0x42bc1e
42bc18:	56                   	push   %esi
42bc19:	e8 bd 01 00 00       	call   0x42bddb
42bc1e:	59                   	pop    %ecx
42bc1f:	6a 0a                	push   $0xa
42bc21:	5a                   	pop    %edx
42bc22:	8a c8                	mov    %al,%cl
42bc24:	0f b6 c1             	movzbl %cl,%eax
42bc27:	f7 d8                	neg    %eax
42bc29:	1b c0                	sbb    %eax,%eax
42bc2b:	83 e0 02             	and    $0x2,%eax
42bc2e:	03 f8                	add    %eax,%edi
42bc30:	84 c9                	test   %cl,%cl
42bc32:	0f 85 18 ff ff ff    	jne    0x42bb50
42bc38:	84 ff                	test   %bh,%bh
42bc3a:	74 03                	je     0x42bc3f
42bc3c:	83 c7 02             	add    $0x2,%edi
42bc3f:	6a 20                	push   $0x20
42bc41:	58                   	pop    %eax
42bc42:	eb 03                	jmp    0x42bc47
42bc44:	83 c7 02             	add    $0x2,%edi
42bc47:	66 39 07             	cmp    %ax,(%edi)
42bc4a:	74 f8                	je     0x42bc44
42bc4c:	84 ff                	test   %bh,%bh
42bc4e:	75 14                	jne    0x42bc64
42bc50:	33 c0                	xor    %eax,%eax
42bc52:	66 39 07             	cmp    %ax,(%edi)
42bc55:	0f 85 cb 00 00 00    	jne    0x42bd26
42bc5b:	c6 46 08 01          	movb   $0x1,0x8(%esi)
42bc5f:	e9 d2 00 00 00       	jmp    0x42bd36
42bc64:	6a 03                	push   $0x3
42bc66:	68 b8 1f 44 00       	push   $0x441fb8
42bc6b:	57                   	push   %edi
42bc6c:	e8 6b a9 ff ff       	call   0x4265dc
42bc71:	83 c4 0c             	add    $0xc,%esp
42bc74:	85 c0                	test   %eax,%eax
42bc76:	0f 85 aa 00 00 00    	jne    0x42bd26
42bc7c:	83 c7 06             	add    $0x6,%edi
42bc7f:	6a 20                	push   $0x20
42bc81:	5b                   	pop    %ebx
42bc82:	0f b7 07             	movzwl (%edi),%eax
42bc85:	8b c8                	mov    %eax,%ecx
42bc87:	66 3b c3             	cmp    %bx,%ax
42bc8a:	75 0d                	jne    0x42bc99
42bc8c:	83 c7 02             	add    $0x2,%edi
42bc8f:	0f b7 07             	movzwl (%edi),%eax
42bc92:	66 3b c3             	cmp    %bx,%ax
42bc95:	74 f5                	je     0x42bc8c
42bc97:	8b c8                	mov    %eax,%ecx
42bc99:	66 83 f9 3d          	cmp    $0x3d,%cx
42bc9d:	0f 85 83 00 00 00    	jne    0x42bd26
42bca3:	83 c7 02             	add    $0x2,%edi
42bca6:	66 39 1f             	cmp    %bx,(%edi)
42bca9:	74 f8                	je     0x42bca3
42bcab:	6a 05                	push   $0x5
42bcad:	68 c0 1f 44 00       	push   $0x441fc0
42bcb2:	57                   	push   %edi
42bcb3:	e8 05 a8 ff ff       	call   0x4264bd
42bcb8:	83 c4 0c             	add    $0xc,%esp
42bcbb:	85 c0                	test   %eax,%eax
42bcbd:	75 0a                	jne    0x42bcc9
42bcbf:	81 0e 00 00 04 00    	orl    $0x40000,(%esi)
42bcc5:	6a 0a                	push   $0xa
42bcc7:	eb 3a                	jmp    0x42bd03
42bcc9:	6a 08                	push   $0x8
42bccb:	68 cc 1f 44 00       	push   $0x441fcc
42bcd0:	57                   	push   %edi
42bcd1:	e8 e7 a7 ff ff       	call   0x4264bd
42bcd6:	83 c4 0c             	add    $0xc,%esp
42bcd9:	85 c0                	test   %eax,%eax
42bcdb:	75 0a                	jne    0x42bce7
42bcdd:	81 0e 00 00 02 00    	orl    $0x20000,(%esi)
42bce3:	6a 10                	push   $0x10
42bce5:	eb 1c                	jmp    0x42bd03
42bce7:	6a 07                	push   $0x7
42bce9:	68 dc 1f 44 00       	push   $0x441fdc
42bcee:	57                   	push   %edi
42bcef:	e8 c9 a7 ff ff       	call   0x4264bd
42bcf4:	83 c4 0c             	add    $0xc,%esp
42bcf7:	85 c0                	test   %eax,%eax
42bcf9:	75 2b                	jne    0x42bd26
42bcfb:	81 0e 00 00 01 00    	orl    $0x10000,(%esi)
42bd01:	6a 0e                	push   $0xe
42bd03:	58                   	pop    %eax
42bd04:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
42bd07:	0f b7 01             	movzwl (%ecx),%eax
42bd0a:	8b d0                	mov    %eax,%edx
42bd0c:	66 3b c3             	cmp    %bx,%ax
42bd0f:	75 0d                	jne    0x42bd1e
42bd11:	8d 49 02             	lea    0x2(%ecx),%ecx
42bd14:	0f b7 01             	movzwl (%ecx),%eax
42bd17:	66 3b c3             	cmp    %bx,%ax
42bd1a:	74 f5                	je     0x42bd11
42bd1c:	8b d0                	mov    %eax,%edx
42bd1e:	66 85 d2             	test   %dx,%dx
42bd21:	e9 2f ff ff ff       	jmp    0x42bc55
42bd26:	e8 05 7d ff ff       	call   0x423a30
42bd2b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42bd31:	e8 4d 3c ff ff       	call   0x41f983
42bd36:	5f                   	pop    %edi
42bd37:	8b c6                	mov    %esi,%eax
42bd39:	5e                   	pop    %esi
42bd3a:	5b                   	pop    %ebx
42bd3b:	c9                   	leave
42bd3c:	c3                   	ret
42bd3d:	8b ff                	mov    %edi,%edi
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