401bd8:	31 c0                	xor    %eax,%eax
401bda:	39 53 10             	cmp    %edx,0x10(%ebx)
401bdd:	75 03                	jne    0x401be2
401bdf:	89 43 0c             	mov    %eax,0xc(%ebx)
401be2:	88 03                	mov    %al,(%ebx)
401be4:	89 d0                	mov    %edx,%eax
401be6:	8b 52 fc             	mov    -0x4(%edx),%edx
401be9:	8a 1d 4d 80 4a 00    	mov    0x4a804d,%bl
401bef:	eb 70                	jmp    0x401c61
401bf1:	90                   	nop
401bf2:	90                   	nop
401bf3:	90                   	nop
401bf4:	b8 00 01 00 00       	mov    $0x100,%eax
401bf9:	f0 0f b0 23          	lock cmpxchg %ah,(%ebx)
401bfd:	74 94                	je     0x401b93
401bff:	51                   	push   %ecx
401c00:	52                   	push   %edx
401c01:	6a 00                	push   $0x0
401c03:	e8 a8 f7 ff ff       	call   0x4013b0
401c08:	5a                   	pop    %edx
401c09:	59                   	pop    %ecx
401c0a:	b8 00 01 00 00       	mov    $0x100,%eax
401c0f:	f0 0f b0 23          	lock cmpxchg %ah,(%ebx)
401c13:	0f 84 7a ff ff ff    	je     0x401b93
401c19:	51                   	push   %ecx
401c1a:	52                   	push   %edx
401c1b:	6a 0a                	push   $0xa
401c1d:	e8 8e f7 ff ff       	call   0x4013b0
401c22:	5a                   	pop    %edx
401c23:	59                   	pop    %ecx
401c24:	eb ce                	jmp    0x401bf4
401c26:	90                   	nop
401c27:	90                   	nop
401c28:	b8 00 01 00 00       	mov    $0x100,%eax
401c2d:	f0 0f b0 25 18 87 4a 	lock cmpxchg %ah,0x4a8718
401c34:	00
401c35:	74 36                	je     0x401c6d
401c37:	6a 00                	push   $0x0
401c39:	e8 72 f7 ff ff       	call   0x4013b0
401c3e:	b8 00 01 00 00       	mov    $0x100,%eax
401c43:	f0 0f b0 25 18 87 4a 	lock cmpxchg %ah,0x4a8718
401c4a:	00
401c4b:	74 20                	je     0x401c6d
401c4d:	6a 0a                	push   $0xa
401c4f:	e8 5c f7 ff ff       	call   0x4013b0
401c54:	eb d2                	jmp    0x401c28
401c56:	90                   	nop
401c57:	90                   	nop
401c58:	f6 c2 05             	test   $0x5,%dl
401c5b:	0f 85 e7 00 00 00    	jne    0x401d48
401c61:	83 e2 f0             	and    $0xfffffff0,%edx
401c64:	84 db                	test   %bl,%bl
401c66:	89 d3                	mov    %edx,%ebx
401c68:	56                   	push   %esi
401c69:	89 c6                	mov    %eax,%esi
401c6b:	75 bb                	jne    0x401c28
401c6d:	f7 44 33 fc 01 00 00 	testl  $0x1,-0x4(%ebx,%esi,1)
401c74:	00
401c75:	8b 4c 33 fc          	mov    -0x4(%ebx,%esi,1),%ecx
401c79:	75 35                	jne    0x401cb0
401c7b:	83 c9 08             	or     $0x8,%ecx
401c7e:	89 4c 33 fc          	mov    %ecx,-0x4(%ebx,%esi,1)
401c82:	f6 46 fc 08          	testb  $0x8,-0x4(%esi)
401c86:	75 40                	jne    0x401cc8
401c88:	81 fb f0 ff 13 00    	cmp    $0x13fff0,%ebx
401c8e:	74 50                	je     0x401ce0
401c90:	8d 43 03             	lea    0x3(%ebx),%eax
401c93:	89 46 fc             	mov    %eax,-0x4(%esi)
401c96:	89 5c 33 f8          	mov    %ebx,-0x8(%ebx,%esi,1)
401c9a:	89 f0                	mov    %esi,%eax
401c9c:	89 da                	mov    %ebx,%edx
401c9e:	e8 49 f9 ff ff       	call   0x4015ec
401ca3:	c6 05 18 87 4a 00 00 	movb   $0x0,0x4a8718
401caa:	31 c0                	xor    %eax,%eax
401cac:	5e                   	pop    %esi
401cad:	5b                   	pop    %ebx
401cae:	c3                   	ret
401caf:	90                   	nop
401cb0:	8d 04 33             	lea    (%ebx,%esi,1),%eax
401cb3:	83 e1 f0             	and    $0xfffffff0,%ecx
401cb6:	01 cb                	add    %ecx,%ebx
401cb8:	81 f9 30 0b 00 00    	cmp    $0xb30,%ecx
401cbe:	72 c2                	jb     0x401c82
401cc0:	e8 e7 f8 ff ff       	call   0x4015ac
401cc5:	eb bb                	jmp    0x401c82
401cc7:	90                   	nop
401cc8:	8b 4e f8             	mov    -0x8(%esi),%ecx
401ccb:	29 ce                	sub    %ecx,%esi
401ccd:	01 cb                	add    %ecx,%ebx
401ccf:	81 f9 30 0b 00 00    	cmp    $0xb30,%ecx
401cd5:	72 b1                	jb     0x401c88
401cd7:	89 f0                	mov    %esi,%eax
401cd9:	e8 ce f8 ff ff       	call   0x4015ac
401cde:	eb a8                	jmp    0x401c88
401ce0:	81 3d 20 87 4a 00 f0 	cmpl   $0x13fff0,0x4a8720
401ce7:	ff 13 00
401cea:	75 2c                	jne    0x401d18
401cec:	83 ee 10             	sub    $0x10,%esi
401cef:	8b 06                	mov    (%esi),%eax
401cf1:	8b 56 04             	mov    0x4(%esi),%edx
401cf4:	89 50 04             	mov    %edx,0x4(%eax)
401cf7:	89 02                	mov    %eax,(%edx)
401cf9:	c6 05 18 87 4a 00 00 	movb   $0x0,0x4a8718
401d00:	68 00 80 00 00       	push   $0x8000
401d05:	6a 00                	push   $0x0
401d07:	56                   	push   %esi
401d08:	e8 9b f6 ff ff       	call   0x4013a8
401d0d:	83 f8 01             	cmp    $0x1,%eax
401d10:	19 c0                	sbb    %eax,%eax
401d12:	5e                   	pop    %esi
401d13:	5b                   	pop    %ebx
401d14:	c3                   	ret
401d15:	90                   	nop
401d16:	90                   	nop
401d17:	90                   	nop
401d18:	8d 9e f0 ff 13 00    	lea    0x13fff0(%esi),%ebx
401d1e:	e8 29 f9 ff ff       	call   0x40164c
401d23:	c7 43 fc 02 00 00 00 	movl   $0x2,-0x4(%ebx)
401d2a:	c7 05 20 87 4a 00 f0 	movl   $0x13fff0,0x4a8720
401d31:	ff 13 00
401d34:	89 1d 1c 87 4a 00    	mov    %ebx,0x4a871c
401d3a:	c6 05 18 87 4a 00 00 	movb   $0x0,0x4a8718
401d41:	31 c0                	xor    %eax,%eax
401d43:	5e                   	pop    %esi
401d44:	5b                   	pop    %ebx
401d45:	c3                   	ret
401d46:	90                   	nop
401d47:	90                   	nop
401d48:	5b                   	pop    %ebx
401d49:	f6 c2 03             	test   $0x3,%dl
401d4c:	0f 84 82 fa ff ff    	je     0x4017d4
401d52:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
401d57:	c3                   	ret
401d58:	8b 48 fc             	mov    -0x4(%eax),%ecx
401d5b:	f6 c1 07             	test   $0x7,%cl
401d5e:	53                   	push   %ebx
401d5f:	56                   	push   %esi
401d60:	89 c6                	mov    %eax,%esi
401d62:	0f 85 88 00 00 00    	jne    0x401df0
401d68:	8b 19                	mov    (%ecx),%ebx
401d6a:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
401d6e:	83 e9 04             	sub    $0x4,%ecx
401d71:	39 d1                	cmp    %edx,%ecx
401d73:	72 37                	jb     0x401dac
401d75:	8d 1c 95 40 00 00 00 	lea    0x40(,%edx,4),%ebx
401d7c:	39 cb                	cmp    %ecx,%ebx
401d7e:	72 04                	jb     0x401d84
401d80:	5e                   	pop    %esi
401d81:	5b                   	pop    %ebx
401d82:	c3                   	ret
401d83:	90                   	nop
401d84:	89 d3                	mov    %edx,%ebx
401d86:	89 d0                	mov    %edx,%eax
401d88:	e8 83 fa ff ff       	call   0x401810
401d8d:	85 c0                	test   %eax,%eax
401d8f:	74 16                	je     0x401da7
401d91:	89 d9                	mov    %ebx,%ecx
401d93:	89 c2                	mov    %eax,%edx
401d95:	89 c3                	mov    %eax,%ebx
401d97:	89 f0                	mov    %esi,%eax
401d99:	e8 f2 f7 ff ff       	call   0x401590
401d9e:	89 f0                	mov    %esi,%eax
401da0:	e8 d3 fd ff ff       	call   0x401b78
401da5:	89 d8                	mov    %ebx,%eax
401da7:	5e                   	pop    %esi
401da8:	5b                   	pop    %ebx
401da9:	c3                   	ret
401daa:	90                   	nop
401dab:	90                   	nop
401dac:	8d 4c 09 20          	lea    0x20(%ecx,%ecx,1),%ecx
401db0:	57                   	push   %edi
401db1:	89 d7                	mov    %edx,%edi
401db3:	31 c0                	xor    %eax,%eax
401db5:	29 d1                	sub    %edx,%ecx
401db7:	83 d0 ff             	adc    $0xffffffff,%eax
401dba:	21 c8                	and    %ecx,%eax
401dbc:	01 d0                	add    %edx,%eax
401dbe:	e8 4d fa ff ff       	call   0x401810
401dc3:	85 c0                	test   %eax,%eax
401dc5:	74 24                	je     0x401deb
401dc7:	81 ff 2c 0a 04 00    	cmp    $0x40a2c,%edi
401dcd:	76 03                	jbe    0x401dd2
401dcf:	89 78 f8             	mov    %edi,-0x8(%eax)
401dd2:	0f b7 4b 02          	movzwl 0x2(%ebx),%ecx
401dd6:	83 e9 04             	sub    $0x4,%ecx
401dd9:	89 c2                	mov    %eax,%edx
401ddb:	89 c7                	mov    %eax,%edi
401ddd:	89 f0                	mov    %esi,%eax
401ddf:	ff 53 1c             	call   *0x1c(%ebx)
401de2:	89 f0                	mov    %esi,%eax
401de4:	e8 8f fd ff ff       	call   0x401b78
401de9:	89 f8                	mov    %edi,%eax
401deb:	5f                   	pop    %edi
401dec:	5e                   	pop    %esi
401ded:	5b                   	pop    %ebx
401dee:	c3                   	ret
401def:	90                   	nop
401df0:	f6 c1 05             	test   $0x5,%cl
401df3:	0f 85 4b 02 00 00    	jne    0x402044
401df9:	89 cb                	mov    %ecx,%ebx
401dfb:	83 e1 f0             	and    $0xfffffff0,%ecx
401dfe:	57                   	push   %edi
401dff:	8d 3c 01             	lea    (%ecx,%eax,1),%edi
401e02:	83 e9 04             	sub    $0x4,%ecx
401e05:	83 e3 0f             	and    $0xf,%ebx
401e08:	39 ca                	cmp    %ecx,%edx
401e0a:	55                   	push   %ebp
401e0b:	0f 87 ff 00 00 00    	ja     0x401f10
401e11:	8d 2c 12             	lea    (%edx,%edx,1),%ebp
401e14:	39 cd                	cmp    %ecx,%ebp
401e16:	72 08                	jb     0x401e20
401e18:	5d                   	pop    %ebp
401e19:	5f                   	pop    %edi
401e1a:	5e                   	pop    %esi
401e1b:	5b                   	pop    %ebx
401e1c:	c3                   	ret
401e1d:	90                   	nop
401e1e:	90                   	nop
401e1f:	90                   	nop
401e20:	81 fa 2c 0b 00 00    	cmp    $0xb2c,%edx
401e26:	73 11                	jae    0x401e39
401e28:	81 fd 2c 0b 00 00    	cmp    $0xb2c,%ebp
401e2e:	0f 82 b4 00 00 00    	jb     0x401ee8
401e34:	ba 2c 0b 00 00       	mov    $0xb2c,%edx
401e39:	8d aa d3 00 00 00    	lea    0xd3(%edx),%ebp
401e3f:	81 e5 00 ff ff ff    	and    $0xffffff00,%ebp
401e45:	83 c5 30             	add    $0x30,%ebp
401e48:	83 c1 04             	add    $0x4,%ecx
401e4b:	29 e9                	sub    %ebp,%ecx
401e4d:	80 3d 4d 80 4a 00 00 	cmpb   $0x0,0x4a804d
401e54:	74 3a                	je     0x401e90
401e56:	b8 00 01 00 00       	mov    $0x100,%eax
401e5b:	f0 0f b0 25 18 87 4a 	lock cmpxchg %ah,0x4a8718
401e62:	00
401e63:	74 23                	je     0x401e88
401e65:	51                   	push   %ecx
401e66:	6a 00                	push   $0x0
401e68:	e8 43 f5 ff ff       	call   0x4013b0
401e6d:	59                   	pop    %ecx
401e6e:	b8 00 01 00 00       	mov    $0x100,%eax
401e73:	f0 0f b0 25 18 87 4a 	lock cmpxchg %ah,0x4a8718
401e7a:	00
401e7b:	74 0b                	je     0x401e88
401e7d:	51                   	push   %ecx
401e7e:	6a 0a                	push   $0xa
401e80:	e8 2b f5 ff ff       	call   0x4013b0
401e85:	59                   	pop    %ecx
401e86:	eb ce                	jmp    0x401e56
401e88:	bb 0f 00 00 00       	mov    $0xf,%ebx
401e8d:	23 5e fc             	and    -0x4(%esi),%ebx
401e90:	09 eb                	or     %ebp,%ebx
401e92:	89 5e fc             	mov    %ebx,-0x4(%esi)
401e95:	89 cb                	mov    %ecx,%ebx
401e97:	8b 57 fc             	mov    -0x4(%edi),%edx
401e9a:	f6 c2 01             	test   $0x1,%dl
401e9d:	75 09                	jne    0x401ea8
401e9f:	83 ca 08             	or     $0x8,%edx
401ea2:	89 57 fc             	mov    %edx,-0x4(%edi)
401ea5:	eb 17                	jmp    0x401ebe
401ea7:	90                   	nop
401ea8:	89 f8                	mov    %edi,%eax
401eaa:	83 e2 f0             	and    $0xfffffff0,%edx
401ead:	01 d3                	add    %edx,%ebx
401eaf:	01 d7                	add    %edx,%edi
401eb1:	81 fa 30 0b 00 00    	cmp    $0xb30,%edx
401eb7:	72 05                	jb     0x401ebe
401eb9:	e8 ee f6 ff ff       	call   0x4015ac
401ebe:	89 5f f8             	mov    %ebx,-0x8(%edi)
401ec1:	8d 43 03             	lea    0x3(%ebx),%eax
401ec4:	89 44 2e fc          	mov    %eax,-0x4(%esi,%ebp,1)
401ec8:	81 fb 30 0b 00 00    	cmp    $0xb30,%ebx
401ece:	72 0a                	jb     0x401eda
401ed0:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
401ed3:	89 da                	mov    %ebx,%edx
401ed5:	e8 12 f7 ff ff       	call   0x4015ec
401eda:	c6 05 18 87 4a 00 00 	movb   $0x0,0x4a8718
401ee1:	89 f0                	mov    %esi,%eax
401ee3:	5d                   	pop    %ebp
401ee4:	5f                   	pop    %edi
401ee5:	5e                   	pop    %esi
401ee6:	5b                   	pop    %ebx
401ee7:	c3                   	ret
401ee8:	89 d7                	mov    %edx,%edi
401eea:	89 d0                	mov    %edx,%eax
401eec:	e8 1f f9 ff ff       	call   0x401810
401ef1:	85 c0                	test   %eax,%eax
401ef3:	74 16                	je     0x401f0b
401ef5:	89 c5                	mov    %eax,%ebp
401ef7:	89 c2                	mov    %eax,%edx
401ef9:	89 f0                	mov    %esi,%eax
401efb:	89 f9                	mov    %edi,%ecx
401efd:	e8 8e f6 ff ff       	call   0x401590
401f02:	89 f0                	mov    %esi,%eax
401f04:	e8 6f fc ff ff       	call   0x401b78
401f09:	89 e8                	mov    %ebp,%eax
401f0b:	5d                   	pop    %ebp
401f0c:	5f                   	pop    %edi
401f0d:	5e                   	pop    %esi
401f0e:	5b                   	pop    %ebx
401f0f:	c3                   	ret
401f10:	8b 47 fc             	mov    -0x4(%edi),%eax
401f13:	a8 01                	test   $0x1,%al
401f15:	0f 84 e1 00 00 00    	je     0x401ffc
401f1b:	83 e0 f0             	and    $0xfffffff0,%eax
401f1e:	8d 2c 01             	lea    (%ecx,%eax,1),%ebp
401f21:	39 ea                	cmp    %ebp,%edx
401f23:	0f 87 d3 00 00 00    	ja     0x401ffc
401f29:	80 3d 4d 80 4a 00 00 	cmpb   $0x0,0x4a804d
401f30:	74 4f                	je     0x401f81
401f32:	b8 00 01 00 00       	mov    $0x100,%eax
401f37:	f0 0f b0 25 18 87 4a 	lock cmpxchg %ah,0x4a8718
401f3e:	00
401f3f:	74 27                	je     0x401f68
401f41:	51                   	push   %ecx
401f42:	52                   	push   %edx
401f43:	6a 00                	push   $0x0
401f45:	e8 66 f4 ff ff       	call   0x4013b0
401f4a:	5a                   	pop    %edx
401f4b:	59                   	pop    %ecx
401f4c:	b8 00 01 00 00       	mov    $0x100,%eax
401f51:	f0 0f b0 25 18 87 4a 	lock cmpxchg %ah,0x4a8718
401f58:	00
401f59:	74 0d                	je     0x401f68
401f5b:	51                   	push   %ecx
401f5c:	52                   	push   %edx
401f5d:	6a 0a                	push   $0xa
401f5f:	e8 4c f4 ff ff       	call   0x4013b0
401f64:	5a                   	pop    %edx
401f65:	59                   	pop    %ecx
401f66:	eb ca                	jmp    0x401f32
401f68:	bb 0f 00 00 00       	mov    $0xf,%ebx
401f6d:	23 5e fc             	and    -0x4(%esi),%ebx
401f70:	8b 47 fc             	mov    -0x4(%edi),%eax
401f73:	a8 01                	test   $0x1,%al
401f75:	74 7e                	je     0x401ff5
401f77:	83 e0 f0             	and    $0xfffffff0,%eax
401f7a:	8d 2c 01             	lea    (%ecx,%eax,1),%ebp
401f7d:	39 ea                	cmp    %ebp,%edx
401f7f:	77 74                	ja     0x401ff5
401f81:	3d 30 0b 00 00       	cmp    $0xb30,%eax
401f86:	72 0b                	jb     0x401f93
401f88:	89 f8                	mov    %edi,%eax
401f8a:	51                   	push   %ecx
401f8b:	52                   	push   %edx
401f8c:	e8 1b f6 ff ff       	call   0x4015ac
401f91:	5a                   	pop    %edx
401f92:	59                   	pop    %ecx
401f93:	89 c8                	mov    %ecx,%eax
401f95:	c1 e8 02             	shr    $0x2,%eax
401f98:	01 c8                	add    %ecx,%eax