409039:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40903d:	74 18                	je     0x409057
40903f:	83 fe 10             	cmp    $0x10,%esi
409042:	73 13                	jae    0x409057
409044:	8b 41 10             	mov    0x10(%ecx),%eax
409047:	3b f0                	cmp    %eax,%esi
409049:	73 02                	jae    0x40904d
40904b:	8b c6                	mov    %esi,%eax
40904d:	50                   	push   %eax
40904e:	6a 01                	push   $0x1
409050:	e8 61 00 00 00       	call   0x4090b6
409055:	eb 12                	jmp    0x409069
409057:	85 f6                	test   %esi,%esi
409059:	75 10                	jne    0x40906b
40905b:	21 71 10             	and    %esi,0x10(%ecx)
40905e:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
409062:	72 02                	jb     0x409066
409064:	8b 09                	mov    (%ecx),%ecx
409066:	c6 01 00             	movb   $0x0,(%ecx)
409069:	85 f6                	test   %esi,%esi
40906b:	0f 95 c0             	setne  %al
40906e:	5e                   	pop    %esi
40906f:	5d                   	pop    %ebp
409070:	c2 08 00             	ret    $0x8
409073:	e8 a3 00 00 00       	call   0x40911b
409078:	cc                   	int3
409079:	8b ff                	mov    %edi,%edi
40907b:	55                   	push   %ebp
40907c:	8b ec                	mov    %esp,%ebp
40907e:	8b 55 08             	mov    0x8(%ebp),%edx
409081:	85 d2                	test   %edx,%edx
409083:	74 2b                	je     0x4090b0
409085:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
409089:	72 04                	jb     0x40908f
40908b:	8b 01                	mov    (%ecx),%eax
40908d:	eb 02                	jmp    0x409091
40908f:	8b c1                	mov    %ecx,%eax
409091:	3b d0                	cmp    %eax,%edx
409093:	72 1b                	jb     0x4090b0
409095:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
409099:	56                   	push   %esi
40909a:	72 04                	jb     0x4090a0
40909c:	8b 31                	mov    (%ecx),%esi
40909e:	eb 02                	jmp    0x4090a2
4090a0:	8b f1                	mov    %ecx,%esi
4090a2:	8b 41 10             	mov    0x10(%ecx),%eax
4090a5:	03 c6                	add    %esi,%eax
4090a7:	5e                   	pop    %esi
4090a8:	3b c2                	cmp    %edx,%eax
4090aa:	76 04                	jbe    0x4090b0
4090ac:	b0 01                	mov    $0x1,%al
4090ae:	eb 02                	jmp    0x4090b2
4090b0:	32 c0                	xor    %al,%al
4090b2:	5d                   	pop    %ebp
4090b3:	c2 04 00             	ret    $0x4
4090b6:	8b ff                	mov    %edi,%edi
4090b8:	55                   	push   %ebp
4090b9:	8b ec                	mov    %esp,%ebp
4090bb:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4090bf:	56                   	push   %esi
4090c0:	57                   	push   %edi
4090c1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4090c4:	8b f1                	mov    %ecx,%esi
4090c6:	74 20                	je     0x4090e8
4090c8:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4090cc:	72 1a                	jb     0x4090e8
4090ce:	53                   	push   %ebx
4090cf:	8b 1e                	mov    (%esi),%ebx
4090d1:	85 ff                	test   %edi,%edi
4090d3:	74 0b                	je     0x4090e0
4090d5:	57                   	push   %edi
4090d6:	53                   	push   %ebx
4090d7:	56                   	push   %esi
4090d8:	e8 c9 0d 00 00       	call   0x409ea6
4090dd:	83 c4 0c             	add    $0xc,%esp
4090e0:	53                   	push   %ebx
4090e1:	e8 64 07 00 00       	call   0x40984a
4090e6:	59                   	pop    %ecx
4090e7:	5b                   	pop    %ebx
4090e8:	89 7e 10             	mov    %edi,0x10(%esi)
4090eb:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
4090f2:	c6 04 37 00          	movb   $0x0,(%edi,%esi,1)
4090f6:	5f                   	pop    %edi
4090f7:	5e                   	pop    %esi
4090f8:	5d                   	pop    %ebp
4090f9:	c2 08 00             	ret    $0x8
4090fc:	8b ff                	mov    %edi,%edi
4090fe:	55                   	push   %ebp
4090ff:	8b ec                	mov    %esp,%ebp
409101:	83 ec 0c             	sub    $0xc,%esp
409104:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409107:	e8 e5 fc ff ff       	call   0x408df1
40910c:	68 88 ad 40 00       	push   $0x40ad88
409111:	8d 45 f4             	lea    -0xc(%ebp),%eax
409114:	50                   	push   %eax
409115:	e8 7c 0c 00 00       	call   0x409d96
40911a:	cc                   	int3
40911b:	68 5c 1a 40 00       	push   $0x401a5c
409120:	e8 01 00 00 00       	call   0x409126
409125:	cc                   	int3
409126:	8b ff                	mov    %edi,%edi
409128:	55                   	push   %ebp
409129:	8b ec                	mov    %esp,%ebp
40912b:	83 ec 0c             	sub    $0xc,%esp
40912e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409131:	ff 75 08             	push   0x8(%ebp)
409134:	e8 08 fd ff ff       	call   0x408e41
409139:	68 f8 ad 40 00       	push   $0x40adf8
40913e:	8d 45 f4             	lea    -0xc(%ebp),%eax
409141:	50                   	push   %eax
409142:	e8 4f 0c 00 00       	call   0x409d96
409147:	cc                   	int3
409148:	8b ff                	mov    %edi,%edi
40914a:	55                   	push   %ebp
40914b:	8b ec                	mov    %esp,%ebp
40914d:	83 ec 0c             	sub    $0xc,%esp
409150:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409153:	ff 75 08             	push   0x8(%ebp)
409156:	e8 e6 fc ff ff       	call   0x408e41
40915b:	68 34 ae 40 00       	push   $0x40ae34
409160:	8d 45 f4             	lea    -0xc(%ebp),%eax
409163:	50                   	push   %eax
409164:	e8 2d 0c 00 00       	call   0x409d96
409169:	cc                   	int3
40916a:	68 44 1a 40 00       	push   $0x401a44
40916f:	e8 d4 ff ff ff       	call   0x409148
409174:	cc                   	int3
409175:	8b ff                	mov    %edi,%edi
409177:	55                   	push   %ebp
409178:	8b ec                	mov    %esp,%ebp
40917a:	8b 45 0c             	mov    0xc(%ebp),%eax
40917d:	53                   	push   %ebx
40917e:	8b 5d 08             	mov    0x8(%ebp),%ebx
409181:	56                   	push   %esi
409182:	57                   	push   %edi
409183:	8b f1                	mov    %ecx,%esi
409185:	8b 7b 10             	mov    0x10(%ebx),%edi
409188:	3b f8                	cmp    %eax,%edi
40918a:	72 79                	jb     0x409205
40918c:	2b f8                	sub    %eax,%edi
40918e:	39 7d 10             	cmp    %edi,0x10(%ebp)
409191:	73 03                	jae    0x409196
409193:	8b 7d 10             	mov    0x10(%ebp),%edi
409196:	3b f3                	cmp    %ebx,%esi
409198:	75 17                	jne    0x4091b1
40919a:	03 c7                	add    %edi,%eax
40919c:	50                   	push   %eax
40919d:	e8 91 01 00 00       	call   0x409333
4091a2:	8b 45 0c             	mov    0xc(%ebp),%eax
4091a5:	8b ce                	mov    %esi,%ecx
4091a7:	50                   	push   %eax
4091a8:	6a 00                	push   $0x0
4091aa:	e8 b0 01 00 00       	call   0x40935f
4091af:	eb 4b                	jmp    0x4091fc
4091b1:	6a 00                	push   $0x0
4091b3:	57                   	push   %edi
4091b4:	e8 62 fe ff ff       	call   0x40901b
4091b9:	84 c0                	test   %al,%al
4091bb:	74 3f                	je     0x4091fc
4091bd:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
4091c1:	72 02                	jb     0x4091c5
4091c3:	8b 1b                	mov    (%ebx),%ebx
4091c5:	8b 46 14             	mov    0x14(%esi),%eax
4091c8:	83 f8 10             	cmp    $0x10,%eax
4091cb:	72 04                	jb     0x4091d1
4091cd:	8b 0e                	mov    (%esi),%ecx
4091cf:	eb 02                	jmp    0x4091d3
4091d1:	8b ce                	mov    %esi,%ecx
4091d3:	85 ff                	test   %edi,%edi
4091d5:	74 13                	je     0x4091ea
4091d7:	8b 45 0c             	mov    0xc(%ebp),%eax
4091da:	57                   	push   %edi
4091db:	03 c3                	add    %ebx,%eax
4091dd:	50                   	push   %eax
4091de:	51                   	push   %ecx
4091df:	e8 c2 0c 00 00       	call   0x409ea6
4091e4:	8b 46 14             	mov    0x14(%esi),%eax
4091e7:	83 c4 0c             	add    $0xc,%esp
4091ea:	89 7e 10             	mov    %edi,0x10(%esi)
4091ed:	83 f8 10             	cmp    $0x10,%eax
4091f0:	72 04                	jb     0x4091f6
4091f2:	8b 06                	mov    (%esi),%eax
4091f4:	eb 02                	jmp    0x4091f8
4091f6:	8b c6                	mov    %esi,%eax
4091f8:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
4091fc:	5f                   	pop    %edi
4091fd:	8b c6                	mov    %esi,%eax
4091ff:	5e                   	pop    %esi
409200:	5b                   	pop    %ebx
409201:	5d                   	pop    %ebp
409202:	c2 0c 00             	ret    $0xc
409205:	e8 60 ff ff ff       	call   0x40916a
40920a:	cc                   	int3
40920b:	8b ff                	mov    %edi,%edi
40920d:	55                   	push   %ebp
40920e:	8b ec                	mov    %esp,%ebp
409210:	53                   	push   %ebx
409211:	8b 5d 08             	mov    0x8(%ebp),%ebx
409214:	56                   	push   %esi
409215:	53                   	push   %ebx
409216:	8b f1                	mov    %ecx,%esi
409218:	e8 5c fe ff ff       	call   0x409079
40921d:	84 c0                	test   %al,%al
40921f:	74 1c                	je     0x40923d
409221:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
409225:	72 04                	jb     0x40922b
409227:	8b 06                	mov    (%esi),%eax
409229:	eb 02                	jmp    0x40922d
40922b:	8b c6                	mov    %esi,%eax
40922d:	ff 75 0c             	push   0xc(%ebp)
409230:	2b d8                	sub    %eax,%ebx
409232:	8b ce                	mov    %esi,%ecx
409234:	53                   	push   %ebx
409235:	56                   	push   %esi
409236:	e8 3a ff ff ff       	call   0x409175
40923b:	eb 47                	jmp    0x409284
40923d:	57                   	push   %edi
40923e:	8b 7d 0c             	mov    0xc(%ebp),%edi
409241:	8b ce                	mov    %esi,%ecx
409243:	6a 00                	push   $0x0
409245:	57                   	push   %edi
409246:	e8 d0 fd ff ff       	call   0x40901b
40924b:	84 c0                	test   %al,%al
40924d:	74 32                	je     0x409281
40924f:	8b 46 14             	mov    0x14(%esi),%eax
409252:	83 f8 10             	cmp    $0x10,%eax
409255:	72 04                	jb     0x40925b
409257:	8b 0e                	mov    (%esi),%ecx
409259:	eb 02                	jmp    0x40925d
40925b:	8b ce                	mov    %esi,%ecx
40925d:	85 ff                	test   %edi,%edi
40925f:	74 0e                	je     0x40926f
409261:	57                   	push   %edi
409262:	53                   	push   %ebx
409263:	51                   	push   %ecx
409264:	e8 3d 0c 00 00       	call   0x409ea6
409269:	8b 46 14             	mov    0x14(%esi),%eax
40926c:	83 c4 0c             	add    $0xc,%esp
40926f:	89 7e 10             	mov    %edi,0x10(%esi)
409272:	83 f8 10             	cmp    $0x10,%eax
409275:	72 04                	jb     0x40927b
409277:	8b 06                	mov    (%esi),%eax
409279:	eb 02                	jmp    0x40927d
40927b:	8b c6                	mov    %esi,%eax
40927d:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
409281:	8b c6                	mov    %esi,%eax
409283:	5f                   	pop    %edi
409284:	5e                   	pop    %esi
409285:	5b                   	pop    %ebx
409286:	5d                   	pop    %ebp
409287:	c2 08 00             	ret    $0x8
40928a:	cc                   	int3
40928b:	cc                   	int3
40928c:	cc                   	int3
40928d:	cc                   	int3
40928e:	cc                   	int3
40928f:	cc                   	int3
409290:	8b ff                	mov    %edi,%edi
409292:	55                   	push   %ebp
409293:	8b ec                	mov    %esp,%ebp
409295:	56                   	push   %esi
409296:	8b 75 0c             	mov    0xc(%ebp),%esi
409299:	56                   	push   %esi
40929a:	e8 27 02 00 00       	call   0x4094c6
40929f:	59                   	pop    %ecx
4092a0:	8b 4d 08             	mov    0x8(%ebp),%ecx
4092a3:	85 c0                	test   %eax,%eax
4092a5:	8b c1                	mov    %ecx,%eax
4092a7:	89 31                	mov    %esi,(%ecx)
4092a9:	5e                   	pop    %esi
4092aa:	74 09                	je     0x4092b5
4092ac:	c7 41 04 00 c0 40 00 	movl   $0x40c000,0x4(%ecx)
4092b3:	eb 07                	jmp    0x4092bc
4092b5:	c7 41 04 08 c0 40 00 	movl   $0x40c008,0x4(%ecx)
4092bc:	5d                   	pop    %ebp
4092bd:	c2 08 00             	ret    $0x8
4092c0:	8b ff                	mov    %edi,%edi
4092c2:	55                   	push   %ebp
4092c3:	8b ec                	mov    %esp,%ebp
4092c5:	8b 45 08             	mov    0x8(%ebp),%eax
4092c8:	8b 55 0c             	mov    0xc(%ebp),%edx
4092cb:	89 10                	mov    %edx,(%eax)
4092cd:	89 48 04             	mov    %ecx,0x4(%eax)
4092d0:	5d                   	pop    %ebp
4092d1:	c2 08 00             	ret    $0x8
4092d4:	cc                   	int3
4092d5:	cc                   	int3
4092d6:	cc                   	int3
4092d7:	cc                   	int3
4092d8:	cc                   	int3
4092d9:	cc                   	int3
4092da:	cc                   	int3
4092db:	cc                   	int3
4092dc:	cc                   	int3
4092dd:	cc                   	int3
4092de:	cc                   	int3
4092df:	cc                   	int3
4092e0:	8b ff                	mov    %edi,%edi
4092e2:	55                   	push   %ebp
4092e3:	8b ec                	mov    %esp,%ebp
4092e5:	8b 45 08             	mov    0x8(%ebp),%eax
4092e8:	3b 48 04             	cmp    0x4(%eax),%ecx
4092eb:	75 0b                	jne    0x4092f8
4092ed:	8b 00                	mov    (%eax),%eax
4092ef:	3b 45 0c             	cmp    0xc(%ebp),%eax
4092f2:	75 04                	jne    0x4092f8
4092f4:	b0 01                	mov    $0x1,%al
4092f6:	eb 02                	jmp    0x4092fa
4092f8:	32 c0                	xor    %al,%al
4092fa:	5d                   	pop    %ebp
4092fb:	c2 08 00             	ret    $0x8
4092fe:	cc                   	int3
4092ff:	cc                   	int3
409300:	8b ff                	mov    %edi,%edi
409302:	55                   	push   %ebp
409303:	8b ec                	mov    %esp,%ebp
409305:	51                   	push   %ecx
409306:	51                   	push   %ecx
409307:	56                   	push   %esi
409308:	57                   	push   %edi
409309:	ff 75 0c             	push   0xc(%ebp)
40930c:	8b f9                	mov    %ecx,%edi
40930e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
409311:	ff 75 08             	push   0x8(%ebp)
409314:	51                   	push   %ecx
409315:	8b 07                	mov    (%edi),%eax
409317:	8b 70 0c             	mov    0xc(%eax),%esi
40931a:	8b ce                	mov    %esi,%ecx
40931c:	ff 15 20 f2 40 00    	call   *0x40f220
409322:	8b cf                	mov    %edi,%ecx
409324:	ff d6                	call   *%esi
409326:	8b c8                	mov    %eax,%ecx
409328:	e8 58 fb ff ff       	call   0x408e85
40932d:	5f                   	pop    %edi
40932e:	5e                   	pop    %esi
40932f:	c9                   	leave
409330:	c2 08 00             	ret    $0x8
409333:	8b ff                	mov    %edi,%edi
409335:	55                   	push   %ebp
409336:	8b ec                	mov    %esp,%ebp
409338:	8b 45 08             	mov    0x8(%ebp),%eax
40933b:	39 41 10             	cmp    %eax,0x10(%ecx)
40933e:	72 19                	jb     0x409359
409340:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
409344:	89 41 10             	mov    %eax,0x10(%ecx)
409347:	72 04                	jb     0x40934d
409349:	8b 11                	mov    (%ecx),%edx
40934b:	eb 02                	jmp    0x40934f
40934d:	8b d1                	mov    %ecx,%edx
40934f:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)