408f56:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408f59:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408f60:	5f                   	pop    %edi
408f61:	5e                   	pop    %esi
408f62:	5b                   	pop    %ebx
408f63:	c9                   	leave
408f64:	c3                   	ret
408f65:	8b 44 24 04          	mov    0x4(%esp),%eax
408f69:	8b 00                	mov    (%eax),%eax
408f6b:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
408f71:	74 03                	je     0x408f76
408f73:	33 c0                	xor    %eax,%eax
408f75:	c3                   	ret
408f76:	e9 61 04 00 00       	jmp    0x4093dc
408f7b:	55                   	push   %ebp
408f7c:	8b ec                	mov    %esp,%ebp
408f7e:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
408f82:	53                   	push   %ebx
408f83:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
408f86:	56                   	push   %esi
408f87:	57                   	push   %edi
408f88:	8b 7d 0c             	mov    0xc(%ebp),%edi
408f8b:	74 10                	je     0x408f9d
408f8d:	ff 75 20             	push   0x20(%ebp)
408f90:	53                   	push   %ebx
408f91:	57                   	push   %edi
408f92:	ff 75 08             	push   0x8(%ebp)
408f95:	e8 a1 01 00 00       	call   0x40913b
408f9a:	83 c4 10             	add    $0x10,%esp
408f9d:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
408fa1:	ff 75 08             	push   0x8(%ebp)
408fa4:	75 03                	jne    0x408fa9
408fa6:	57                   	push   %edi
408fa7:	eb 03                	jmp    0x408fac
408fa9:	ff 75 2c             	push   0x2c(%ebp)
408fac:	e8 fb c9 ff ff       	call   0x4059ac
408fb1:	8b 75 24             	mov    0x24(%ebp),%esi
408fb4:	ff 36                	push   (%esi)
408fb6:	ff 75 18             	push   0x18(%ebp)
408fb9:	ff 75 14             	push   0x14(%ebp)
408fbc:	57                   	push   %edi
408fbd:	e8 05 ff ff ff       	call   0x408ec7
408fc2:	8b 46 04             	mov    0x4(%esi),%eax
408fc5:	68 00 01 00 00       	push   $0x100
408fca:	ff 75 28             	push   0x28(%ebp)
408fcd:	40                   	inc    %eax
408fce:	89 47 08             	mov    %eax,0x8(%edi)
408fd1:	ff 73 0c             	push   0xc(%ebx)
408fd4:	ff 75 18             	push   0x18(%ebp)
408fd7:	ff 75 10             	push   0x10(%ebp)
408fda:	57                   	push   %edi
408fdb:	ff 75 08             	push   0x8(%ebp)
408fde:	e8 13 00 00 00       	call   0x408ff6
408fe3:	83 c4 2c             	add    $0x2c,%esp
408fe6:	85 c0                	test   %eax,%eax
408fe8:	74 07                	je     0x408ff1
408fea:	57                   	push   %edi
408feb:	50                   	push   %eax
408fec:	e8 79 c9 ff ff       	call   0x40596a
408ff1:	5f                   	pop    %edi
408ff2:	5e                   	pop    %esi
408ff3:	5b                   	pop    %ebx
408ff4:	5d                   	pop    %ebp
408ff5:	c3                   	ret
408ff6:	55                   	push   %ebp
408ff7:	8b ec                	mov    %esp,%ebp
408ff9:	6a ff                	push   $0xffffffff
408ffb:	68 c0 d7 40 00       	push   $0x40d7c0
409000:	68 74 87 40 00       	push   $0x408774
409005:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40900b:	50                   	push   %eax
40900c:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
409013:	83 ec 1c             	sub    $0x1c,%esp
409016:	53                   	push   %ebx
409017:	56                   	push   %esi
409018:	57                   	push   %edi
409019:	89 65 e8             	mov    %esp,-0x18(%ebp)
40901c:	8b 5d 18             	mov    0x18(%ebp),%ebx
40901f:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
409022:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
409026:	8b 75 0c             	mov    0xc(%ebp),%esi
409029:	8b 46 fc             	mov    -0x4(%esi),%eax
40902c:	89 45 d8             	mov    %eax,-0x28(%ebp)
40902f:	e8 93 f6 ff ff       	call   0x4086c7
409034:	8b 40 6c             	mov    0x6c(%eax),%eax
409037:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40903a:	e8 88 f6 ff ff       	call   0x4086c7
40903f:	8b 40 70             	mov    0x70(%eax),%eax
409042:	89 45 e0             	mov    %eax,-0x20(%ebp)
409045:	e8 7d f6 ff ff       	call   0x4086c7
40904a:	8b 7d 08             	mov    0x8(%ebp),%edi
40904d:	89 78 6c             	mov    %edi,0x6c(%eax)
409050:	e8 72 f6 ff ff       	call   0x4086c7
409055:	8b 4d 10             	mov    0x10(%ebp),%ecx
409058:	89 48 70             	mov    %ecx,0x70(%eax)
40905b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40905f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
409066:	ff 75 20             	push   0x20(%ebp)
409069:	ff 75 1c             	push   0x1c(%ebp)
40906c:	53                   	push   %ebx
40906d:	ff 75 14             	push   0x14(%ebp)
409070:	56                   	push   %esi
409071:	e8 bb c9 ff ff       	call   0x405a31
409076:	83 c4 14             	add    $0x14,%esp
409079:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40907c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409080:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
409084:	e8 3a 00 00 00       	call   0x4090c3
409089:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40908c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40908f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409096:	5f                   	pop    %edi
409097:	5e                   	pop    %esi
409098:	5b                   	pop    %ebx
409099:	c9                   	leave
40909a:	c3                   	ret
40909b:	ff 75 ec             	push   -0x14(%ebp)
40909e:	e8 6e 00 00 00       	call   0x409111
4090a3:	59                   	pop    %ecx
4090a4:	c3                   	ret
4090a5:	8b 65 e8             	mov    -0x18(%ebp),%esp
4090a8:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
4090ac:	6a ff                	push   $0xffffffff
4090ae:	8d 45 f0             	lea    -0x10(%ebp),%eax
4090b1:	50                   	push   %eax
4090b2:	e8 db cb ff ff       	call   0x405c92
4090b7:	59                   	pop    %ecx
4090b8:	59                   	pop    %ecx
4090b9:	33 c0                	xor    %eax,%eax
4090bb:	eb cf                	jmp    0x40908c
4090bd:	8b 75 0c             	mov    0xc(%ebp),%esi
4090c0:	8b 7d 08             	mov    0x8(%ebp),%edi
4090c3:	8b 45 d8             	mov    -0x28(%ebp),%eax
4090c6:	89 46 fc             	mov    %eax,-0x4(%esi)
4090c9:	e8 f9 f5 ff ff       	call   0x4086c7
4090ce:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4090d1:	89 48 6c             	mov    %ecx,0x6c(%eax)
4090d4:	e8 ee f5 ff ff       	call   0x4086c7
4090d9:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4090dc:	89 48 70             	mov    %ecx,0x70(%eax)
4090df:	81 3f 63 73 6d e0    	cmpl   $0xe06d7363,(%edi)
4090e5:	75 29                	jne    0x409110
4090e7:	83 7f 10 03          	cmpl   $0x3,0x10(%edi)
4090eb:	75 23                	jne    0x409110
4090ed:	81 7f 14 20 05 93 19 	cmpl   $0x19930520,0x14(%edi)
4090f4:	75 1a                	jne    0x409110
4090f6:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4090fa:	75 14                	jne    0x409110
4090fc:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
409100:	74 0e                	je     0x409110
409102:	e8 f3 cb ff ff       	call   0x405cfa
409107:	50                   	push   %eax
409108:	57                   	push   %edi
409109:	e8 f1 01 00 00       	call   0x4092ff
40910e:	59                   	pop    %ecx
40910f:	59                   	pop    %ecx
409110:	c3                   	ret
409111:	8b 44 24 04          	mov    0x4(%esp),%eax
409115:	8b 00                	mov    (%eax),%eax
409117:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40911d:	75 19                	jne    0x409138
40911f:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
409123:	75 13                	jne    0x409138
409125:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
40912c:	75 0a                	jne    0x409138
40912e:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
409132:	75 04                	jne    0x409138
409134:	6a 01                	push   $0x1
409136:	58                   	pop    %eax
409137:	c3                   	ret
409138:	33 c0                	xor    %eax,%eax
40913a:	c3                   	ret
40913b:	55                   	push   %ebp
40913c:	8b ec                	mov    %esp,%ebp
40913e:	6a ff                	push   $0xffffffff
409140:	68 d8 d7 40 00       	push   $0x40d7d8
409145:	68 74 87 40 00       	push   $0x408774
40914a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409150:	50                   	push   %eax
409151:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
409158:	83 ec 0c             	sub    $0xc,%esp
40915b:	53                   	push   %ebx
40915c:	56                   	push   %esi
40915d:	57                   	push   %edi
40915e:	89 65 e8             	mov    %esp,-0x18(%ebp)
409161:	8b 4d 10             	mov    0x10(%ebp),%ecx
409164:	8b 41 04             	mov    0x4(%ecx),%eax
409167:	85 c0                	test   %eax,%eax
409169:	0f 84 75 01 00 00    	je     0x4092e4
40916f:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
409173:	0f 84 6b 01 00 00    	je     0x4092e4
409179:	8b 41 08             	mov    0x8(%ecx),%eax
40917c:	85 c0                	test   %eax,%eax
40917e:	0f 84 60 01 00 00    	je     0x4092e4
409184:	8b 55 0c             	mov    0xc(%ebp),%edx
409187:	8d 7c 10 0c          	lea    0xc(%eax,%edx,1),%edi
40918b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40918f:	f6 01 08             	testb  $0x8,(%ecx)
409192:	74 44                	je     0x4091d8
409194:	8b 75 08             	mov    0x8(%ebp),%esi
409197:	6a 01                	push   $0x1
409199:	ff 76 18             	push   0x18(%esi)
40919c:	e8 dc 25 00 00       	call   0x40b77d
4091a1:	59                   	pop    %ecx
4091a2:	59                   	pop    %ecx
4091a3:	85 c0                	test   %eax,%eax
4091a5:	0f 84 30 01 00 00    	je     0x4092db
4091ab:	6a 01                	push   $0x1
4091ad:	57                   	push   %edi
4091ae:	e8 e6 25 00 00       	call   0x40b799
4091b3:	59                   	pop    %ecx
4091b4:	59                   	pop    %ecx
4091b5:	85 c0                	test   %eax,%eax
4091b7:	0f 84 1e 01 00 00    	je     0x4092db
4091bd:	8b 46 18             	mov    0x18(%esi),%eax
4091c0:	89 07                	mov    %eax,(%edi)
4091c2:	8b 4d 14             	mov    0x14(%ebp),%ecx
4091c5:	83 c1 08             	add    $0x8,%ecx
4091c8:	51                   	push   %ecx
4091c9:	50                   	push   %eax
4091ca:	e8 97 01 00 00       	call   0x409366
4091cf:	59                   	pop    %ecx
4091d0:	59                   	pop    %ecx
4091d1:	89 07                	mov    %eax,(%edi)
4091d3:	e9 08 01 00 00       	jmp    0x4092e0
4091d8:	8b 75 14             	mov    0x14(%ebp),%esi
4091db:	f6 06 01             	testb  $0x1,(%esi)
4091de:	74 52                	je     0x409232
4091e0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4091e3:	6a 01                	push   $0x1
4091e5:	ff 73 18             	push   0x18(%ebx)
4091e8:	e8 90 25 00 00       	call   0x40b77d
4091ed:	59                   	pop    %ecx
4091ee:	59                   	pop    %ecx
4091ef:	85 c0                	test   %eax,%eax
4091f1:	0f 84 e4 00 00 00    	je     0x4092db
4091f7:	6a 01                	push   $0x1
4091f9:	57                   	push   %edi
4091fa:	e8 9a 25 00 00       	call   0x40b799
4091ff:	59                   	pop    %ecx
409200:	59                   	pop    %ecx
409201:	85 c0                	test   %eax,%eax
409203:	0f 84 d2 00 00 00    	je     0x4092db
409209:	ff 76 14             	push   0x14(%esi)
40920c:	ff 73 18             	push   0x18(%ebx)
40920f:	57                   	push   %edi
409210:	e8 2b d4 ff ff       	call   0x406640
409215:	83 c4 0c             	add    $0xc,%esp
409218:	83 7e 14 04          	cmpl   $0x4,0x14(%esi)
40921c:	0f 85 be 00 00 00    	jne    0x4092e0
409222:	8b 07                	mov    (%edi),%eax
409224:	85 c0                	test   %eax,%eax
409226:	0f 84 b4 00 00 00    	je     0x4092e0
40922c:	83 c6 08             	add    $0x8,%esi
40922f:	56                   	push   %esi
409230:	eb 97                	jmp    0x4091c9
409232:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
409236:	8b 5d 08             	mov    0x8(%ebp),%ebx
409239:	6a 01                	push   $0x1
40923b:	ff 73 18             	push   0x18(%ebx)
40923e:	75 3a                	jne    0x40927a
409240:	e8 38 25 00 00       	call   0x40b77d
409245:	59                   	pop    %ecx
409246:	59                   	pop    %ecx
409247:	85 c0                	test   %eax,%eax
409249:	0f 84 8c 00 00 00    	je     0x4092db
40924f:	6a 01                	push   $0x1
409251:	57                   	push   %edi
409252:	e8 42 25 00 00       	call   0x40b799
409257:	59                   	pop    %ecx
409258:	59                   	pop    %ecx
409259:	85 c0                	test   %eax,%eax
40925b:	74 7e                	je     0x4092db
40925d:	ff 76 14             	push   0x14(%esi)
409260:	83 c6 08             	add    $0x8,%esi
409263:	56                   	push   %esi
409264:	ff 73 18             	push   0x18(%ebx)
409267:	e8 fa 00 00 00       	call   0x409366
40926c:	59                   	pop    %ecx
40926d:	59                   	pop    %ecx
40926e:	50                   	push   %eax
40926f:	57                   	push   %edi
409270:	e8 cb d3 ff ff       	call   0x406640
409275:	83 c4 0c             	add    $0xc,%esp
409278:	eb 66                	jmp    0x4092e0
40927a:	e8 fe 24 00 00       	call   0x40b77d
40927f:	59                   	pop    %ecx
409280:	59                   	pop    %ecx
409281:	85 c0                	test   %eax,%eax
409283:	74 56                	je     0x4092db
409285:	6a 01                	push   $0x1
409287:	57                   	push   %edi
409288:	e8 0c 25 00 00       	call   0x40b799
40928d:	59                   	pop    %ecx
40928e:	59                   	pop    %ecx
40928f:	85 c0                	test   %eax,%eax
409291:	74 48                	je     0x4092db
409293:	ff 76 18             	push   0x18(%esi)
409296:	e8 1a 25 00 00       	call   0x40b7b5
40929b:	59                   	pop    %ecx
40929c:	85 c0                	test   %eax,%eax
40929e:	74 3b                	je     0x4092db
4092a0:	f6 06 04             	testb  $0x4,(%esi)
4092a3:	74 1c                	je     0x4092c1
4092a5:	6a 01                	push   $0x1
4092a7:	8d 46 08             	lea    0x8(%esi),%eax
4092aa:	50                   	push   %eax
4092ab:	ff 73 18             	push   0x18(%ebx)
4092ae:	e8 b3 00 00 00       	call   0x409366
4092b3:	59                   	pop    %ecx
4092b4:	59                   	pop    %ecx
4092b5:	50                   	push   %eax
4092b6:	ff 76 18             	push   0x18(%esi)
4092b9:	57                   	push   %edi
4092ba:	e8 e6 c6 ff ff       	call   0x4059a5
4092bf:	eb 1f                	jmp    0x4092e0
4092c1:	8d 46 08             	lea    0x8(%esi),%eax
4092c4:	50                   	push   %eax
4092c5:	ff 73 18             	push   0x18(%ebx)
4092c8:	e8 99 00 00 00       	call   0x409366
4092cd:	59                   	pop    %ecx
4092ce:	59                   	pop    %ecx
4092cf:	50                   	push   %eax
4092d0:	ff 76 18             	push   0x18(%esi)
4092d3:	57                   	push   %edi
4092d4:	e8 c5 c6 ff ff       	call   0x40599e
4092d9:	eb 05                	jmp    0x4092e0
4092db:	e8 5d 01 00 00       	call   0x40943d
4092e0:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4092e4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4092e7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4092ee:	5f                   	pop    %edi
4092ef:	5e                   	pop    %esi
4092f0:	5b                   	pop    %ebx
4092f1:	c9                   	leave
4092f2:	c3                   	ret
4092f3:	6a 01                	push   $0x1
4092f5:	58                   	pop    %eax
4092f6:	c3                   	ret
4092f7:	8b 65 e8             	mov    -0x18(%ebp),%esp
4092fa:	e9 dd 00 00 00       	jmp    0x4093dc
4092ff:	55                   	push   %ebp
409300:	8b ec                	mov    %esp,%ebp
409302:	6a ff                	push   $0xffffffff
409304:	68 e8 d7 40 00       	push   $0x40d7e8
409309:	68 74 87 40 00       	push   $0x408774
40930e:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409314:	50                   	push   %eax
409315:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40931c:	51                   	push   %ecx