408f8e:	8b 70 10             	mov    0x10(%eax),%esi
408f91:	e8 e0 26 00 00       	call   0x40b676
408f96:	c6 45 d8 01          	movb   $0x1,-0x28(%ebp)
408f9a:	8b 40 14             	mov    0x14(%eax),%eax
408f9d:	89 45 f4             	mov    %eax,-0xc(%ebp)
408fa0:	85 f6                	test   %esi,%esi
408fa2:	0f 84 75 02 00 00    	je     0x40921d
408fa8:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
408fae:	75 2b                	jne    0x408fdb
408fb0:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
408fb4:	75 25                	jne    0x408fdb
408fb6:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
408fbd:	74 12                	je     0x408fd1
408fbf:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
408fc6:	74 09                	je     0x408fd1
408fc8:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
408fcf:	75 0a                	jne    0x408fdb
408fd1:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
408fd5:	0f 84 42 02 00 00    	je     0x40921d
408fdb:	e8 96 26 00 00       	call   0x40b676
408fe0:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
408fe4:	74 41                	je     0x409027
408fe6:	e8 8b 26 00 00       	call   0x40b676
408feb:	8b 40 1c             	mov    0x1c(%eax),%eax
408fee:	89 45 e0             	mov    %eax,-0x20(%ebp)
408ff1:	e8 80 26 00 00       	call   0x40b676
408ff6:	ff 75 e0             	push   -0x20(%ebp)
408ff9:	56                   	push   %esi
408ffa:	83 60 1c 00          	andl   $0x0,0x1c(%eax)
408ffe:	e8 7a 03 00 00       	call   0x40937d
409003:	59                   	pop    %ecx
409004:	59                   	pop    %ecx
409005:	84 c0                	test   %al,%al
409007:	75 1e                	jne    0x409027
409009:	ff 75 e0             	push   -0x20(%ebp)
40900c:	e8 08 04 00 00       	call   0x409419
409011:	59                   	pop    %ecx
409012:	84 c0                	test   %al,%al
409014:	0f 84 03 02 00 00    	je     0x40921d
40901a:	e9 03 02 00 00       	jmp    0x409222
40901f:	8b 4d 10             	mov    0x10(%ebp),%ecx
409022:	89 4d f4             	mov    %ecx,-0xc(%ebp)
409025:	eb 06                	jmp    0x40902d
409027:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40902a:	8b 45 f8             	mov    -0x8(%ebp),%eax
40902d:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
409033:	0f 85 b0 01 00 00    	jne    0x4091e9
409039:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
40903d:	0f 85 a6 01 00 00    	jne    0x4091e9
409043:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
40904a:	74 16                	je     0x409062
40904c:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
409053:	74 0d                	je     0x409062
409055:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
40905c:	0f 85 87 01 00 00    	jne    0x4091e9
409062:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
409066:	0f 86 04 01 00 00    	jbe    0x409170
40906c:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40906f:	51                   	push   %ecx
409070:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409073:	51                   	push   %ecx
409074:	50                   	push   %eax
409075:	ff 75 20             	push   0x20(%ebp)
409078:	57                   	push   %edi
409079:	e8 43 f1 ff ff       	call   0x4081c1
40907e:	8b 55 e8             	mov    -0x18(%ebp),%edx
409081:	83 c4 14             	add    $0x14,%esp
409084:	3b 55 d4             	cmp    -0x2c(%ebp),%edx
409087:	0f 83 e3 00 00 00    	jae    0x409170
40908d:	8d 48 10             	lea    0x10(%eax),%ecx
409090:	8b 45 f8             	mov    -0x8(%ebp),%eax
409093:	89 4d e0             	mov    %ecx,-0x20(%ebp)
409096:	8d 79 f0             	lea    -0x10(%ecx),%edi
409099:	89 7d c8             	mov    %edi,-0x38(%ebp)
40909c:	8b 7d 18             	mov    0x18(%ebp),%edi
40909f:	39 41 f0             	cmp    %eax,-0x10(%ecx)
4090a2:	0f 8f b5 00 00 00    	jg     0x40915d
4090a8:	3b 41 f4             	cmp    -0xc(%ecx),%eax
4090ab:	0f 8f ac 00 00 00    	jg     0x40915d
4090b1:	8b 19                	mov    (%ecx),%ebx
4090b3:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4090b6:	8b 59 fc             	mov    -0x4(%ecx),%ebx
4090b9:	85 db                	test   %ebx,%ebx
4090bb:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4090be:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4090c1:	0f 8e 96 00 00 00    	jle    0x40915d
4090c7:	8b 46 1c             	mov    0x1c(%esi),%eax
4090ca:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4090cd:	8b 40 0c             	mov    0xc(%eax),%eax
4090d0:	8b 10                	mov    (%eax),%edx
4090d2:	83 c0 04             	add    $0x4,%eax
4090d5:	89 45 d0             	mov    %eax,-0x30(%ebp)
4090d8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4090db:	89 55 cc             	mov    %edx,-0x34(%ebp)
4090de:	8b 7d d0             	mov    -0x30(%ebp),%edi
4090e1:	89 7d f0             	mov    %edi,-0x10(%ebp)
4090e4:	8b 7d 18             	mov    0x18(%ebp),%edi
4090e7:	89 55 dc             	mov    %edx,-0x24(%ebp)
4090ea:	85 d2                	test   %edx,%edx
4090ec:	7e 2a                	jle    0x409118
4090ee:	8b 45 f0             	mov    -0x10(%ebp),%eax
4090f1:	ff 76 1c             	push   0x1c(%esi)
4090f4:	ff 30                	push   (%eax)
4090f6:	51                   	push   %ecx
4090f7:	e8 5c 07 00 00       	call   0x409858
4090fc:	83 c4 0c             	add    $0xc,%esp
4090ff:	85 c0                	test   %eax,%eax
409101:	75 28                	jne    0x40912b
409103:	8b 45 dc             	mov    -0x24(%ebp),%eax
409106:	83 45 f0 04          	addl   $0x4,-0x10(%ebp)
40910a:	48                   	dec    %eax
40910b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40910e:	89 45 dc             	mov    %eax,-0x24(%ebp)
409111:	85 c0                	test   %eax,%eax
409113:	7f d9                	jg     0x4090ee
409115:	8b 45 e4             	mov    -0x1c(%ebp),%eax
409118:	48                   	dec    %eax
409119:	83 c1 10             	add    $0x10,%ecx
40911c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40911f:	89 4d ec             	mov    %ecx,-0x14(%ebp)
409122:	85 c0                	test   %eax,%eax
409124:	7e 2e                	jle    0x409154
409126:	8b 55 cc             	mov    -0x34(%ebp),%edx
409129:	eb b3                	jmp    0x4090de
40912b:	ff 75 d8             	push   -0x28(%ebp)
40912e:	8b 45 f0             	mov    -0x10(%ebp),%eax
409131:	ff 75 24             	push   0x24(%ebp)
409134:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
409138:	ff 75 20             	push   0x20(%ebp)
40913b:	ff 75 c8             	push   -0x38(%ebp)
40913e:	ff 30                	push   (%eax)
409140:	ff 75 ec             	push   -0x14(%ebp)
409143:	57                   	push   %edi
409144:	ff 75 14             	push   0x14(%ebp)
409147:	ff 75 f4             	push   -0xc(%ebp)
40914a:	53                   	push   %ebx
40914b:	56                   	push   %esi
40914c:	e8 e4 fc ff ff       	call   0x408e35
409151:	83 c4 2c             	add    $0x2c,%esp
409154:	8b 55 e8             	mov    -0x18(%ebp),%edx
409157:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40915a:	8b 45 f8             	mov    -0x8(%ebp),%eax
40915d:	42                   	inc    %edx
40915e:	83 c1 14             	add    $0x14,%ecx
409161:	89 55 e8             	mov    %edx,-0x18(%ebp)
409164:	89 4d e0             	mov    %ecx,-0x20(%ebp)
409167:	3b 55 d4             	cmp    -0x2c(%ebp),%edx
40916a:	0f 82 26 ff ff ff    	jb     0x409096
409170:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
409174:	74 0a                	je     0x409180
409176:	6a 01                	push   $0x1
409178:	56                   	push   %esi
409179:	e8 bc f9 ff ff       	call   0x408b3a
40917e:	59                   	pop    %ecx
40917f:	59                   	pop    %ecx
409180:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
409184:	0f 85 81 00 00 00    	jne    0x40920b
40918a:	8b 07                	mov    (%edi),%eax
40918c:	25 ff ff ff 1f       	and    $0x1fffffff,%eax
409191:	3d 21 05 93 19       	cmp    $0x19930521,%eax
409196:	72 73                	jb     0x40920b
409198:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
40919c:	75 0c                	jne    0x4091aa
40919e:	f6 47 20 04          	testb  $0x4,0x20(%edi)
4091a2:	74 67                	je     0x40920b
4091a4:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
4091a8:	75 61                	jne    0x40920b
4091aa:	f6 47 20 04          	testb  $0x4,0x20(%edi)
4091ae:	75 6d                	jne    0x40921d
4091b0:	ff 77 1c             	push   0x1c(%edi)
4091b3:	56                   	push   %esi
4091b4:	e8 c4 01 00 00       	call   0x40937d
4091b9:	59                   	pop    %ecx
4091ba:	59                   	pop    %ecx
4091bb:	84 c0                	test   %al,%al
4091bd:	75 4c                	jne    0x40920b
4091bf:	e8 b2 24 00 00       	call   0x40b676
4091c4:	e8 ad 24 00 00       	call   0x40b676
4091c9:	e8 a8 24 00 00       	call   0x40b676
4091ce:	89 70 10             	mov    %esi,0x10(%eax)
4091d1:	e8 a0 24 00 00       	call   0x40b676
4091d6:	83 7d 24 00          	cmpl   $0x0,0x24(%ebp)
4091da:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4091dd:	56                   	push   %esi
4091de:	89 48 14             	mov    %ecx,0x14(%eax)
4091e1:	75 5f                	jne    0x409242
4091e3:	53                   	push   %ebx
4091e4:	eb 5f                	jmp    0x409245
4091e6:	8b 4d 10             	mov    0x10(%ebp),%ecx
4091e9:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
4091ed:	76 1c                	jbe    0x40920b
4091ef:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
4091f3:	75 28                	jne    0x40921d
4091f5:	ff 75 24             	push   0x24(%ebp)
4091f8:	ff 75 20             	push   0x20(%ebp)
4091fb:	50                   	push   %eax
4091fc:	57                   	push   %edi
4091fd:	ff 75 14             	push   0x14(%ebp)
409200:	51                   	push   %ecx
409201:	53                   	push   %ebx
409202:	56                   	push   %esi
409203:	e8 5a 00 00 00       	call   0x409262
409208:	83 c4 20             	add    $0x20,%esp
40920b:	e8 66 24 00 00       	call   0x40b676
409210:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
409214:	75 07                	jne    0x40921d
409216:	5f                   	pop    %edi
409217:	5e                   	pop    %esi
409218:	5b                   	pop    %ebx
409219:	8b e5                	mov    %ebp,%esp
40921b:	5d                   	pop    %ebp
40921c:	c3                   	ret
40921d:	e8 a8 e8 00 00       	call   0x417aca
409222:	6a 01                	push   $0x1
409224:	56                   	push   %esi
409225:	e8 10 f9 ff ff       	call   0x408b3a
40922a:	59                   	pop    %ecx
40922b:	59                   	pop    %ecx
40922c:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40922f:	e8 b5 f9 ff ff       	call   0x408be9
409234:	68 84 7f 43 00       	push   $0x437f84
409239:	8d 45 bc             	lea    -0x44(%ebp),%eax
40923c:	50                   	push   %eax
40923d:	e8 d4 ed ff ff       	call   0x408016
409242:	ff 75 24             	push   0x24(%ebp)
409245:	e8 21 f0 ff ff       	call   0x40826b
40924a:	6a ff                	push   $0xffffffff
40924c:	57                   	push   %edi
40924d:	ff 75 14             	push   0x14(%ebp)
409250:	53                   	push   %ebx
409251:	e8 3e 04 00 00       	call   0x409694
409256:	83 c4 10             	add    $0x10,%esp
409259:	ff 77 1c             	push   0x1c(%edi)
40925c:	e8 9a fb ff ff       	call   0x408dfb
409261:	cc                   	int3
409262:	55                   	push   %ebp
409263:	8b ec                	mov    %esp,%ebp
409265:	51                   	push   %ecx
409266:	51                   	push   %ecx
409267:	57                   	push   %edi
409268:	8b 7d 08             	mov    0x8(%ebp),%edi
40926b:	81 3f 03 00 00 80    	cmpl   $0x80000003,(%edi)
409271:	0f 84 fb 00 00 00    	je     0x409372
409277:	53                   	push   %ebx
409278:	56                   	push   %esi
409279:	e8 f8 23 00 00       	call   0x40b676
40927e:	8b 5d 18             	mov    0x18(%ebp),%ebx
409281:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
409285:	74 45                	je     0x4092cc
409287:	6a 00                	push   $0x0
409289:	ff 15 44 71 42 00    	call   *0x427144
40928f:	8b f0                	mov    %eax,%esi
409291:	e8 e0 23 00 00       	call   0x40b676
409296:	39 70 08             	cmp    %esi,0x8(%eax)
409299:	74 31                	je     0x4092cc
40929b:	81 3f 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%edi)
4092a1:	74 29                	je     0x4092cc
4092a3:	81 3f 52 43 43 e0    	cmpl   $0xe0434352,(%edi)
4092a9:	74 21                	je     0x4092cc
4092ab:	ff 75 24             	push   0x24(%ebp)
4092ae:	ff 75 20             	push   0x20(%ebp)
4092b1:	53                   	push   %ebx
4092b2:	ff 75 14             	push   0x14(%ebp)
4092b5:	ff 75 10             	push   0x10(%ebp)
4092b8:	ff 75 0c             	push   0xc(%ebp)
4092bb:	57                   	push   %edi
4092bc:	e8 23 ee ff ff       	call   0x4080e4
4092c1:	83 c4 1c             	add    $0x1c,%esp
4092c4:	85 c0                	test   %eax,%eax
4092c6:	0f 85 a4 00 00 00    	jne    0x409370
4092cc:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
4092d0:	0f 84 a1 00 00 00    	je     0x409377
4092d6:	8d 45 fc             	lea    -0x4(%ebp),%eax
4092d9:	50                   	push   %eax
4092da:	8d 45 f8             	lea    -0x8(%ebp),%eax
4092dd:	50                   	push   %eax
4092de:	ff 75 1c             	push   0x1c(%ebp)
4092e1:	ff 75 20             	push   0x20(%ebp)
4092e4:	53                   	push   %ebx
4092e5:	e8 d7 ee ff ff       	call   0x4081c1
4092ea:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4092ed:	83 c4 14             	add    $0x14,%esp
4092f0:	8b 55 fc             	mov    -0x4(%ebp),%edx
4092f3:	3b ca                	cmp    %edx,%ecx
4092f5:	73 79                	jae    0x409370
4092f7:	8d 70 0c             	lea    0xc(%eax),%esi
4092fa:	8b 45 1c             	mov    0x1c(%ebp),%eax
4092fd:	3b 46 f4             	cmp    -0xc(%esi),%eax
409300:	7c 63                	jl     0x409365
409302:	3b 46 f8             	cmp    -0x8(%esi),%eax
409305:	7f 5e                	jg     0x409365
409307:	8b 06                	mov    (%esi),%eax
409309:	8b 7e 04             	mov    0x4(%esi),%edi
40930c:	c1 e0 04             	shl    $0x4,%eax
40930f:	8b 7c 07 f4          	mov    -0xc(%edi,%eax,1),%edi
409313:	85 ff                	test   %edi,%edi
409315:	74 13                	je     0x40932a
409317:	8b 56 04             	mov    0x4(%esi),%edx
40931a:	8b 5c 02 f4          	mov    -0xc(%edx,%eax,1),%ebx
40931e:	8b 55 fc             	mov    -0x4(%ebp),%edx
409321:	80 7b 08 00          	cmpb   $0x0,0x8(%ebx)
409325:	8b 5d 18             	mov    0x18(%ebp),%ebx
409328:	75 38                	jne    0x409362
40932a:	8b 7e 04             	mov    0x4(%esi),%edi
40932d:	83 c7 f0             	add    $0xfffffff0,%edi
409330:	03 c7                	add    %edi,%eax
409332:	8b 7d 08             	mov    0x8(%ebp),%edi
409335:	f6 00 40             	testb  $0x40,(%eax)
409338:	75 28                	jne    0x409362
40933a:	6a 01                	push   $0x1
40933c:	ff 75 24             	push   0x24(%ebp)
40933f:	8d 4e f4             	lea    -0xc(%esi),%ecx
409342:	ff 75 20             	push   0x20(%ebp)
409345:	51                   	push   %ecx
409346:	6a 00                	push   $0x0
409348:	50                   	push   %eax
409349:	53                   	push   %ebx
40934a:	ff 75 14             	push   0x14(%ebp)
40934d:	ff 75 10             	push   0x10(%ebp)
409350:	ff 75 0c             	push   0xc(%ebp)
409353:	57                   	push   %edi
409354:	e8 dc fa ff ff       	call   0x408e35
409359:	8b 55 fc             	mov    -0x4(%ebp),%edx
40935c:	83 c4 2c             	add    $0x2c,%esp
40935f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409362:	8b 45 1c             	mov    0x1c(%ebp),%eax
409365:	41                   	inc    %ecx
409366:	83 c6 14             	add    $0x14,%esi
409369:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40936c:	3b ca                	cmp    %edx,%ecx
40936e:	72 8d                	jb     0x4092fd
409370:	5e                   	pop    %esi
409371:	5b                   	pop    %ebx
409372:	5f                   	pop    %edi
409373:	8b e5                	mov    %ebp,%esp
409375:	5d                   	pop    %ebp
409376:	c3                   	ret
409377:	e8 4e e7 00 00       	call   0x417aca
40937c:	cc                   	int3
40937d:	55                   	push   %ebp
40937e:	8b ec                	mov    %esp,%ebp
409380:	83 ec 18             	sub    $0x18,%esp
409383:	53                   	push   %ebx
409384:	56                   	push   %esi
409385:	8b 75 0c             	mov    0xc(%ebp),%esi
409388:	57                   	push   %edi
409389:	85 f6                	test   %esi,%esi
40938b:	0f 84 82 00 00 00    	je     0x409413
409391:	8b 3e                	mov    (%esi),%edi
409393:	33 db                	xor    %ebx,%ebx