472ca5:	8d 40 00             	lea    0x0(%eax),%eax
472ca8:	53                   	push   %ebx
472ca9:	56                   	push   %esi
472caa:	57                   	push   %edi
472cab:	55                   	push   %ebp
472cac:	8b d8                	mov    %eax,%ebx
472cae:	66 8b 7b 3f          	mov    0x3f(%ebx),%di
472cb2:	80 7b 70 00          	cmpb   $0x0,0x70(%ebx)
472cb6:	74 1e                	je     0x472cd6
472cb8:	83 bb 90 00 00 00 00 	cmpl   $0x0,0x90(%ebx)
472cbf:	74 15                	je     0x472cd6
472cc1:	8b 83 90 00 00 00    	mov    0x90(%ebx),%eax
472cc7:	66 8b 35 48 2d 47 00 	mov    0x472d48,%si
472cce:	f7 d6                	not    %esi
472cd0:	66 23 70 3f          	and    0x3f(%eax),%si
472cd4:	eb 07                	jmp    0x472cdd
472cd6:	66 8b 35 4c 2d 47 00 	mov    0x472d4c,%si
472cdd:	66 8b 53 6c          	mov    0x6c(%ebx),%dx
472ce1:	f7 d2                	not    %edx
472ce3:	66 23 d6             	and    %si,%dx
472ce6:	66 0b 53 6e          	or     0x6e(%ebx),%dx
472cea:	8b c3                	mov    %ebx,%eax
472cec:	e8 9b ff ff ff       	call   0x472c8c
472cf1:	8b f0                	mov    %eax,%esi
472cf3:	8b c6                	mov    %esi,%eax
472cf5:	66 3b 43 3f          	cmp    0x3f(%ebx),%ax
472cf9:	74 45                	je     0x472d40
472cfb:	66 89 73 3f          	mov    %si,0x3f(%ebx)
472cff:	66 8b 2d 50 2d 47 00 	mov    0x472d50,%bp
472d06:	66 23 ee             	and    %si,%bp
472d09:	66 a1 50 2d 47 00    	mov    0x472d50,%ax
472d0f:	66 23 c7             	and    %di,%ax
472d12:	66 3b e8             	cmp    %ax,%bp
472d15:	74 09                	je     0x472d20
472d17:	b2 01                	mov    $0x1,%dl
472d19:	8b c3                	mov    %ebx,%eax
472d1b:	8b 08                	mov    (%eax),%ecx
472d1d:	ff 51 30             	call   *0x30(%ecx)
472d20:	8b 73 60             	mov    0x60(%ebx),%esi
472d23:	4e                   	dec    %esi
472d24:	85 f6                	test   %esi,%esi
472d26:	7c 18                	jl     0x472d40
472d28:	46                   	inc    %esi
472d29:	33 ff                	xor    %edi,%edi
472d2b:	8b 43 5c             	mov    0x5c(%ebx),%eax
472d2e:	8b 04 b8             	mov    (%eax,%edi,4),%eax
472d31:	80 78 70 00          	cmpb   $0x0,0x70(%eax)
472d35:	74 05                	je     0x472d3c
472d37:	e8 6c ff ff ff       	call   0x472ca8
472d3c:	47                   	inc    %edi
472d3d:	4e                   	dec    %esi
472d3e:	75 eb                	jne    0x472d2b
472d40:	5d                   	pop    %ebp
472d41:	5f                   	pop    %edi
472d42:	5e                   	pop    %esi
472d43:	5b                   	pop    %ebx
472d44:	c3                   	ret
472d45:	00 00                	add    %al,(%eax)
472d47:	00 01                	add    %al,(%ecx)
472d49:	00 00                	add    %al,(%eax)
472d4b:	00 00                	add    %al,(%eax)
472d4d:	00 00                	add    %al,(%eax)
472d4f:	00 67 03             	add    %ah,0x3(%edi)
472d52:	00 00                	add    %al,(%eax)
472d54:	53                   	push   %ebx
472d55:	51                   	push   %ecx
472d56:	66 89 14 24          	mov    %dx,(%esp)
472d5a:	8b d8                	mov    %eax,%ebx
472d5c:	66 8b 04 24          	mov    (%esp),%ax
472d60:	66 3b 43 6c          	cmp    0x6c(%ebx),%ax
472d64:	74 0f                	je     0x472d75
472d66:	66 8b 04 24          	mov    (%esp),%ax
472d6a:	66 89 43 6c          	mov    %ax,0x6c(%ebx)
472d6e:	8b c3                	mov    %ebx,%eax
472d70:	e8 33 ff ff ff       	call   0x472ca8
472d75:	5a                   	pop    %edx
472d76:	5b                   	pop    %ebx
472d77:	c3                   	ret
472d78:	53                   	push   %ebx
472d79:	51                   	push   %ecx
472d7a:	66 89 14 24          	mov    %dx,(%esp)
472d7e:	8b d8                	mov    %eax,%ebx
472d80:	66 8b 14 24          	mov    (%esp),%dx
472d84:	8b c3                	mov    %ebx,%eax
472d86:	e8 01 ff ff ff       	call   0x472c8c
472d8b:	66 89 04 24          	mov    %ax,(%esp)
472d8f:	66 8b 04 24          	mov    (%esp),%ax
472d93:	66 3b 43 6e          	cmp    0x6e(%ebx),%ax
472d97:	74 0f                	je     0x472da8
472d99:	66 8b 04 24          	mov    (%esp),%ax
472d9d:	66 89 43 6e          	mov    %ax,0x6e(%ebx)
472da1:	8b c3                	mov    %ebx,%eax
472da3:	e8 00 ff ff ff       	call   0x472ca8
472da8:	5a                   	pop    %edx
472da9:	5b                   	pop    %ebx
472daa:	c3                   	ret
472dab:	90                   	nop
472dac:	3a 90 a8 00 00 00    	cmp    0xa8(%eax),%dl
472db2:	74 0d                	je     0x472dc1
472db4:	88 90 a8 00 00 00    	mov    %dl,0xa8(%eax)
472dba:	b2 01                	mov    $0x1,%dl
472dbc:	8b 08                	mov    (%eax),%ecx
472dbe:	ff 51 30             	call   *0x30(%ecx)
472dc1:	c3                   	ret
472dc2:	8b c0                	mov    %eax,%eax
472dc4:	53                   	push   %ebx
472dc5:	56                   	push   %esi
472dc6:	84 d2                	test   %dl,%dl
472dc8:	74 08                	je     0x472dd2
472dca:	83 c4 f0             	add    $0xfffffff0,%esp
472dcd:	e8 0a 10 f9 ff       	call   0x403ddc
472dd2:	8b da                	mov    %edx,%ebx
472dd4:	8b f0                	mov    %eax,%esi
472dd6:	33 d2                	xor    %edx,%edx
472dd8:	8b c6                	mov    %esi,%eax
472dda:	e8 b1 e2 ff ff       	call   0x471090
472ddf:	66 a1 10 2e 47 00    	mov    0x472e10,%ax
472de5:	f7 d0                	not    %eax
472de7:	66 23 46 64          	and    0x64(%esi),%ax
472deb:	66 0b 05 14 2e 47 00 	or     0x472e14,%ax
472df2:	66 89 46 64          	mov    %ax,0x64(%esi)
472df6:	8b c6                	mov    %esi,%eax
472df8:	84 db                	test   %bl,%bl
472dfa:	74 0f                	je     0x472e0b
472dfc:	e8 33 10 f9 ff       	call   0x403e34
472e01:	64 8f 05 00 00 00 00 	pop    %fs:0x0
472e08:	83 c4 0c             	add    $0xc,%esp
472e0b:	8b c6                	mov    %esi,%eax
472e0d:	5e                   	pop    %esi
472e0e:	5b                   	pop    %ebx
472e0f:	c3                   	ret
472e10:	02 18                	add    (%eax),%bl
472e12:	00 00                	add    %al,(%eax)
472e14:	14 00                	adc    $0x0,%al
472e16:	00 00                	add    %al,(%eax)
472e18:	a1 e4 02 47 00       	mov    0x4702e4,%eax
472e1d:	c3                   	ret
472e1e:	8b c0                	mov    %eax,%eax
472e20:	3a 90 b0 00 00 00    	cmp    0xb0(%eax),%dl
472e26:	74 0d                	je     0x472e35
472e28:	88 90 b0 00 00 00    	mov    %dl,0xb0(%eax)
472e2e:	33 d2                	xor    %edx,%edx
472e30:	8b 08                	mov    (%eax),%ecx
472e32:	ff 51 30             	call   *0x30(%ecx)
472e35:	c3                   	ret
472e36:	8b c0                	mov    %eax,%eax
472e38:	55                   	push   %ebp
472e39:	8b ec                	mov    %esp,%ebp
472e3b:	51                   	push   %ecx
472e3c:	53                   	push   %ebx
472e3d:	56                   	push   %esi
472e3e:	57                   	push   %edi
472e3f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
472e42:	8b fa                	mov    %edx,%edi
472e44:	8b d8                	mov    %eax,%ebx
472e46:	8b 75 08             	mov    0x8(%ebp),%esi
472e49:	8b c3                	mov    %ebx,%eax
472e4b:	8b 10                	mov    (%eax),%edx
472e4d:	ff 52 50             	call   *0x50(%edx)
472e50:	84 c0                	test   %al,%al
472e52:	75 1c                	jne    0x472e70
472e54:	8b c7                	mov    %edi,%eax
472e56:	e8 65 5e fb ff       	call   0x428cc0
472e5b:	e8 dc 8d ff ff       	call   0x46bc3c
472e60:	03 c0                	add    %eax,%eax
472e62:	ba 03 00 00 00       	mov    $0x3,%edx
472e67:	e8 bc 8d ff ff       	call   0x46bc28
472e6c:	01 06                	add    %eax,(%esi)
472e6e:	eb 0f                	jmp    0x472e7f
472e70:	8b 45 fc             	mov    -0x4(%ebp),%eax
472e73:	c7 00 06 00 00 00    	movl   $0x6,(%eax)
472e79:	c7 06 06 00 00 00    	movl   $0x6,(%esi)
472e7f:	5f                   	pop    %edi
472e80:	5e                   	pop    %esi
472e81:	5b                   	pop    %ebx
472e82:	59                   	pop    %ecx
472e83:	5d                   	pop    %ebp
472e84:	c2 04 00             	ret    $0x4
472e87:	90                   	nop
472e88:	55                   	push   %ebp
472e89:	8b ec                	mov    %esp,%ebp
472e8b:	83 c4 e8             	add    $0xffffffe8,%esp
472e8e:	53                   	push   %ebx
472e8f:	56                   	push   %esi
472e90:	57                   	push   %edi
472e91:	8b f1                	mov    %ecx,%esi
472e93:	8b d8                	mov    %eax,%ebx
472e95:	8b c2                	mov    %edx,%eax
472e97:	e8 24 5e fb ff       	call   0x428cc0
472e9c:	89 45 fc             	mov    %eax,-0x4(%ebp)
472e9f:	8b 43 1c             	mov    0x1c(%ebx),%eax
472ea2:	80 b8 b0 00 00 00 00 	cmpb   $0x0,0xb0(%eax)
472ea9:	0f 85 d2 00 00 00    	jne    0x472f81
472eaf:	8d 7d eb             	lea    -0x15(%ebp),%edi
472eb2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
472eb3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
472eb4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
472eb5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
472eb6:	8b c3                	mov    %ebx,%eax
472eb8:	8b 10                	mov    (%eax),%edx
472eba:	ff 52 50             	call   *0x50(%edx)
472ebd:	88 45 fb             	mov    %al,-0x5(%ebp)
472ec0:	8a 45 fb             	mov    -0x5(%ebp),%al
472ec3:	34 01                	xor    $0x1,%al
472ec5:	84 c0                	test   %al,%al
472ec7:	75 10                	jne    0x472ed9
472ec9:	8b 43 24             	mov    0x24(%ebx),%eax
472ecc:	80 b8 a4 00 00 00 01 	cmpb   $0x1,0xa4(%eax)
472ed3:	74 04                	je     0x472ed9
472ed5:	33 c0                	xor    %eax,%eax
472ed7:	eb 02                	jmp    0x472edb
472ed9:	b0 01                	mov    $0x1,%al
472edb:	f6 43 2c 02          	testb  $0x2,0x2c(%ebx)
472edf:	0f 95 c2             	setne  %dl
472ee2:	84 d2                	test   %dl,%dl
472ee4:	74 02                	je     0x472ee8
472ee6:	34 01                	xor    $0x1,%al
472ee8:	84 c0                	test   %al,%al
472eea:	74 65                	je     0x472f51
472eec:	8b 45 f7             	mov    -0x9(%ebp),%eax
472eef:	d1 f8                	sar    $1,%eax
472ef1:	79 03                	jns    0x472ef6
472ef3:	83 d0 00             	adc    $0x0,%eax
472ef6:	48                   	dec    %eax
472ef7:	89 45 ef             	mov    %eax,-0x11(%ebp)
472efa:	8a 45 fb             	mov    -0x5(%ebp),%al
472efd:	34 01                	xor    $0x1,%al
472eff:	84 c0                	test   %al,%al
472f01:	74 0f                	je     0x472f12
472f03:	6a 00                	push   $0x0
472f05:	6a f4                	push   $0xfffffff4
472f07:	8d 45 eb             	lea    -0x15(%ebp),%eax
472f0a:	50                   	push   %eax
472f0b:	e8 78 4c f9 ff       	call   0x407b88
472f10:	eb 2c                	jmp    0x472f3e
472f12:	84 d2                	test   %dl,%dl
472f14:	74 28                	je     0x472f3e
472f16:	8b 43 24             	mov    0x24(%ebx),%eax
472f19:	80 b8 a4 00 00 00 02 	cmpb   $0x2,0xa4(%eax)
472f20:	75 0f                	jne    0x472f31
472f22:	6a 00                	push   $0x0
472f24:	6a ff                	push   $0xffffffff
472f26:	8d 45 eb             	lea    -0x15(%ebp),%eax
472f29:	50                   	push   %eax
472f2a:	e8 59 4c f9 ff       	call   0x407b88
472f2f:	eb 0d                	jmp    0x472f3e
472f31:	6a 00                	push   $0x0
472f33:	6a fc                	push   $0xfffffffc
472f35:	8d 45 eb             	lea    -0x15(%ebp),%eax
472f38:	50                   	push   %eax
472f39:	e8 4a 4c f9 ff       	call   0x407b88
472f3e:	6a 02                	push   $0x2
472f40:	6a 06                	push   $0x6
472f42:	8d 45 eb             	lea    -0x15(%ebp),%eax
472f45:	50                   	push   %eax
472f46:	8b 45 fc             	mov    -0x4(%ebp),%eax
472f49:	50                   	push   %eax
472f4a:	e8 b9 49 f9 ff       	call   0x407908
472f4f:	eb 30                	jmp    0x472f81
472f51:	8b 45 f3             	mov    -0xd(%ebp),%eax
472f54:	d1 f8                	sar    $1,%eax
472f56:	79 03                	jns    0x472f5b
472f58:	83 d0 00             	adc    $0x0,%eax
472f5b:	48                   	dec    %eax
472f5c:	89 45 eb             	mov    %eax,-0x15(%ebp)
472f5f:	84 d2                	test   %dl,%dl
472f61:	74 0d                	je     0x472f70
472f63:	6a fc                	push   $0xfffffffc
472f65:	6a 00                	push   $0x0
472f67:	8d 45 eb             	lea    -0x15(%ebp),%eax
472f6a:	50                   	push   %eax
472f6b:	e8 18 4c f9 ff       	call   0x407b88
472f70:	6a 01                	push   $0x1
472f72:	6a 06                	push   $0x6
472f74:	8d 45 eb             	lea    -0x15(%ebp),%eax
472f77:	50                   	push   %eax
472f78:	8b 45 fc             	mov    -0x4(%ebp),%eax
472f7b:	50                   	push   %eax
472f7c:	e8 87 49 f9 ff       	call   0x407908
472f81:	5f                   	pop    %edi
472f82:	5e                   	pop    %esi
472f83:	5b                   	pop    %ebx
472f84:	8b e5                	mov    %ebp,%esp
472f86:	5d                   	pop    %ebp
472f87:	c2 0c 00             	ret    $0xc
472f8a:	8b c0                	mov    %eax,%eax
472f8c:	33 c0                	xor    %eax,%eax
472f8e:	c3                   	ret
472f8f:	90                   	nop
472f90:	53                   	push   %ebx
472f91:	56                   	push   %esi
472f92:	84 d2                	test   %dl,%dl
472f94:	74 08                	je     0x472f9e
472f96:	83 c4 f0             	add    $0xfffffff0,%esp
472f99:	e8 3e 0e f9 ff       	call   0x403ddc
472f9e:	8b da                	mov    %edx,%ebx
472fa0:	8b f0                	mov    %eax,%esi
472fa2:	33 d2                	xor    %edx,%edx
472fa4:	8b c6                	mov    %esi,%eax
472fa6:	e8 e5 e0 ff ff       	call   0x471090
472fab:	66 a1 dc 2f 47 00    	mov    0x472fdc,%ax
472fb1:	f7 d0                	not    %eax
472fb3:	66 23 46 64          	and    0x64(%esi),%ax
472fb7:	66 0b 05 e0 2f 47 00 	or     0x472fe0,%ax
472fbe:	66 89 46 64          	mov    %ax,0x64(%esi)
472fc2:	8b c6                	mov    %esi,%eax
472fc4:	84 db                	test   %bl,%bl
472fc6:	74 0f                	je     0x472fd7
472fc8:	e8 67 0e f9 ff       	call   0x403e34
472fcd:	64 8f 05 00 00 00 00 	pop    %fs:0x0
472fd4:	83 c4 0c             	add    $0xc,%esp
472fd7:	8b c6                	mov    %esi,%eax
472fd9:	5e                   	pop    %esi
472fda:	5b                   	pop    %ebx
472fdb:	c3                   	ret
472fdc:	02 00                	add    (%eax),%al
472fde:	00 00                	add    %al,(%eax)
472fe0:	10 00                	adc    %al,(%eax)
472fe2:	00 00                	add    %al,(%eax)
472fe4:	55                   	push   %ebp
472fe5:	8b ec                	mov    %esp,%ebp
472fe7:	51                   	push   %ecx
472fe8:	53                   	push   %ebx
472fe9:	56                   	push   %esi
472fea:	84 d2                	test   %dl,%dl
472fec:	74 08                	je     0x472ff6
472fee:	83 c4 f0             	add    $0xfffffff0,%esp
472ff1:	e8 e6 0d f9 ff       	call   0x403ddc
472ff6:	8b f1                	mov    %ecx,%esi
472ff8:	88 55 ff             	mov    %dl,-0x1(%ebp)
472ffb:	8b d8                	mov    %eax,%ebx
472ffd:	8b 45 08             	mov    0x8(%ebp),%eax
473000:	89 83 b0 00 00 00    	mov    %eax,0xb0(%ebx)
473006:	8b d3                	mov    %ebx,%edx
473008:	e8 1b 17 fb ff       	call   0x424728
47300d:	8b ce                	mov    %esi,%ecx
47300f:	33 d2                	xor    %edx,%edx
473011:	8b c3                	mov    %ebx,%eax
473013:	8b 30                	mov    (%eax),%esi
473015:	ff 56 2c             	call   *0x2c(%esi)
473018:	8b c3                	mov    %ebx,%eax
47301a:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
47301e:	74 0f                	je     0x47302f
473020:	e8 0f 0e f9 ff       	call   0x403e34
473025:	64 8f 05 00 00 00 00 	pop    %fs:0x0
47302c:	83 c4 0c             	add    $0xc,%esp
47302f:	8b c3                	mov    %ebx,%eax
473031:	5e                   	pop    %esi
473032:	5b                   	pop    %ebx
473033:	59                   	pop    %ecx