40c276:	55                   	push   %ebp
40c277:	8b ec                	mov    %esp,%ebp
40c279:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40c27d:	74 12                	je     0x40c291
40c27f:	ff 75 08             	push   0x8(%ebp)
40c282:	e8 0e 00 00 00       	call   0x40c295
40c287:	ff 75 08             	push   0x8(%ebp)
40c28a:	e8 10 e5 ff ff       	call   0x40a79f
40c28f:	59                   	pop    %ecx
40c290:	59                   	pop    %ecx
40c291:	5d                   	pop    %ebp
40c292:	c2 04 00             	ret    $0x4
40c295:	8b ff                	mov    %edi,%edi
40c297:	55                   	push   %ebp
40c298:	8b ec                	mov    %esp,%ebp
40c29a:	8b 45 08             	mov    0x8(%ebp),%eax
40c29d:	83 ec 10             	sub    $0x10,%esp
40c2a0:	8b 08                	mov    (%eax),%ecx
40c2a2:	81 f9 d0 a1 41 00    	cmp    $0x41a1d0,%ecx
40c2a8:	74 0a                	je     0x40c2b4
40c2aa:	51                   	push   %ecx
40c2ab:	e8 ef e4 ff ff       	call   0x40a79f
40c2b0:	8b 45 08             	mov    0x8(%ebp),%eax
40c2b3:	59                   	pop    %ecx
40c2b4:	ff 70 3c             	push   0x3c(%eax)
40c2b7:	e8 e3 e4 ff ff       	call   0x40a79f
40c2bc:	8b 45 08             	mov    0x8(%ebp),%eax
40c2bf:	ff 70 30             	push   0x30(%eax)
40c2c2:	e8 d8 e4 ff ff       	call   0x40a79f
40c2c7:	8b 45 08             	mov    0x8(%ebp),%eax
40c2ca:	ff 70 34             	push   0x34(%eax)
40c2cd:	e8 cd e4 ff ff       	call   0x40a79f
40c2d2:	8b 45 08             	mov    0x8(%ebp),%eax
40c2d5:	ff 70 38             	push   0x38(%eax)
40c2d8:	e8 c2 e4 ff ff       	call   0x40a79f
40c2dd:	8b 45 08             	mov    0x8(%ebp),%eax
40c2e0:	ff 70 28             	push   0x28(%eax)
40c2e3:	e8 b7 e4 ff ff       	call   0x40a79f
40c2e8:	8b 45 08             	mov    0x8(%ebp),%eax
40c2eb:	ff 70 2c             	push   0x2c(%eax)
40c2ee:	e8 ac e4 ff ff       	call   0x40a79f
40c2f3:	8b 45 08             	mov    0x8(%ebp),%eax
40c2f6:	ff 70 40             	push   0x40(%eax)
40c2f9:	e8 a1 e4 ff ff       	call   0x40a79f
40c2fe:	8b 45 08             	mov    0x8(%ebp),%eax
40c301:	ff 70 44             	push   0x44(%eax)
40c304:	e8 96 e4 ff ff       	call   0x40a79f
40c309:	8b 45 08             	mov    0x8(%ebp),%eax
40c30c:	ff b0 60 03 00 00    	push   0x360(%eax)
40c312:	e8 88 e4 ff ff       	call   0x40a79f
40c317:	83 c4 24             	add    $0x24,%esp
40c31a:	8d 45 08             	lea    0x8(%ebp),%eax
40c31d:	89 45 f4             	mov    %eax,-0xc(%ebp)
40c320:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40c323:	6a 05                	push   $0x5
40c325:	58                   	pop    %eax
40c326:	89 45 f8             	mov    %eax,-0x8(%ebp)
40c329:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c32c:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c32f:	50                   	push   %eax
40c330:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c333:	50                   	push   %eax
40c334:	8d 45 f0             	lea    -0x10(%ebp),%eax
40c337:	50                   	push   %eax
40c338:	e8 84 fd ff ff       	call   0x40c0c1
40c33d:	6a 04                	push   $0x4
40c33f:	8d 45 08             	lea    0x8(%ebp),%eax
40c342:	89 45 f4             	mov    %eax,-0xc(%ebp)
40c345:	8d 4d ff             	lea    -0x1(%ebp),%ecx
40c348:	58                   	pop    %eax
40c349:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c34c:	89 45 f8             	mov    %eax,-0x8(%ebp)
40c34f:	8d 45 f0             	lea    -0x10(%ebp),%eax
40c352:	50                   	push   %eax
40c353:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c356:	50                   	push   %eax
40c357:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c35a:	50                   	push   %eax
40c35b:	e8 cc fd ff ff       	call   0x40c12c
40c360:	c9                   	leave
40c361:	c3                   	ret
40c362:	8b ff                	mov    %edi,%edi
40c364:	55                   	push   %ebp
40c365:	8b ec                	mov    %esp,%ebp
40c367:	56                   	push   %esi
40c368:	8b 75 08             	mov    0x8(%ebp),%esi
40c36b:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
40c36f:	74 28                	je     0x40c399
40c371:	ff 76 4c             	push   0x4c(%esi)
40c374:	e8 4d 3c 00 00       	call   0x40ffc6
40c379:	8b 46 4c             	mov    0x4c(%esi),%eax
40c37c:	59                   	pop    %ecx
40c37d:	3b 05 b4 23 42 00    	cmp    0x4223b4,%eax
40c383:	74 14                	je     0x40c399
40c385:	3d 28 12 42 00       	cmp    $0x421228,%eax
40c38a:	74 0d                	je     0x40c399
40c38c:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
40c390:	75 07                	jne    0x40c399
40c392:	50                   	push   %eax
40c393:	e8 63 3a 00 00       	call   0x40fdfb
40c398:	59                   	pop    %ecx
40c399:	8b 45 0c             	mov    0xc(%ebp),%eax
40c39c:	89 46 4c             	mov    %eax,0x4c(%esi)
40c39f:	5e                   	pop    %esi
40c3a0:	85 c0                	test   %eax,%eax
40c3a2:	74 07                	je     0x40c3ab
40c3a4:	50                   	push   %eax
40c3a5:	e8 d4 39 00 00       	call   0x40fd7e
40c3aa:	59                   	pop    %ecx
40c3ab:	5d                   	pop    %ebp
40c3ac:	c3                   	ret
40c3ad:	8b ff                	mov    %edi,%edi
40c3af:	53                   	push   %ebx
40c3b0:	57                   	push   %edi
40c3b1:	ff 15 28 90 41 00    	call   *0x419028
40c3b7:	8b f8                	mov    %eax,%edi
40c3b9:	a1 20 12 42 00       	mov    0x421220,%eax
40c3be:	83 f8 ff             	cmp    $0xffffffff,%eax
40c3c1:	74 1a                	je     0x40c3dd
40c3c3:	50                   	push   %eax
40c3c4:	e8 c9 e6 ff ff       	call   0x40aa92
40c3c9:	85 c0                	test   %eax,%eax
40c3cb:	74 0b                	je     0x40c3d8
40c3cd:	8d 58 01             	lea    0x1(%eax),%ebx
40c3d0:	f7 db                	neg    %ebx
40c3d2:	1b db                	sbb    %ebx,%ebx
40c3d4:	23 d8                	and    %eax,%ebx
40c3d6:	eb 7a                	jmp    0x40c452
40c3d8:	a1 20 12 42 00       	mov    0x421220,%eax
40c3dd:	6a ff                	push   $0xffffffff
40c3df:	50                   	push   %eax
40c3e0:	e8 ec e6 ff ff       	call   0x40aad1
40c3e5:	85 c0                	test   %eax,%eax
40c3e7:	75 04                	jne    0x40c3ed
40c3e9:	33 db                	xor    %ebx,%ebx
40c3eb:	eb 65                	jmp    0x40c452
40c3ed:	56                   	push   %esi
40c3ee:	68 64 03 00 00       	push   $0x364
40c3f3:	6a 01                	push   $0x1
40c3f5:	e8 48 e3 ff ff       	call   0x40a742
40c3fa:	8b f0                	mov    %eax,%esi
40c3fc:	59                   	pop    %ecx
40c3fd:	59                   	pop    %ecx
40c3fe:	85 f6                	test   %esi,%esi
40c400:	75 11                	jne    0x40c413
40c402:	33 db                	xor    %ebx,%ebx
40c404:	53                   	push   %ebx
40c405:	ff 35 20 12 42 00    	push   0x421220
40c40b:	e8 c1 e6 ff ff       	call   0x40aad1
40c410:	53                   	push   %ebx
40c411:	eb 1f                	jmp    0x40c432
40c413:	56                   	push   %esi
40c414:	ff 35 20 12 42 00    	push   0x421220
40c41a:	e8 b2 e6 ff ff       	call   0x40aad1
40c41f:	85 c0                	test   %eax,%eax
40c421:	75 17                	jne    0x40c43a
40c423:	33 db                	xor    %ebx,%ebx
40c425:	53                   	push   %ebx
40c426:	ff 35 20 12 42 00    	push   0x421220
40c42c:	e8 a0 e6 ff ff       	call   0x40aad1
40c431:	56                   	push   %esi
40c432:	e8 68 e3 ff ff       	call   0x40a79f
40c437:	59                   	pop    %ecx
40c438:	eb 17                	jmp    0x40c451
40c43a:	68 b4 23 42 00       	push   $0x4223b4
40c43f:	56                   	push   %esi
40c440:	e8 96 fd ff ff       	call   0x40c1db
40c445:	6a 00                	push   $0x0
40c447:	e8 53 e3 ff ff       	call   0x40a79f
40c44c:	83 c4 0c             	add    $0xc,%esp
40c44f:	8b de                	mov    %esi,%ebx
40c451:	5e                   	pop    %esi
40c452:	57                   	push   %edi
40c453:	ff 15 88 90 41 00    	call   *0x419088
40c459:	85 db                	test   %ebx,%ebx
40c45b:	74 05                	je     0x40c462
40c45d:	5f                   	pop    %edi
40c45e:	8b c3                	mov    %ebx,%eax
40c460:	5b                   	pop    %ebx
40c461:	c3                   	ret
40c462:	e8 c3 e0 ff ff       	call   0x40a52a
40c467:	cc                   	int3
40c468:	a1 20 12 42 00       	mov    0x421220,%eax
40c46d:	56                   	push   %esi
40c46e:	83 f8 ff             	cmp    $0xffffffff,%eax
40c471:	74 18                	je     0x40c48b
40c473:	50                   	push   %eax
40c474:	e8 19 e6 ff ff       	call   0x40aa92
40c479:	8b f0                	mov    %eax,%esi
40c47b:	85 f6                	test   %esi,%esi
40c47d:	74 07                	je     0x40c486
40c47f:	83 fe ff             	cmp    $0xffffffff,%esi
40c482:	74 74                	je     0x40c4f8
40c484:	eb 6e                	jmp    0x40c4f4
40c486:	a1 20 12 42 00       	mov    0x421220,%eax
40c48b:	6a ff                	push   $0xffffffff
40c48d:	50                   	push   %eax
40c48e:	e8 3e e6 ff ff       	call   0x40aad1
40c493:	85 c0                	test   %eax,%eax
40c495:	74 61                	je     0x40c4f8
40c497:	68 64 03 00 00       	push   $0x364
40c49c:	6a 01                	push   $0x1
40c49e:	e8 9f e2 ff ff       	call   0x40a742
40c4a3:	8b f0                	mov    %eax,%esi
40c4a5:	59                   	pop    %ecx
40c4a6:	59                   	pop    %ecx
40c4a7:	85 f6                	test   %esi,%esi
40c4a9:	75 15                	jne    0x40c4c0
40c4ab:	50                   	push   %eax
40c4ac:	ff 35 20 12 42 00    	push   0x421220
40c4b2:	e8 1a e6 ff ff       	call   0x40aad1
40c4b7:	56                   	push   %esi
40c4b8:	e8 e2 e2 ff ff       	call   0x40a79f
40c4bd:	59                   	pop    %ecx
40c4be:	eb 38                	jmp    0x40c4f8
40c4c0:	56                   	push   %esi
40c4c1:	ff 35 20 12 42 00    	push   0x421220
40c4c7:	e8 05 e6 ff ff       	call   0x40aad1
40c4cc:	85 c0                	test   %eax,%eax
40c4ce:	75 0f                	jne    0x40c4df
40c4d0:	50                   	push   %eax
40c4d1:	ff 35 20 12 42 00    	push   0x421220
40c4d7:	e8 f5 e5 ff ff       	call   0x40aad1
40c4dc:	56                   	push   %esi
40c4dd:	eb d9                	jmp    0x40c4b8
40c4df:	68 b4 23 42 00       	push   $0x4223b4
40c4e4:	56                   	push   %esi
40c4e5:	e8 f1 fc ff ff       	call   0x40c1db
40c4ea:	6a 00                	push   $0x0
40c4ec:	e8 ae e2 ff ff       	call   0x40a79f
40c4f1:	83 c4 0c             	add    $0xc,%esp
40c4f4:	8b c6                	mov    %esi,%eax
40c4f6:	5e                   	pop    %esi
40c4f7:	c3                   	ret
40c4f8:	e8 2d e0 ff ff       	call   0x40a52a
40c4fd:	cc                   	int3
40c4fe:	8b ff                	mov    %edi,%edi
40c500:	53                   	push   %ebx
40c501:	57                   	push   %edi
40c502:	ff 15 28 90 41 00    	call   *0x419028
40c508:	8b f8                	mov    %eax,%edi
40c50a:	a1 20 12 42 00       	mov    0x421220,%eax
40c50f:	83 f8 ff             	cmp    $0xffffffff,%eax
40c512:	74 1a                	je     0x40c52e
40c514:	50                   	push   %eax
40c515:	e8 78 e5 ff ff       	call   0x40aa92
40c51a:	85 c0                	test   %eax,%eax
40c51c:	74 0b                	je     0x40c529
40c51e:	8d 58 01             	lea    0x1(%eax),%ebx
40c521:	f7 db                	neg    %ebx
40c523:	1b db                	sbb    %ebx,%ebx
40c525:	23 d8                	and    %eax,%ebx
40c527:	eb 7a                	jmp    0x40c5a3
40c529:	a1 20 12 42 00       	mov    0x421220,%eax
40c52e:	6a ff                	push   $0xffffffff
40c530:	50                   	push   %eax
40c531:	e8 9b e5 ff ff       	call   0x40aad1
40c536:	85 c0                	test   %eax,%eax
40c538:	75 04                	jne    0x40c53e
40c53a:	33 db                	xor    %ebx,%ebx
40c53c:	eb 65                	jmp    0x40c5a3
40c53e:	56                   	push   %esi
40c53f:	68 64 03 00 00       	push   $0x364
40c544:	6a 01                	push   $0x1
40c546:	e8 f7 e1 ff ff       	call   0x40a742
40c54b:	8b f0                	mov    %eax,%esi
40c54d:	59                   	pop    %ecx
40c54e:	59                   	pop    %ecx
40c54f:	85 f6                	test   %esi,%esi
40c551:	75 11                	jne    0x40c564
40c553:	33 db                	xor    %ebx,%ebx
40c555:	53                   	push   %ebx
40c556:	ff 35 20 12 42 00    	push   0x421220
40c55c:	e8 70 e5 ff ff       	call   0x40aad1
40c561:	53                   	push   %ebx
40c562:	eb 1f                	jmp    0x40c583
40c564:	56                   	push   %esi
40c565:	ff 35 20 12 42 00    	push   0x421220
40c56b:	e8 61 e5 ff ff       	call   0x40aad1
40c570:	85 c0                	test   %eax,%eax
40c572:	75 17                	jne    0x40c58b
40c574:	33 db                	xor    %ebx,%ebx
40c576:	53                   	push   %ebx
40c577:	ff 35 20 12 42 00    	push   0x421220
40c57d:	e8 4f e5 ff ff       	call   0x40aad1
40c582:	56                   	push   %esi
40c583:	e8 17 e2 ff ff       	call   0x40a79f
40c588:	59                   	pop    %ecx
40c589:	eb 17                	jmp    0x40c5a2
40c58b:	68 b4 23 42 00       	push   $0x4223b4
40c590:	56                   	push   %esi
40c591:	e8 45 fc ff ff       	call   0x40c1db
40c596:	6a 00                	push   $0x0
40c598:	e8 02 e2 ff ff       	call   0x40a79f
40c59d:	83 c4 0c             	add    $0xc,%esp
40c5a0:	8b de                	mov    %esi,%ebx
40c5a2:	5e                   	pop    %esi
40c5a3:	57                   	push   %edi
40c5a4:	ff 15 88 90 41 00    	call   *0x419088
40c5aa:	5f                   	pop    %edi
40c5ab:	8b c3                	mov    %ebx,%eax
40c5ad:	5b                   	pop    %ebx
40c5ae:	c3                   	ret
40c5af:	8b ff                	mov    %edi,%edi
40c5b1:	55                   	push   %ebp
40c5b2:	8b ec                	mov    %esp,%ebp
40c5b4:	a1 20 12 42 00       	mov    0x421220,%eax
40c5b9:	56                   	push   %esi
40c5ba:	57                   	push   %edi
40c5bb:	33 ff                	xor    %edi,%edi
40c5bd:	83 f8 ff             	cmp    $0xffffffff,%eax
40c5c0:	74 18                	je     0x40c5da
40c5c2:	50                   	push   %eax
40c5c3:	e8 ca e4 ff ff       	call   0x40aa92
40c5c8:	8b f0                	mov    %eax,%esi
40c5ca:	85 f6                	test   %esi,%esi
40c5cc:	74 07                	je     0x40c5d5
40c5ce:	83 fe ff             	cmp    $0xffffffff,%esi
40c5d1:	74 79                	je     0x40c64c
40c5d3:	eb 6e                	jmp    0x40c643
40c5d5:	a1 20 12 42 00       	mov    0x421220,%eax
40c5da:	6a ff                	push   $0xffffffff
40c5dc:	50                   	push   %eax
40c5dd:	e8 ef e4 ff ff       	call   0x40aad1
40c5e2:	85 c0                	test   %eax,%eax
40c5e4:	74 66                	je     0x40c64c
40c5e6:	68 64 03 00 00       	push   $0x364
40c5eb:	6a 01                	push   $0x1
40c5ed:	e8 50 e1 ff ff       	call   0x40a742
40c5f2:	8b f0                	mov    %eax,%esi
40c5f4:	59                   	pop    %ecx
40c5f5:	59                   	pop    %ecx
40c5f6:	85 f6                	test   %esi,%esi
40c5f8:	75 15                	jne    0x40c60f
40c5fa:	57                   	push   %edi
40c5fb:	ff 35 20 12 42 00    	push   0x421220
40c601:	e8 cb e4 ff ff       	call   0x40aad1
40c606:	57                   	push   %edi
40c607:	e8 93 e1 ff ff       	call   0x40a79f
40c60c:	59                   	pop    %ecx
40c60d:	eb 3d                	jmp    0x40c64c
40c60f:	56                   	push   %esi
40c610:	ff 35 20 12 42 00    	push   0x421220
40c616:	e8 b6 e4 ff ff       	call   0x40aad1
40c61b:	85 c0                	test   %eax,%eax
40c61d:	75 0f                	jne    0x40c62e
40c61f:	57                   	push   %edi
40c620:	ff 35 20 12 42 00    	push   0x421220
40c626:	e8 a6 e4 ff ff       	call   0x40aad1
40c62b:	56                   	push   %esi