429097:	c2 04 00             	ret    $0x4
42909a:	8b ff                	mov    %edi,%edi
42909c:	55                   	push   %ebp
42909d:	8b ec                	mov    %esp,%ebp
42909f:	51                   	push   %ecx
4290a0:	51                   	push   %ecx
4290a1:	53                   	push   %ebx
4290a2:	56                   	push   %esi
4290a3:	57                   	push   %edi
4290a4:	8b f9                	mov    %ecx,%edi
4290a6:	e8 80 38 00 00       	call   0x42c92b
4290ab:	8b 1f                	mov    (%edi),%ebx
4290ad:	33 d2                	xor    %edx,%edx
4290af:	0f b7 03             	movzwl (%ebx),%eax
4290b2:	8b c8                	mov    %eax,%ecx
4290b4:	66 3b d0             	cmp    %ax,%dx
4290b7:	0f 84 1a 01 00 00    	je     0x4291d7
4290bd:	8b 75 08             	mov    0x8(%ebp),%esi
4290c0:	6a 27                	push   $0x27
4290c2:	8d 96 00 20 00 00    	lea    0x2000(%esi),%edx
4290c8:	89 55 fc             	mov    %edx,-0x4(%ebp)
4290cb:	5a                   	pop    %edx
4290cc:	66 3b d0             	cmp    %ax,%dx
4290cf:	0f 85 a4 00 00 00    	jne    0x429179
4290d5:	53                   	push   %ebx
4290d6:	ff 15 70 a2 43 00    	call   *0x43a270
4290dc:	8b d0                	mov    %eax,%edx
4290de:	33 db                	xor    %ebx,%ebx
4290e0:	89 17                	mov    %edx,(%edi)
4290e2:	0f b7 0a             	movzwl (%edx),%ecx
4290e5:	8b c1                	mov    %ecx,%eax
4290e7:	66 3b d9             	cmp    %cx,%bx
4290ea:	74 6e                	je     0x42915a
4290ec:	6a 27                	push   $0x27
4290ee:	5b                   	pop    %ebx
4290ef:	66 3b d8             	cmp    %ax,%bx
4290f2:	75 0c                	jne    0x429100
4290f4:	52                   	push   %edx
4290f5:	ff 15 70 a2 43 00    	call   *0x43a270
4290fb:	66 3b 18             	cmp    (%eax),%bx
4290fe:	75 5a                	jne    0x42915a
429100:	8b 1f                	mov    (%edi),%ebx
429102:	6a 27                	push   $0x27
429104:	58                   	pop    %eax
429105:	66 3b 03             	cmp    (%ebx),%ax
429108:	75 0b                	jne    0x429115
42910a:	53                   	push   %ebx
42910b:	ff 15 70 a2 43 00    	call   *0x43a270
429111:	8b d8                	mov    %eax,%ebx
429113:	89 1f                	mov    %ebx,(%edi)
429115:	53                   	push   %ebx
429116:	ff 15 70 a2 43 00    	call   *0x43a270
42911c:	8b d0                	mov    %eax,%edx
42911e:	8b ca                	mov    %edx,%ecx
429120:	89 17                	mov    %edx,(%edi)
429122:	2b cb                	sub    %ebx,%ecx
429124:	d1 f9                	sar    $1,%ecx
429126:	8d 41 01             	lea    0x1(%ecx),%eax
429129:	8d 04 46             	lea    (%esi,%eax,2),%eax
42912c:	3b 45 fc             	cmp    -0x4(%ebp),%eax
42912f:	0f 83 a2 00 00 00    	jae    0x4291d7
429135:	85 c9                	test   %ecx,%ecx
429137:	7e 13                	jle    0x42914c
429139:	2b de                	sub    %esi,%ebx
42913b:	66 8b 04 33          	mov    (%ebx,%esi,1),%ax
42913f:	66 89 06             	mov    %ax,(%esi)
429142:	83 c6 02             	add    $0x2,%esi
429145:	83 e9 01             	sub    $0x1,%ecx
429148:	75 f1                	jne    0x42913b
42914a:	8b 17                	mov    (%edi),%edx
42914c:	0f b7 02             	movzwl (%edx),%eax
42914f:	33 db                	xor    %ebx,%ebx
429151:	8b c8                	mov    %eax,%ecx
429153:	66 3b d8             	cmp    %ax,%bx
429156:	74 02                	je     0x42915a
429158:	eb 92                	jmp    0x4290ec
42915a:	8b 07                	mov    (%edi),%eax
42915c:	33 c9                	xor    %ecx,%ecx
42915e:	66 3b 08             	cmp    (%eax),%cx
429161:	74 74                	je     0x4291d7
429163:	3b 75 fc             	cmp    -0x4(%ebp),%esi
429166:	73 6f                	jae    0x4291d7
429168:	33 c0                	xor    %eax,%eax
42916a:	66 89 06             	mov    %ax,(%esi)
42916d:	ff 37                	push   (%edi)
42916f:	ff 15 70 a2 43 00    	call   *0x43a270
429175:	89 07                	mov    %eax,(%edi)
429177:	eb 5a                	jmp    0x4291d3
429179:	51                   	push   %ecx
42917a:	e8 ca f8 ff ff       	call   0x428a49
42917f:	85 c0                	test   %eax,%eax
429181:	75 46                	jne    0x4291c9
429183:	53                   	push   %ebx
429184:	ff 15 70 a2 43 00    	call   *0x43a270
42918a:	8b d0                	mov    %eax,%edx
42918c:	89 45 f8             	mov    %eax,-0x8(%ebp)
42918f:	2b d3                	sub    %ebx,%edx
429191:	89 07                	mov    %eax,(%edi)
429193:	d1 fa                	sar    $1,%edx
429195:	8d 4a 01             	lea    0x1(%edx),%ecx
429198:	8d 0c 4e             	lea    (%esi,%ecx,2),%ecx
42919b:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
42919e:	73 37                	jae    0x4291d7
4291a0:	85 d2                	test   %edx,%edx
4291a2:	7e 16                	jle    0x4291ba
4291a4:	2b de                	sub    %esi,%ebx
4291a6:	66 8b 04 33          	mov    (%ebx,%esi,1),%ax
4291aa:	66 89 06             	mov    %ax,(%esi)
4291ad:	83 c6 02             	add    $0x2,%esi
4291b0:	83 ea 01             	sub    $0x1,%edx
4291b3:	75 f1                	jne    0x4291a6
4291b5:	8b 07                	mov    (%edi),%eax
4291b7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4291ba:	0f b7 00             	movzwl (%eax),%eax
4291bd:	33 d2                	xor    %edx,%edx
4291bf:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4291c2:	8b c8                	mov    %eax,%ecx
4291c4:	66 3b d0             	cmp    %ax,%dx
4291c7:	75 b0                	jne    0x429179
4291c9:	3b 75 fc             	cmp    -0x4(%ebp),%esi
4291cc:	73 09                	jae    0x4291d7
4291ce:	33 c0                	xor    %eax,%eax
4291d0:	66 89 06             	mov    %ax,(%esi)
4291d3:	33 c0                	xor    %eax,%eax
4291d5:	eb 05                	jmp    0x4291dc
4291d7:	b8 09 00 02 80       	mov    $0x80020009,%eax
4291dc:	5f                   	pop    %edi
4291dd:	5e                   	pop    %esi
4291de:	5b                   	pop    %ebx
4291df:	c9                   	leave
4291e0:	c2 04 00             	ret    $0x4
4291e3:	8b ff                	mov    %edi,%edi
4291e5:	56                   	push   %esi
4291e6:	85 c9                	test   %ecx,%ecx
4291e8:	74 4d                	je     0x429237
4291ea:	8b 31                	mov    (%ecx),%esi
4291ec:	85 f6                	test   %esi,%esi
4291ee:	74 47                	je     0x429237
4291f0:	0f b7 06             	movzwl (%esi),%eax
4291f3:	6a 13                	push   $0x13
4291f5:	59                   	pop    %ecx
4291f6:	66 3b c8             	cmp    %ax,%cx
4291f9:	74 0e                	je     0x429209
4291fb:	b9 13 10 00 00       	mov    $0x1013,%ecx
429200:	66 3b c8             	cmp    %ax,%cx
429203:	75 32                	jne    0x429237
429205:	33 c0                	xor    %eax,%eax
429207:	5e                   	pop    %esi
429208:	c3                   	ret
429209:	6a 04                	push   $0x4
42920b:	ff 15 5c a0 43 00    	call   *0x43a05c
429211:	8b c8                	mov    %eax,%ecx
429213:	85 c9                	test   %ecx,%ecx
429215:	75 07                	jne    0x42921e
429217:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
42921c:	5e                   	pop    %esi
42921d:	c3                   	ret
42921e:	8b 46 08             	mov    0x8(%esi),%eax
429221:	ba 13 10 00 00       	mov    $0x1013,%edx
429226:	66 89 16             	mov    %dx,(%esi)
429229:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
429230:	89 4e 0c             	mov    %ecx,0xc(%esi)
429233:	89 01                	mov    %eax,(%ecx)
429235:	eb ce                	jmp    0x429205
429237:	b8 57 00 07 80       	mov    $0x80070057,%eax
42923c:	5e                   	pop    %esi
42923d:	c3                   	ret
42923e:	cc                   	int3
42923f:	cc                   	int3
429240:	8b ff                	mov    %edi,%edi
429242:	55                   	push   %ebp
429243:	8b ec                	mov    %esp,%ebp
429245:	83 ec 58             	sub    $0x58,%esp
429248:	53                   	push   %ebx
429249:	8b d9                	mov    %ecx,%ebx
42924b:	56                   	push   %esi
42924c:	57                   	push   %edi
42924d:	8b 7d 08             	mov    0x8(%ebp),%edi
429250:	8b 03                	mov    (%ebx),%eax
429252:	ff 77 08             	push   0x8(%edi)
429255:	8b 70 08             	mov    0x8(%eax),%esi
429258:	8b ce                	mov    %esi,%ecx
42925a:	ff 15 20 a5 43 00    	call   *0x43a520
429260:	8b cb                	mov    %ebx,%ecx
429262:	ff d6                	call   *%esi
429264:	84 c0                	test   %al,%al
429266:	0f 85 dc 00 00 00    	jne    0x429348
42926c:	e8 a4 27 ff ff       	call   0x41ba15
429271:	8b 48 04             	mov    0x4(%eax),%ecx
429274:	83 39 02             	cmpl   $0x2,(%ecx)
429277:	0f 86 c0 01 00 00    	jbe    0x42943d
42927d:	68 00 60 00 00       	push   $0x6000
429282:	6a 00                	push   $0x0
429284:	e8 73 ea fe ff       	call   0x417cfc
429289:	84 c0                	test   %al,%al
42928b:	0f 84 ac 01 00 00    	je     0x42943d
429291:	8b 47 40             	mov    0x40(%edi),%eax
429294:	ba fd 64 40 00       	mov    $0x4064fd,%edx
429299:	89 45 fc             	mov    %eax,-0x4(%ebp)
42929c:	8b 47 3c             	mov    0x3c(%edi),%eax
42929f:	89 45 f8             	mov    %eax,-0x8(%ebp)
4292a2:	8b 47 38             	mov    0x38(%edi),%eax
4292a5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4292a8:	8b 47 34             	mov    0x34(%edi),%eax
4292ab:	89 45 f0             	mov    %eax,-0x10(%ebp)
4292ae:	8b 47 30             	mov    0x30(%edi),%eax
4292b1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4292b4:	8b 47 2c             	mov    0x2c(%edi),%eax
4292b7:	89 45 e8             	mov    %eax,-0x18(%ebp)
4292ba:	8b 47 28             	mov    0x28(%edi),%eax
4292bd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4292c0:	8b 47 10             	mov    0x10(%edi),%eax
4292c3:	89 45 e0             	mov    %eax,-0x20(%ebp)
4292c6:	8b 47 0c             	mov    0xc(%edi),%eax
4292c9:	89 45 dc             	mov    %eax,-0x24(%ebp)
4292cc:	8b 07                	mov    (%edi),%eax
4292ce:	89 45 d8             	mov    %eax,-0x28(%ebp)
4292d1:	8b 47 44             	mov    0x44(%edi),%eax
4292d4:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4292d7:	8b 47 20             	mov    0x20(%edi),%eax
4292da:	89 45 d0             	mov    %eax,-0x30(%ebp)
4292dd:	8b 47 1c             	mov    0x1c(%edi),%eax
4292e0:	89 45 cc             	mov    %eax,-0x34(%ebp)
4292e3:	8b 47 04             	mov    0x4(%edi),%eax
4292e6:	89 45 c8             	mov    %eax,-0x38(%ebp)
4292e9:	8d 45 b0             	lea    -0x50(%ebp),%eax
4292ec:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4292ef:	8d 45 fc             	lea    -0x4(%ebp),%eax
4292f2:	50                   	push   %eax
4292f3:	8d 45 f8             	lea    -0x8(%ebp),%eax
4292f6:	83 65 b4 00          	andl   $0x0,-0x4c(%ebp)
4292fa:	50                   	push   %eax
4292fb:	8d 45 f4             	lea    -0xc(%ebp),%eax
4292fe:	c7 45 b0 00 00 00 01 	movl   $0x1000000,-0x50(%ebp)
429305:	50                   	push   %eax
429306:	8d 45 f0             	lea    -0x10(%ebp),%eax
429309:	50                   	push   %eax
42930a:	8d 45 ec             	lea    -0x14(%ebp),%eax
42930d:	50                   	push   %eax
42930e:	8d 45 e8             	lea    -0x18(%ebp),%eax
429311:	50                   	push   %eax
429312:	8d 45 e4             	lea    -0x1c(%ebp),%eax
429315:	50                   	push   %eax
429316:	8d 45 e0             	lea    -0x20(%ebp),%eax
429319:	50                   	push   %eax
42931a:	8d 45 dc             	lea    -0x24(%ebp),%eax
42931d:	50                   	push   %eax
42931e:	8d 45 d8             	lea    -0x28(%ebp),%eax
429321:	50                   	push   %eax
429322:	8d 45 d4             	lea    -0x2c(%ebp),%eax
429325:	50                   	push   %eax
429326:	8d 45 d0             	lea    -0x30(%ebp),%eax
429329:	50                   	push   %eax
42932a:	8d 45 cc             	lea    -0x34(%ebp),%eax
42932d:	50                   	push   %eax
42932e:	8d 45 c8             	lea    -0x38(%ebp),%eax
429331:	50                   	push   %eax
429332:	8d 45 c4             	lea    -0x3c(%ebp),%eax
429335:	50                   	push   %eax
429336:	8b 43 18             	mov    0x18(%ebx),%eax
429339:	51                   	push   %ecx
42933a:	83 c0 08             	add    $0x8,%eax
42933d:	50                   	push   %eax
42933e:	e8 8a b0 ff ff       	call   0x4243cd
429343:	e9 f5 00 00 00       	jmp    0x42943d
429348:	e8 c8 26 ff ff       	call   0x41ba15
42934d:	8b 48 04             	mov    0x4(%eax),%ecx
429350:	83 39 02             	cmpl   $0x2,(%ecx)
429353:	0f 86 e4 00 00 00    	jbe    0x42943d
429359:	68 00 40 00 00       	push   $0x4000
42935e:	6a 00                	push   $0x0
429360:	e8 97 e9 fe ff       	call   0x417cfc
429365:	84 c0                	test   %al,%al
429367:	0f 84 d0 00 00 00    	je     0x42943d
42936d:	8b 47 18             	mov    0x18(%edi),%eax
429370:	ba cc 6c 40 00       	mov    $0x406ccc,%edx
429375:	89 45 c4             	mov    %eax,-0x3c(%ebp)
429378:	8b 47 24             	mov    0x24(%edi),%eax
42937b:	89 45 c8             	mov    %eax,-0x38(%ebp)
42937e:	8b 47 08             	mov    0x8(%edi),%eax
429381:	89 45 cc             	mov    %eax,-0x34(%ebp)
429384:	8b 47 40             	mov    0x40(%edi),%eax
429387:	89 45 d0             	mov    %eax,-0x30(%ebp)
42938a:	8b 47 3c             	mov    0x3c(%edi),%eax
42938d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
429390:	8b 47 38             	mov    0x38(%edi),%eax
429393:	89 45 d8             	mov    %eax,-0x28(%ebp)
429396:	8b 47 34             	mov    0x34(%edi),%eax
429399:	89 45 dc             	mov    %eax,-0x24(%ebp)
42939c:	8b 47 30             	mov    0x30(%edi),%eax
42939f:	89 45 e0             	mov    %eax,-0x20(%ebp)
4293a2:	8b 47 2c             	mov    0x2c(%edi),%eax
4293a5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4293a8:	8b 47 28             	mov    0x28(%edi),%eax
4293ab:	89 45 e8             	mov    %eax,-0x18(%ebp)
4293ae:	8b 47 10             	mov    0x10(%edi),%eax
4293b1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4293b4:	8b 47 0c             	mov    0xc(%edi),%eax
4293b7:	89 45 f0             	mov    %eax,-0x10(%ebp)
4293ba:	8b 07                	mov    (%edi),%eax
4293bc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4293bf:	8b 47 44             	mov    0x44(%edi),%eax
4293c2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4293c5:	8b 47 20             	mov    0x20(%edi),%eax
4293c8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4293cb:	8b 47 1c             	mov    0x1c(%edi),%eax
4293ce:	89 45 c0             	mov    %eax,-0x40(%ebp)
4293d1:	8b 47 04             	mov    0x4(%edi),%eax
4293d4:	89 45 bc             	mov    %eax,-0x44(%ebp)
4293d7:	8d 45 a8             	lea    -0x58(%ebp),%eax
4293da:	89 45 b4             	mov    %eax,-0x4c(%ebp)
4293dd:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4293e0:	50                   	push   %eax
4293e1:	8d 45 c8             	lea    -0x38(%ebp),%eax
4293e4:	83 65 ac 00          	andl   $0x0,-0x54(%ebp)
4293e8:	50                   	push   %eax
4293e9:	8d 45 cc             	lea    -0x34(%ebp),%eax
4293ec:	c7 45 a8 00 00 00 01 	movl   $0x1000000,-0x58(%ebp)
4293f3:	50                   	push   %eax
4293f4:	8d 45 d0             	lea    -0x30(%ebp),%eax
4293f7:	50                   	push   %eax
4293f8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4293fb:	50                   	push   %eax
4293fc:	8d 45 d8             	lea    -0x28(%ebp),%eax
4293ff:	50                   	push   %eax
429400:	8d 45 dc             	lea    -0x24(%ebp),%eax
429403:	50                   	push   %eax
429404:	8d 45 e0             	lea    -0x20(%ebp),%eax
429407:	50                   	push   %eax
429408:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42940b:	50                   	push   %eax
42940c:	8d 45 e8             	lea    -0x18(%ebp),%eax
42940f:	50                   	push   %eax
429410:	8d 45 ec             	lea    -0x14(%ebp),%eax
429413:	50                   	push   %eax
429414:	8d 45 f0             	lea    -0x10(%ebp),%eax
429417:	50                   	push   %eax
429418:	8d 45 f4             	lea    -0xc(%ebp),%eax
42941b:	50                   	push   %eax
42941c:	8d 45 f8             	lea    -0x8(%ebp),%eax
42941f:	50                   	push   %eax
429420:	8d 45 fc             	lea    -0x4(%ebp),%eax
429423:	50                   	push   %eax
429424:	8d 45 c0             	lea    -0x40(%ebp),%eax
429427:	50                   	push   %eax
429428:	8d 45 bc             	lea    -0x44(%ebp),%eax
42942b:	50                   	push   %eax
42942c:	8d 45 b4             	lea    -0x4c(%ebp),%eax
42942f:	50                   	push   %eax
429430:	8b 43 18             	mov    0x18(%ebx),%eax