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
473034:	5d                   	pop    %ebp
473035:	c2 04 00             	ret    $0x4
473038:	53                   	push   %ebx
473039:	56                   	push   %esi
47303a:	e8 05 0e f9 ff       	call   0x403e44
47303f:	8b da                	mov    %edx,%ebx
473041:	8b f0                	mov    %eax,%esi
473043:	8b d3                	mov    %ebx,%edx
473045:	80 e2 fc             	and    $0xfc,%dl
473048:	8b c6                	mov    %esi,%eax
47304a:	e8 a1 e0 ff ff       	call   0x4710f0
47304f:	80 be b4 00 00 00 00 	cmpb   $0x0,0xb4(%esi)
473056:	75 20                	jne    0x473078
473058:	83 be b0 00 00 00 00 	cmpl   $0x0,0xb0(%esi)
47305f:	74 17                	je     0x473078
473061:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
473067:	f6 40 1c 20          	testb  $0x20,0x1c(%eax)
47306b:	75 0b                	jne    0x473078
47306d:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
473073:	e8 00 0a f9 ff       	call   0x403a78
473078:	84 db                	test   %bl,%bl
47307a:	7e 07                	jle    0x473083
47307c:	8b c6                	mov    %esi,%eax
47307e:	e8 a9 0d f9 ff       	call   0x403e2c
473083:	5e                   	pop    %esi
473084:	5b                   	pop    %ebx
473085:	c3                   	ret
473086:	8b c0                	mov    %eax,%eax
473088:	53                   	push   %ebx
473089:	56                   	push   %esi
47308a:	57                   	push   %edi
47308b:	8b d9                	mov    %ecx,%ebx
47308d:	8b f2                	mov    %edx,%esi
47308f:	8b f8                	mov    %eax,%edi
473091:	8b cb                	mov    %ebx,%ecx
473093:	8b d6                	mov    %esi,%edx
473095:	8b c7                	mov    %edi,%eax
473097:	e8 ac e5 ff ff       	call   0x471648
47309c:	80 fb 01             	cmp    $0x1,%bl
47309f:	75 11                	jne    0x4730b2
4730a1:	3b b7 b0 00 00 00    	cmp    0xb0(%edi),%esi
4730a7:	75 09                	jne    0x4730b2
4730a9:	33 d2                	xor    %edx,%edx
4730ab:	8b c7                	mov    %edi,%eax
4730ad:	e8 06 00 00 00       	call   0x4730b8
4730b2:	5f                   	pop    %edi
4730b3:	5e                   	pop    %esi
4730b4:	5b                   	pop    %ebx
4730b5:	c3                   	ret
4730b6:	8b c0                	mov    %eax,%eax
4730b8:	53                   	push   %ebx
4730b9:	8b d8                	mov    %eax,%ebx
4730bb:	3b 93 b0 00 00 00    	cmp    0xb0(%ebx),%edx
4730c1:	74 1c                	je     0x4730df
4730c3:	89 93 b0 00 00 00    	mov    %edx,0xb0(%ebx)
4730c9:	85 d2                	test   %edx,%edx
4730cb:	74 09                	je     0x4730d6
4730cd:	8b c2                	mov    %edx,%eax
4730cf:	8b d3                	mov    %ebx,%edx
4730d1:	e8 52 16 fb ff       	call   0x424728
4730d6:	b2 01                	mov    $0x1,%dl
4730d8:	8b c3                	mov    %ebx,%eax
4730da:	8b 08                	mov    (%eax),%ecx
4730dc:	ff 51 30             	call   *0x30(%ecx)
4730df:	5b                   	pop    %ebx
4730e0:	c3                   	ret
4730e1:	8d 40 00             	lea    0x0(%eax),%eax
4730e4:	55                   	push   %ebp
4730e5:	8b ec                	mov    %esp,%ebp
4730e7:	53                   	push   %ebx
4730e8:	56                   	push   %esi
4730e9:	84 d2                	test   %dl,%dl
4730eb:	74 08                	je     0x4730f5
4730ed:	83 c4 f0             	add    $0xfffffff0,%esp
4730f0:	e8 e7 0c f9 ff       	call   0x403ddc
4730f5:	8b da                	mov    %edx,%ebx
4730f7:	8b f0                	mov    %eax,%esi
4730f9:	8b 45 0c             	mov    0xc(%ebp),%eax
4730fc:	89 46 1c             	mov    %eax,0x1c(%esi)
4730ff:	89 4e 24             	mov    %ecx,0x24(%esi)
473102:	8b 45 08             	mov    0x8(%ebp),%eax
473105:	89 46 18             	mov    %eax,0x18(%esi)
473108:	e8 0f d9 ff ff       	call   0x470a1c
47310d:	8b c6                	mov    %esi,%eax
47310f:	84 db                	test   %bl,%bl
473111:	74 0f                	je     0x473122
473113:	e8 1c 0d f9 ff       	call   0x403e34
473118:	64 8f 05 00 00 00 00 	pop    %fs:0x0
47311f:	83 c4 0c             	add    $0xc,%esp
473122:	8b c6                	mov    %esi,%eax
473124:	5e                   	pop    %esi
473125:	5b                   	pop    %ebx
473126:	5d                   	pop    %ebp
473127:	c2 08 00             	ret    $0x8
47312a:	8b c0                	mov    %eax,%eax
47312c:	53                   	push   %ebx
47312d:	56                   	push   %esi
47312e:	e8 11 0d f9 ff       	call   0x403e44
473133:	8b da                	mov    %edx,%ebx
473135:	8b f0                	mov    %eax,%esi
473137:	8b c6                	mov    %esi,%eax
473139:	e8 c2 d9 ff ff       	call   0x470b00
47313e:	8b 46 28             	mov    0x28(%esi),%eax
473141:	85 c0                	test   %eax,%eax
473143:	74 09                	je     0x47314e
473145:	8b 10                	mov    (%eax),%edx
473147:	ff 12                	call   *(%edx)
473149:	33 c0                	xor    %eax,%eax
47314b:	89 46 28             	mov    %eax,0x28(%esi)
47314e:	8b d3                	mov    %ebx,%edx
473150:	80 e2 fc             	and    $0xfc,%dl
473153:	8b c6                	mov    %esi,%eax
473155:	e8 0e 09 f9 ff       	call   0x403a68
47315a:	e8 c9 d8 ff ff       	call   0x470a28
47315f:	84 db                	test   %bl,%bl
473161:	7e 07                	jle    0x47316a
473163:	8b c6                	mov    %esi,%eax
473165:	e8 c2 0c f9 ff       	call   0x403e2c
47316a:	5e                   	pop    %esi
47316b:	5b                   	pop    %ebx
47316c:	c3                   	ret
47316d:	8d 40 00             	lea    0x0(%eax),%eax
473170:	53                   	push   %ebx
473171:	56                   	push   %esi
473172:	8b f2                	mov    %edx,%esi
473174:	8b d8                	mov    %eax,%ebx
473176:	83 7b 28 00          	cmpl   $0x0,0x28(%ebx)
47317a:	75 24                	jne    0x4731a0
47317c:	e8 e7 a2 ff ff       	call   0x46d468
473181:	84 c0                	test   %al,%al
473183:	75 0a                	jne    0x47318f
473185:	8b c6                	mov    %esi,%eax
473187:	e8 a8 36 f9 ff       	call   0x406834
47318c:	5e                   	pop    %esi
47318d:	5b                   	pop    %ebx
47318e:	c3                   	ret
47318f:	8b cb                	mov    %ebx,%ecx
473191:	b2 01                	mov    $0x1,%dl
473193:	a1 90 d3 46 00       	mov    0x46d390,%eax
473198:	e8 0f b4 ff ff       	call   0x46e5ac
47319d:	89 43 28             	mov    %eax,0x28(%ebx)
4731a0:	8b c6                	mov    %esi,%eax
4731a2:	8b 53 28             	mov    0x28(%ebx),%edx
4731a5:	85 d2                	test   %edx,%edx
4731a7:	74 03                	je     0x4731ac
4731a9:	83 ea f4             	sub    $0xfffffff4,%edx
4731ac:	e8 9b 36 f9 ff       	call   0x40684c
4731b1:	5e                   	pop    %esi
4731b2:	5b                   	pop    %ebx
4731b3:	c3                   	ret
4731b4:	55                   	push   %ebp
4731b5:	8b ec                	mov    %esp,%ebp
4731b7:	6a 00                	push   $0x0
4731b9:	53                   	push   %ebx
4731ba:	56                   	push   %esi
4731bb:	8b da                	mov    %edx,%ebx
4731bd:	8b f0                	mov    %eax,%esi
4731bf:	33 c0                	xor    %eax,%eax
4731c1:	55                   	push   %ebp
4731c2:	68 08 32 47 00       	push   $0x473208
4731c7:	64 ff 30             	push   %fs:(%eax)
4731ca:	64 89 20             	mov    %esp,%fs:(%eax)
4731cd:	8d 55 fc             	lea    -0x4(%ebp),%edx
4731d0:	8b c6                	mov    %esi,%eax
4731d2:	e8 99 ff ff ff       	call   0x473170
4731d7:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4731db:	74 15                	je     0x4731f2
4731dd:	8b 46 28             	mov    0x28(%esi),%eax
4731e0:	8b 15 90 d3 46 00    	mov    0x46d390,%edx
4731e6:	e8 3d 0a f9 ff       	call   0x403c28
4731eb:	8b d3                	mov    %ebx,%edx
4731ed:	e8 ae b5 ff ff       	call   0x46e7a0
4731f2:	33 c0                	xor    %eax,%eax
4731f4:	5a                   	pop    %edx
4731f5:	59                   	pop    %ecx