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)
409353:	8b c1                	mov    %ecx,%eax
409355:	5d                   	pop    %ebp
409356:	c2 04 00             	ret    $0x4
409359:	e8 0c fe ff ff       	call   0x40916a
40935e:	cc                   	int3
40935f:	8b ff                	mov    %edi,%edi
409361:	55                   	push   %ebp
409362:	8b ec                	mov    %esp,%ebp
409364:	51                   	push   %ecx
409365:	56                   	push   %esi
409366:	8b f1                	mov    %ecx,%esi
409368:	8b 4d 08             	mov    0x8(%ebp),%ecx
40936b:	57                   	push   %edi
40936c:	8b 7e 10             	mov    0x10(%esi),%edi
40936f:	3b f9                	cmp    %ecx,%edi
409371:	72 6d                	jb     0x4093e0
409373:	8b 55 0c             	mov    0xc(%ebp),%edx
409376:	8b c7                	mov    %edi,%eax
409378:	2b c1                	sub    %ecx,%eax
40937a:	3b c2                	cmp    %edx,%eax
40937c:	77 15                	ja     0x409393
40937e:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
409382:	89 4e 10             	mov    %ecx,0x10(%esi)
409385:	72 04                	jb     0x40938b
409387:	8b 06                	mov    (%esi),%eax
409389:	eb 02                	jmp    0x40938d
40938b:	8b c6                	mov    %esi,%eax
40938d:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
409391:	eb 45                	jmp    0x4093d8
409393:	85 d2                	test   %edx,%edx
409395:	74 41                	je     0x4093d8
409397:	8b 46 14             	mov    0x14(%esi),%eax
40939a:	53                   	push   %ebx
40939b:	83 f8 10             	cmp    $0x10,%eax
40939e:	72 04                	jb     0x4093a4
4093a0:	8b 1e                	mov    (%esi),%ebx
4093a2:	eb 02                	jmp    0x4093a6
4093a4:	8b de                	mov    %esi,%ebx
4093a6:	2b fa                	sub    %edx,%edi
4093a8:	03 d9                	add    %ecx,%ebx
4093aa:	89 7d fc             	mov    %edi,-0x4(%ebp)
4093ad:	29 4d fc             	sub    %ecx,-0x4(%ebp)
4093b0:	74 13                	je     0x4093c5
4093b2:	ff 75 fc             	push   -0x4(%ebp)
4093b5:	8d 04 13             	lea    (%ebx,%edx,1),%eax
4093b8:	50                   	push   %eax
4093b9:	53                   	push   %ebx
4093ba:	e8 ed 0a 00 00       	call   0x409eac
4093bf:	8b 46 14             	mov    0x14(%esi),%eax
4093c2:	83 c4 0c             	add    $0xc,%esp
4093c5:	89 7e 10             	mov    %edi,0x10(%esi)
4093c8:	5b                   	pop    %ebx
4093c9:	83 f8 10             	cmp    $0x10,%eax
4093cc:	72 04                	jb     0x4093d2
4093ce:	8b 06                	mov    (%esi),%eax
4093d0:	eb 02                	jmp    0x4093d4
4093d2:	8b c6                	mov    %esi,%eax
4093d4:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
4093d8:	5f                   	pop    %edi
4093d9:	8b c6                	mov    %esi,%eax
4093db:	5e                   	pop    %esi
4093dc:	c9                   	leave
4093dd:	c2 08 00             	ret    $0x8
4093e0:	8b ce                	mov    %esi,%ecx
4093e2:	e8 83 fd ff ff       	call   0x40916a
4093e7:	cc                   	int3
4093e8:	8b ff                	mov    %edi,%edi
4093ea:	55                   	push   %ebp
4093eb:	8b ec                	mov    %esp,%ebp
4093ed:	8b 45 08             	mov    0x8(%ebp),%eax
4093f0:	80 38 00             	cmpb   $0x0,(%eax)
4093f3:	75 04                	jne    0x4093f9
4093f5:	33 c0                	xor    %eax,%eax
4093f7:	5d                   	pop    %ebp
4093f8:	c3                   	ret
4093f9:	8d 50 01             	lea    0x1(%eax),%edx
4093fc:	8a 08                	mov    (%eax),%cl
4093fe:	40                   	inc    %eax
4093ff:	84 c9                	test   %cl,%cl
409401:	75 f9                	jne    0x4093fc
409403:	2b c2                	sub    %edx,%eax
409405:	5d                   	pop    %ebp
409406:	c3                   	ret
409407:	cc                   	int3
409408:	cc                   	int3
409409:	cc                   	int3
40940a:	cc                   	int3
40940b:	cc                   	int3
40940c:	cc                   	int3
40940d:	cc                   	int3
40940e:	cc                   	int3
40940f:	cc                   	int3
409410:	8b ff                	mov    %edi,%edi
409412:	55                   	push   %ebp
409413:	8b ec                	mov    %esp,%ebp
409415:	ff 75 0c             	push   0xc(%ebp)
409418:	e8 a9 00 00 00       	call   0x4094c6
40941d:	59                   	pop    %ecx
40941e:	85 c0                	test   %eax,%eax
409420:	75 05                	jne    0x409427
409422:	b8 08 1a 40 00       	mov    $0x401a08,%eax
409427:	8b 4d 08             	mov    0x8(%ebp),%ecx
40942a:	50                   	push   %eax
40942b:	e8 6c f9 ff ff       	call   0x408d9c
409430:	8b 45 08             	mov    0x8(%ebp),%eax
409433:	5d                   	pop    %ebp
409434:	c2 08 00             	ret    $0x8
409437:	cc                   	int3
409438:	cc                   	int3
409439:	cc                   	int3
40943a:	cc                   	int3
40943b:	cc                   	int3
40943c:	cc                   	int3
40943d:	cc                   	int3
40943e:	cc                   	int3
40943f:	cc                   	int3
409440:	8b ff                	mov    %edi,%edi
409442:	55                   	push   %ebp
409443:	8b ec                	mov    %esp,%ebp
409445:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
409449:	75 0f                	jne    0x40945a
40944b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40944e:	68 24 1a 40 00       	push   $0x401a24
409453:	e8 44 f9 ff ff       	call   0x408d9c
409458:	eb 0b                	jmp    0x409465
40945a:	ff 75 0c             	push   0xc(%ebp)
40945d:	ff 75 08             	push   0x8(%ebp)
409460:	e8 ab ff ff ff       	call   0x409410
409465:	8b 45 08             	mov    0x8(%ebp),%eax
409468:	5d                   	pop    %ebp
409469:	c2 08 00             	ret    $0x8
40946c:	cc                   	int3
40946d:	cc                   	int3
40946e:	cc                   	int3
40946f:	cc                   	int3
409470:	8b ff                	mov    %edi,%edi
409472:	55                   	push   %ebp
409473:	8b ec                	mov    %esp,%ebp
409475:	ff 75 0c             	push   0xc(%ebp)
409478:	e8 75 00 00 00       	call   0x4094f2
40947d:	59                   	pop    %ecx
40947e:	85 c0                	test   %eax,%eax
409480:	75 05                	jne    0x409487
409482:	b8 08 1a 40 00       	mov    $0x401a08,%eax
409487:	8b 4d 08             	mov    0x8(%ebp),%ecx
40948a:	50                   	push   %eax
40948b:	e8 0c f9 ff ff       	call   0x408d9c
409490:	8b 45 08             	mov    0x8(%ebp),%eax
409493:	5d                   	pop    %ebp
409494:	c2 08 00             	ret    $0x8
409497:	cc                   	int3
409498:	cc                   	int3
409499:	cc                   	int3
40949a:	cc                   	int3
40949b:	cc                   	int3
40949c:	cc                   	int3
40949d:	cc                   	int3
40949e:	cc                   	int3
40949f:	cc                   	int3
4094a0:	b8 00 1a 40 00       	mov    $0x401a00,%eax
4094a5:	c3                   	ret
4094a6:	cc                   	int3
4094a7:	cc                   	int3
4094a8:	cc                   	int3
4094a9:	cc                   	int3
4094aa:	cc                   	int3
4094ab:	cc                   	int3
4094ac:	cc                   	int3
4094ad:	cc                   	int3
4094ae:	cc                   	int3
4094af:	cc                   	int3
4094b0:	b8 18 1a 40 00       	mov    $0x401a18,%eax
4094b5:	c3                   	ret
4094b6:	cc                   	int3
4094b7:	cc                   	int3