473e9b:	e8 20 4e fb ff       	call   0x428cc0
473ea0:	50                   	push   %eax
473ea1:	e8 62 3a f9 ff       	call   0x407908
473ea6:	80 7d ea 00          	cmpb   $0x0,-0x16(%ebp)
473eaa:	74 4c                	je     0x473ef8
473eac:	8b 45 fc             	mov    -0x4(%ebp),%eax
473eaf:	8b 40 1c             	mov    0x1c(%eax),%eax
473eb2:	f6 40 64 20          	testb  $0x20,0x64(%eax)
473eb6:	0f 95 c0             	setne  %al
473eb9:	34 01                	xor    $0x1,%al
473ebb:	22 45 0c             	and    0xc(%ebp),%al
473ebe:	74 0d                	je     0x473ecd
473ec0:	6a 01                	push   $0x1
473ec2:	6a 01                	push   $0x1
473ec4:	8d 45 ac             	lea    -0x54(%ebp),%eax
473ec7:	50                   	push   %eax
473ec8:	e8 ab 3d f9 ff       	call   0x407c78
473ecd:	55                   	push   %ebp
473ece:	8b 45 fc             	mov    -0x4(%ebp),%eax
473ed1:	8b 40 1c             	mov    0x1c(%eax),%eax
473ed4:	f6 40 64 20          	testb  $0x20,0x64(%eax)
473ed8:	75 0f                	jne    0x473ee9
473eda:	8b 45 fc             	mov    -0x4(%ebp),%eax
473edd:	8b 40 24             	mov    0x24(%eax),%eax
473ee0:	80 b8 a4 00 00 00 01 	cmpb   $0x1,0xa4(%eax)
473ee7:	74 04                	je     0x473eed
473ee9:	33 d2                	xor    %edx,%edx
473eeb:	eb 02                	jmp    0x473eef
473eed:	b2 01                	mov    $0x1,%dl
473eef:	8d 45 ac             	lea    -0x54(%ebp),%eax
473ef2:	e8 a5 fc ff ff       	call   0x473b9c
473ef7:	59                   	pop    %ecx
473ef8:	6a ff                	push   $0xffffffff
473efa:	6a ff                	push   $0xffffffff
473efc:	8d 45 bc             	lea    -0x44(%ebp),%eax
473eff:	50                   	push   %eax
473f00:	e8 83 3c f9 ff       	call   0x407b88
473f05:	8b 45 fc             	mov    -0x4(%ebp),%eax
473f08:	8b 40 1c             	mov    0x1c(%eax),%eax
473f0b:	80 78 3c 00          	cmpb   $0x0,0x3c(%eax)
473f0f:	74 32                	je     0x473f43
473f11:	8a 45 10             	mov    0x10(%ebp),%al
473f14:	22 45 eb             	and    -0x15(%ebp),%al
473f17:	75 2a                	jne    0x473f43
473f19:	e8 ea fc ff ff       	call   0x473c08
473f1e:	8b d0                	mov    %eax,%edx
473f20:	8b 45 f8             	mov    -0x8(%ebp),%eax
473f23:	8b 40 14             	mov    0x14(%eax),%eax
473f26:	e8 2d 43 fb ff       	call   0x428258
473f2b:	8d 55 bc             	lea    -0x44(%ebp),%edx
473f2e:	8b 45 f8             	mov    -0x8(%ebp),%eax
473f31:	e8 c6 47 fb ff       	call   0x4286fc
473f36:	8b 45 f8             	mov    -0x8(%ebp),%eax
473f39:	8b 40 14             	mov    0x14(%eax),%eax
473f3c:	b2 01                	mov    $0x1,%dl
473f3e:	e8 5d 44 fb ff       	call   0x4283a0
473f43:	6a ff                	push   $0xffffffff
473f45:	6a ff                	push   $0xffffffff
473f47:	8d 45 bc             	lea    -0x44(%ebp),%eax
473f4a:	50                   	push   %eax
473f4b:	e8 38 3c f9 ff       	call   0x407b88
473f50:	8b 45 fc             	mov    -0x4(%ebp),%eax
473f53:	8b 40 1c             	mov    0x1c(%eax),%eax
473f56:	80 78 3c 00          	cmpb   $0x0,0x3c(%eax)
473f5a:	75 20                	jne    0x473f7c
473f5c:	8a 45 10             	mov    0x10(%ebp),%al
473f5f:	22 45 0c             	and    0xc(%ebp),%al
473f62:	74 25                	je     0x473f89
473f64:	8b 45 fc             	mov    -0x4(%ebp),%eax
473f67:	8b 40 1c             	mov    0x1c(%eax),%eax
473f6a:	f6 40 64 20          	testb  $0x20,0x64(%eax)
473f6e:	74 0c                	je     0x473f7c
473f70:	8b 45 fc             	mov    -0x4(%ebp),%eax
473f73:	8b 40 24             	mov    0x24(%eax),%eax
473f76:	80 78 40 00          	cmpb   $0x0,0x40(%eax)
473f7a:	74 0d                	je     0x473f89
473f7c:	6a 01                	push   $0x1
473f7e:	6a 01                	push   $0x1
473f80:	8d 45 bc             	lea    -0x44(%ebp),%eax
473f83:	50                   	push   %eax
473f84:	e8 ef 3c f9 ff       	call   0x407c78
473f89:	80 7d ea 00          	cmpb   $0x0,-0x16(%ebp)
473f8d:	74 7b                	je     0x47400a
473f8f:	8b 45 fc             	mov    -0x4(%ebp),%eax
473f92:	8b 40 1c             	mov    0x1c(%eax),%eax
473f95:	f6 40 64 20          	testb  $0x20,0x64(%eax)
473f99:	75 6f                	jne    0x47400a
473f9b:	8b 45 fc             	mov    -0x4(%ebp),%eax
473f9e:	8b 40 24             	mov    0x24(%eax),%eax
473fa1:	80 b8 a4 00 00 00 01 	cmpb   $0x1,0xa4(%eax)
473fa8:	74 06                	je     0x473fb0
473faa:	83 6d c4 08          	subl   $0x8,-0x3c(%ebp)
473fae:	eb 5a                	jmp    0x47400a
473fb0:	83 6d c8 08          	subl   $0x8,-0x38(%ebp)
473fb4:	eb 54                	jmp    0x47400a
473fb6:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
473fba:	74 4e                	je     0x47400a
473fbc:	57                   	push   %edi
473fbd:	8d 75 bc             	lea    -0x44(%ebp),%esi
473fc0:	8d 7d cc             	lea    -0x34(%ebp),%edi
473fc3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473fc4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473fc5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473fc6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
473fc7:	5f                   	pop    %edi
473fc8:	80 7d e9 00          	cmpb   $0x0,-0x17(%ebp)
473fcc:	75 0c                	jne    0x473fda
473fce:	8b 45 fc             	mov    -0x4(%ebp),%eax
473fd1:	8b 40 1c             	mov    0x1c(%eax),%eax
473fd4:	80 78 3c 00          	cmpb   $0x0,0x3c(%eax)
473fd8:	74 07                	je     0x473fe1
473fda:	8b 45 dc             	mov    -0x24(%ebp),%eax
473fdd:	40                   	inc    %eax
473fde:	01 45 cc             	add    %eax,-0x34(%ebp)
473fe1:	8b 45 fc             	mov    -0x4(%ebp),%eax
473fe4:	8b 40 1c             	mov    0x1c(%eax),%eax
473fe7:	f6 40 64 20          	testb  $0x20,0x64(%eax)
473feb:	0f 95 c0             	setne  %al
473fee:	22 45 10             	and    0x10(%ebp),%al
473ff1:	74 0c                	je     0x473fff
473ff3:	80 7d eb 00          	cmpb   $0x0,-0x15(%ebp)
473ff7:	74 06                	je     0x473fff
473ff9:	8b 45 f4             	mov    -0xc(%ebp),%eax
473ffc:	29 45 d4             	sub    %eax,-0x2c(%ebp)
473fff:	8d 55 cc             	lea    -0x34(%ebp),%edx
474002:	8b 45 f8             	mov    -0x8(%ebp),%eax
474005:	e8 f2 46 fb ff       	call   0x4286fc
47400a:	8b 45 f8             	mov    -0x8(%ebp),%eax
47400d:	8b 40 14             	mov    0x14(%eax),%eax
474010:	b2 01                	mov    $0x1,%dl
474012:	e8 89 43 fb ff       	call   0x4283a0
474017:	8b 45 fc             	mov    -0x4(%ebp),%eax
47401a:	8b 40 1c             	mov    0x1c(%eax),%eax
47401d:	f6 40 3f 01          	testb  $0x1,0x3f(%eax)
474021:	74 1c                	je     0x47403f
474023:	8b 45 f8             	mov    -0x8(%ebp),%eax
474026:	8b 70 0c             	mov    0xc(%eax),%esi
474029:	8b c6                	mov    %esi,%eax
47402b:	e8 28 3d fb ff       	call   0x427d58
474030:	8b d0                	mov    %eax,%edx
474032:	0a 15 bc 44 47 00    	or     0x4744bc,%dl
474038:	8b c6                	mov    %esi,%eax
47403a:	e8 25 3d fb ff       	call   0x427d64
47403f:	8d 85 14 ff ff ff    	lea    -0xec(%ebp),%eax
474045:	50                   	push   %eax
474046:	8b 45 f8             	mov    -0x8(%ebp),%eax
474049:	e8 72 4c fb ff       	call   0x428cc0
47404e:	50                   	push   %eax
47404f:	e8 ec 35 f9 ff       	call   0x407640
474054:	8b 45 fc             	mov    -0x4(%ebp),%eax
474057:	66 be ff ff          	mov    $0xffff,%si
47405b:	e8 14 fc f8 ff       	call   0x403c74
474060:	84 c0                	test   %al,%al
474062:	0f 84 b3 00 00 00    	je     0x47411b
474068:	8d 55 e4             	lea    -0x1c(%ebp),%edx
47406b:	8b 45 fc             	mov    -0x4(%ebp),%eax
47406e:	8b 08                	mov    (%eax),%ecx
474070:	ff 51 18             	call   *0x18(%ecx)
474073:	57                   	push   %edi
474074:	8d 75 bc             	lea    -0x44(%ebp),%esi
474077:	8d 7d cc             	lea    -0x34(%ebp),%edi
47407a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47407b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47407c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47407d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47407e:	5f                   	pop    %edi
47407f:	55                   	push   %ebp
474080:	e8 07 f8 ff ff       	call   0x47388c
474085:	59                   	pop    %ecx
474086:	8b f0                	mov    %eax,%esi
474088:	84 db                	test   %bl,%bl
47408a:	74 4a                	je     0x4740d6
47408c:	80 7d e9 00          	cmpb   $0x0,-0x17(%ebp)
474090:	74 28                	je     0x4740ba
474092:	8b 45 fc             	mov    -0x4(%ebp),%eax
474095:	e8 3a f4 ff ff       	call   0x4734d4
47409a:	84 c0                	test   %al,%al
47409c:	75 15                	jne    0x4740b3
47409e:	8b 45 fc             	mov    -0x4(%ebp),%eax
4740a1:	8b 40 1c             	mov    0x1c(%eax),%eax
4740a4:	f6 40 3f 04          	testb  $0x4,0x3f(%eax)
4740a8:	75 09                	jne    0x4740b3
4740aa:	8b 47 34             	mov    0x34(%edi),%eax
4740ad:	40                   	inc    %eax
4740ae:	01 45 cc             	add    %eax,-0x34(%ebp)
4740b1:	eb 07                	jmp    0x4740ba
4740b3:	8b 47 30             	mov    0x30(%edi),%eax
4740b6:	40                   	inc    %eax
4740b7:	01 45 d0             	add    %eax,-0x30(%ebp)
4740ba:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4740bd:	50                   	push   %eax
4740be:	8a 45 08             	mov    0x8(%ebp),%al
4740c1:	50                   	push   %eax
4740c2:	83 ce 25             	or     $0x25,%esi
4740c5:	56                   	push   %esi
4740c6:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4740c9:	8b 55 f8             	mov    -0x8(%ebp),%edx
4740cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4740cf:	8b 30                	mov    (%eax),%esi
4740d1:	ff 56 08             	call   *0x8(%esi)
4740d4:	eb 45                	jmp    0x47411b
4740d6:	8b 45 dc             	mov    -0x24(%ebp),%eax
4740d9:	40                   	inc    %eax
4740da:	83 c0 02             	add    $0x2,%eax
4740dd:	01 45 cc             	add    %eax,-0x34(%ebp)
4740e0:	8b 55 d8             	mov    -0x28(%ebp),%edx
4740e3:	2b 55 d0             	sub    -0x30(%ebp),%edx
4740e6:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
4740ec:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
4740f2:	03 c8                	add    %eax,%ecx
4740f4:	2b d1                	sub    %ecx,%edx
4740f6:	83 fa 04             	cmp    $0x4,%edx
4740f9:	75 03                	jne    0x4740fe
4740fb:	ff 4d d8             	decl   -0x28(%ebp)
4740fe:	01 45 d0             	add    %eax,-0x30(%ebp)
474101:	8b 45 e4             	mov    -0x1c(%ebp),%eax
474104:	50                   	push   %eax
474105:	8a 45 08             	mov    0x8(%ebp),%al
474108:	50                   	push   %eax
474109:	83 ce 24             	or     $0x24,%esi
47410c:	56                   	push   %esi
47410d:	8d 4d cc             	lea    -0x34(%ebp),%ecx
474110:	8b 55 f8             	mov    -0x8(%ebp),%edx
474113:	8b 45 fc             	mov    -0x4(%ebp),%eax
474116:	8b 30                	mov    (%eax),%esi
474118:	ff 56 08             	call   *0x8(%esi)
47411b:	84 db                	test   %bl,%bl
47411d:	0f 85 10 01 00 00    	jne    0x474233
474123:	8d 55 e4             	lea    -0x1c(%ebp),%edx
474126:	8b 45 fc             	mov    -0x4(%ebp),%eax
474129:	8b 40 1c             	mov    0x1c(%eax),%eax
47412c:	e8 bb e7 ff ff       	call   0x4728ec
474131:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
474135:	74 6a                	je     0x4741a1
474137:	57                   	push   %edi
474138:	8d 75 bc             	lea    -0x44(%ebp),%esi
47413b:	8d 7d cc             	lea    -0x34(%ebp),%edi
47413e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47413f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
474140:	a5                   	movsl  %ds:(%esi),%es:(%edi)
474141:	a5                   	movsl  %ds:(%esi),%es:(%edi)
474142:	5f                   	pop    %edi
474143:	8b 45 f8             	mov    -0x8(%ebp),%eax
474146:	e8 75 4b fb ff       	call   0x428cc0
47414b:	b1 01                	mov    $0x1,%cl
47414d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
474150:	e8 37 7c ff ff       	call   0x46bd8c
474155:	8b 55 d8             	mov    -0x28(%ebp),%edx
474158:	2b 55 d0             	sub    -0x30(%ebp),%edx
47415b:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
47415e:	2b ca                	sub    %edx,%ecx
474160:	2b c8                	sub    %eax,%ecx
474162:	89 4d cc             	mov    %ecx,-0x34(%ebp)
474165:	8b 55 d8             	mov    -0x28(%ebp),%edx
474168:	2b 55 d0             	sub    -0x30(%ebp),%edx
47416b:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
474171:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
474177:	03 c8                	add    %eax,%ecx
474179:	2b d1                	sub    %ecx,%edx
47417b:	83 fa 04             	cmp    $0x4,%edx
47417e:	75 03                	jne    0x474183
474180:	ff 4d d8             	decl   -0x28(%ebp)
474183:	01 45 d0             	add    %eax,-0x30(%ebp)
474186:	8b 45 e4             	mov    -0x1c(%ebp),%eax
474189:	50                   	push   %eax
47418a:	8a 45 08             	mov    0x8(%ebp),%al
47418d:	50                   	push   %eax
47418e:	68 24 08 00 00       	push   $0x824
474193:	8d 4d cc             	lea    -0x34(%ebp),%ecx
474196:	8b 55 f8             	mov    -0x8(%ebp),%edx
474199:	8b 45 fc             	mov    -0x4(%ebp),%eax
47419c:	8b 30                	mov    (%eax),%esi
47419e:	ff 56 08             	call   *0x8(%esi)
4741a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4741a4:	8b 40 1c             	mov    0x1c(%eax),%eax
4741a7:	f6 40 64 01          	testb  $0x1,0x64(%eax)
4741ab:	0f 84 82 00 00 00    	je     0x474233
4741b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4741b4:	8b 40 1c             	mov    0x1c(%eax),%eax
4741b7:	f6 40 64 20          	testb  $0x20,0x64(%eax)
4741bb:	74 6f                	je     0x47422c
4741bd:	57                   	push   %edi
4741be:	8d 75 bc             	lea    -0x44(%ebp),%esi
4741c1:	8d 7d cc             	lea    -0x34(%ebp),%edi
4741c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4741c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4741c6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4741c7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4741c8:	5f                   	pop    %edi
4741c9:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4741cc:	2b 45 f4             	sub    -0xc(%ebp),%eax
4741cf:	89 45 cc             	mov    %eax,-0x34(%ebp)
4741d2:	8a 45 10             	mov    0x10(%ebp),%al
4741d5:	22 45 eb             	and    -0x15(%ebp),%al
4741d8:	74 1b                	je     0x4741f5
4741da:	68 0f 08 00 00       	push   $0x80f
4741df:	6a 02                	push   $0x2
4741e1:	8d 45 cc             	lea    -0x34(%ebp),%eax
4741e4:	50                   	push   %eax
4741e5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4741e8:	e8 d3 4a fb ff       	call   0x428cc0
4741ed:	50                   	push   %eax
4741ee:	e8 15 37 f9 ff       	call   0x407908
4741f3:	eb 37                	jmp    0x47422c
4741f5:	ff 4d cc             	decl   -0x34(%ebp)
4741f8:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
4741fc:	75 18                	jne    0x474216
4741fe:	6a 01                	push   $0x1
474200:	6a 06                	push   $0x6
474202:	8d 45 cc             	lea    -0x34(%ebp),%eax
474205:	50                   	push   %eax
474206:	8b 45 f8             	mov    -0x8(%ebp),%eax
474209:	e8 b2 4a fb ff       	call   0x428cc0
47420e:	50                   	push   %eax
47420f:	e8 f4 36 f9 ff       	call   0x407908
474214:	eb 16                	jmp    0x47422c
474216:	6a 01                	push   $0x1
474218:	6a 02                	push   $0x2
47421a:	8d 45 cc             	lea    -0x34(%ebp),%eax
47421d:	50                   	push   %eax
47421e:	8b 45 f8             	mov    -0x8(%ebp),%eax
474221:	e8 9a 4a fb ff       	call   0x428cc0
474226:	50                   	push   %eax
474227:	e8 dc 36 f9 ff       	call   0x407908
47422c:	55                   	push   %ebp
47422d:	e8 42 f7 ff ff       	call   0x473974
474232:	59                   	pop    %ecx
474233:	80 7d e9 00          	cmpb   $0x0,-0x17(%ebp)
474237:	75 18                	jne    0x474251
474239:	84 db                	test   %bl,%bl
47423b:	0f 85 55 02 00 00    	jne    0x474496
474241:	8b 45 fc             	mov    -0x4(%ebp),%eax
474244:	8b 40 1c             	mov    0x1c(%eax),%eax
474247:	80 78 3c 00          	cmpb   $0x0,0x3c(%eax)
47424b:	0f 84 45 02 00 00    	je     0x474496
474251:	57                   	push   %edi
474252:	8d 75 bc             	lea    -0x44(%ebp),%esi
474255:	8d 7d cc             	lea    -0x34(%ebp),%edi
474258:	a5                   	movsl  %ds:(%esi),%es:(%edi)
474259:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47425a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47425b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47425c:	5f                   	pop    %edi
47425d:	84 db                	test   %bl,%bl
47425f:	74 3a                	je     0x47429b
474261:	8b 45 fc             	mov    -0x4(%ebp),%eax
474264:	e8 6b f2 ff ff       	call   0x4734d4
474269:	84 c0                	test   %al,%al
47426b:	75 1d                	jne    0x47428a
47426d:	8b 45 fc             	mov    -0x4(%ebp),%eax