45d21c:	83 ec 10             	sub    $0x10,%esp
45d21f:	dd 45 c8             	fldl   -0x38(%ebp)
45d222:	8b 30                	mov    (%eax),%esi
45d224:	dd 5c 24 08          	fstpl  0x8(%esp)
45d228:	dd 45 c0             	fldl   -0x40(%ebp)
45d22b:	dd 1c 24             	fstpl  (%esp)
45d22e:	8b 4e 28             	mov    0x28(%esi),%ecx
45d231:	50                   	push   %eax
45d232:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d238:	ff 56 28             	call   *0x28(%esi)
45d23b:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
45d23f:	74 71                	je     0x45d2b2
45d241:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
45d245:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45d249:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45d24c:	8b 03                	mov    (%ebx),%eax
45d24e:	51                   	push   %ecx
45d24f:	53                   	push   %ebx
45d250:	8b 70 2c             	mov    0x2c(%eax),%esi
45d253:	8b ce                	mov    %esi,%ecx
45d255:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d25b:	ff d6                	call   *%esi
45d25d:	85 c0                	test   %eax,%eax
45d25f:	78 34                	js     0x45d295
45d261:	8b 45 e8             	mov    -0x18(%ebp),%eax
45d264:	6a 01                	push   $0x1
45d266:	ff 75 e4             	push   -0x1c(%ebp)
45d269:	ff 75 dc             	push   -0x24(%ebp)
45d26c:	8b 30                	mov    (%eax),%esi
45d26e:	ff 75 ec             	push   -0x14(%ebp)
45d271:	50                   	push   %eax
45d272:	8b 4e 20             	mov    0x20(%esi),%ecx
45d275:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d27b:	ff 56 20             	call   *0x20(%esi)
45d27e:	85 c0                	test   %eax,%eax
45d280:	78 13                	js     0x45d295
45d282:	8b 07                	mov    (%edi),%eax
45d284:	ff 75 e8             	push   -0x18(%ebp)
45d287:	57                   	push   %edi
45d288:	8b 70 24             	mov    0x24(%eax),%esi
45d28b:	8b ce                	mov    %esi,%ecx
45d28d:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d293:	ff d6                	call   *%esi
45d295:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
45d299:	8b 45 e8             	mov    -0x18(%ebp),%eax
45d29c:	85 c0                	test   %eax,%eax
45d29e:	74 25                	je     0x45d2c5
45d2a0:	8b 08                	mov    (%eax),%ecx
45d2a2:	50                   	push   %eax
45d2a3:	8b 71 08             	mov    0x8(%ecx),%esi
45d2a6:	8b ce                	mov    %esi,%ecx
45d2a8:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d2ae:	ff d6                	call   *%esi
45d2b0:	eb 13                	jmp    0x45d2c5
45d2b2:	8b 07                	mov    (%edi),%eax
45d2b4:	ff 75 ec             	push   -0x14(%ebp)
45d2b7:	57                   	push   %edi
45d2b8:	8b 70 24             	mov    0x24(%eax),%esi
45d2bb:	8b ce                	mov    %esi,%ecx
45d2bd:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d2c3:	ff d6                	call   *%esi
45d2c5:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
45d2cc:	8b 45 ec             	mov    -0x14(%ebp),%eax
45d2cf:	85 c0                	test   %eax,%eax
45d2d1:	74 10                	je     0x45d2e3
45d2d3:	8b 08                	mov    (%eax),%ecx
45d2d5:	50                   	push   %eax
45d2d6:	8b 71 08             	mov    0x8(%ecx),%esi
45d2d9:	8b ce                	mov    %esi,%ecx
45d2db:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d2e1:	ff d6                	call   *%esi
45d2e3:	e8 b9 31 03 00       	call   0x4904a1
45d2e8:	c2 08 00             	ret    $0x8
45d2eb:	6a 2c                	push   $0x2c
45d2ed:	b8 10 45 49 00       	mov    $0x494510,%eax
45d2f2:	e8 45 32 03 00       	call   0x49053c
45d2f7:	89 55 e8             	mov    %edx,-0x18(%ebp)
45d2fa:	8b f1                	mov    %ecx,%esi
45d2fc:	33 db                	xor    %ebx,%ebx
45d2fe:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d301:	89 5d ec             	mov    %ebx,-0x14(%ebp)
45d304:	89 5d dc             	mov    %ebx,-0x24(%ebp)
45d307:	ff 15 5c 75 4a 00    	call   *0x4a755c
45d30d:	21 5d fc             	and    %ebx,-0x4(%ebp)
45d310:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d313:	53                   	push   %ebx
45d314:	6a 02                	push   $0x2
45d316:	56                   	push   %esi
45d317:	ff 15 78 75 4a 00    	call   *0x4a7578
45d31d:	85 c0                	test   %eax,%eax
45d31f:	0f 84 07 01 00 00    	je     0x45d42c
45d325:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d328:	ff 15 48 77 4a 00    	call   *0x4a7748
45d32e:	8b f8                	mov    %eax,%edi
45d330:	83 ff 02             	cmp    $0x2,%edi
45d333:	0f 86 ea 00 00 00    	jbe    0x45d423
45d339:	57                   	push   %edi
45d33a:	33 f6                	xor    %esi,%esi
45d33c:	56                   	push   %esi
45d33d:	ff 15 f4 71 4a 00    	call   *0x4a71f4
45d343:	8b d8                	mov    %eax,%ebx
45d345:	85 db                	test   %ebx,%ebx
45d347:	0f 84 d3 00 00 00    	je     0x45d420
45d34d:	57                   	push   %edi
45d34e:	53                   	push   %ebx
45d34f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d352:	ff 15 4c 77 4a 00    	call   *0x4a774c
45d358:	3b c7                	cmp    %edi,%eax
45d35a:	0f 85 c0 00 00 00    	jne    0x45d420
45d360:	66 8b 03             	mov    (%ebx),%ax
45d363:	b9 c4 0b 41 00       	mov    $0x410bc4,%ecx
45d368:	66 3b 01             	cmp    (%ecx),%ax
45d36b:	0f 85 af 00 00 00    	jne    0x45d420
45d371:	8d 47 fc             	lea    -0x4(%edi),%eax
45d374:	83 f8 02             	cmp    $0x2,%eax
45d377:	0f 86 a3 00 00 00    	jbe    0x45d420
45d37d:	66 8b 43 02          	mov    0x2(%ebx),%ax
45d381:	b9 c0 0b 41 00       	mov    $0x410bc0,%ecx
45d386:	66 3b 01             	cmp    (%ecx),%ax
45d389:	0f 85 91 00 00 00    	jne    0x45d420
45d38f:	0f b6 4b 04          	movzbl 0x4(%ebx),%ecx
45d393:	0f b6 43 05          	movzbl 0x5(%ebx),%eax
45d397:	83 c0 02             	add    $0x2,%eax
45d39a:	c1 e1 08             	shl    $0x8,%ecx
45d39d:	03 c8                	add    %eax,%ecx
45d39f:	8b c7                	mov    %edi,%eax
45d3a1:	2b c1                	sub    %ecx,%eax
45d3a3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45d3a6:	83 f8 02             	cmp    $0x2,%eax
45d3a9:	76 75                	jbe    0x45d420
45d3ab:	33 c0                	xor    %eax,%eax
45d3ad:	40                   	inc    %eax
45d3ae:	88 45 fc             	mov    %al,-0x4(%ebp)
45d3b1:	89 45 ec             	mov    %eax,-0x14(%ebp)
45d3b4:	8b 45 e8             	mov    -0x18(%ebp),%eax
45d3b7:	0f b6 48 02          	movzbl 0x2(%eax),%ecx
45d3bb:	0f b6 40 03          	movzbl 0x3(%eax),%eax
45d3bf:	c1 e1 08             	shl    $0x8,%ecx
45d3c2:	83 c0 02             	add    $0x2,%eax
45d3c5:	03 c1                	add    %ecx,%eax
45d3c7:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d3ca:	89 45 e0             	mov    %eax,-0x20(%ebp)
45d3cd:	03 c7                	add    %edi,%eax
45d3cf:	50                   	push   %eax
45d3d0:	ff 15 80 7b 4a 00    	call   *0x4a7b80
45d3d6:	8b 45 c8             	mov    -0x38(%ebp),%eax
45d3d9:	56                   	push   %esi
45d3da:	56                   	push   %esi
45d3db:	8b 70 30             	mov    0x30(%eax),%esi
45d3de:	8b ce                	mov    %esi,%ecx
45d3e0:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d3e6:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d3e9:	ff d6                	call   *%esi
45d3eb:	8b 75 e4             	mov    -0x1c(%ebp),%esi
45d3ee:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d3f1:	83 c6 02             	add    $0x2,%esi
45d3f4:	56                   	push   %esi
45d3f5:	53                   	push   %ebx
45d3f6:	ff 15 84 7b 4a 00    	call   *0x4a7b84
45d3fc:	ff 75 e0             	push   -0x20(%ebp)
45d3ff:	8b 55 e8             	mov    -0x18(%ebp),%edx
45d402:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d405:	52                   	push   %edx
45d406:	ff 15 84 7b 4a 00    	call   *0x4a7b84
45d40c:	2b fe                	sub    %esi,%edi
45d40e:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
45d411:	57                   	push   %edi
45d412:	50                   	push   %eax
45d413:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d416:	ff 15 84 7b 4a 00    	call   *0x4a7b84
45d41c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45d420:	8b 5d ec             	mov    -0x14(%ebp),%ebx
45d423:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d426:	ff 15 50 77 4a 00    	call   *0x4a7750
45d42c:	8d 4d c8             	lea    -0x38(%ebp),%ecx
45d42f:	ff 15 60 75 4a 00    	call   *0x4a7560
45d435:	8b c3                	mov    %ebx,%eax
45d437:	e8 65 30 03 00       	call   0x4904a1
45d43c:	c3                   	ret
45d43d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
45d440:	ff 15 24 75 4a 00    	call   *0x4a7524
45d446:	b8 4c d4 45 00       	mov    $0x45d44c,%eax
45d44b:	c3                   	ret
45d44c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45d450:	8b 5d dc             	mov    -0x24(%ebp),%ebx
45d453:	eb ce                	jmp    0x45d423
45d455:	6a 0c                	push   $0xc
45d457:	b8 2b 45 49 00       	mov    $0x49452b,%eax
45d45c:	e8 72 30 03 00       	call   0x4904d3
45d461:	8b f2                	mov    %edx,%esi
45d463:	89 55 ec             	mov    %edx,-0x14(%ebp)
45d466:	33 db                	xor    %ebx,%ebx
45d468:	43                   	inc    %ebx
45d469:	33 ff                	xor    %edi,%edi
45d46b:	8b c7                	mov    %edi,%eax
45d46d:	eb 09                	jmp    0x45d478
45d46f:	66 39 3a             	cmp    %di,(%edx)
45d472:	75 0e                	jne    0x45d482
45d474:	40                   	inc    %eax
45d475:	83 c2 10             	add    $0x10,%edx
45d478:	83 f8 64             	cmp    $0x64,%eax
45d47b:	72 f2                	jb     0x45d46f
45d47d:	e9 99 00 00 00       	jmp    0x45d51b
45d482:	8d 45 f0             	lea    -0x10(%ebp),%eax
45d485:	89 7d f0             	mov    %edi,-0x10(%ebp)
45d488:	50                   	push   %eax
45d489:	8a d3                	mov    %bl,%dl
45d48b:	e8 c2 cc ff ff       	call   0x45a152
45d490:	85 c0                	test   %eax,%eax
45d492:	78 6d                	js     0x45d501
45d494:	8b c7                	mov    %edi,%eax
45d496:	89 45 e8             	mov    %eax,-0x18(%ebp)
45d499:	81 ff 90 01 00 00    	cmp    $0x190,%edi
45d49f:	73 3d                	jae    0x45d4de
45d4a1:	33 c9                	xor    %ecx,%ecx
45d4a3:	66 39 0e             	cmp    %cx,(%esi)
45d4a6:	74 2b                	je     0x45d4d3
45d4a8:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d4ab:	56                   	push   %esi
45d4ac:	ff b7 10 78 40 00    	push   0x407810(%edi)
45d4b2:	8b 08                	mov    (%eax),%ecx
45d4b4:	50                   	push   %eax
45d4b5:	8b 71 18             	mov    0x18(%ecx),%esi
45d4b8:	8b ce                	mov    %esi,%ecx
45d4ba:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d4c0:	ff d6                	call   *%esi
45d4c2:	8b 75 ec             	mov    -0x14(%ebp),%esi
45d4c5:	85 c0                	test   %eax,%eax
45d4c7:	78 07                	js     0x45d4d0
45d4c9:	8b c3                	mov    %ebx,%eax
45d4cb:	89 45 e8             	mov    %eax,-0x18(%ebp)
45d4ce:	eb 03                	jmp    0x45d4d3
45d4d0:	8b 45 e8             	mov    -0x18(%ebp),%eax
45d4d3:	83 c7 04             	add    $0x4,%edi
45d4d6:	83 c6 10             	add    $0x10,%esi
45d4d9:	89 75 ec             	mov    %esi,-0x14(%ebp)
45d4dc:	eb bb                	jmp    0x45d499
45d4de:	85 c0                	test   %eax,%eax
45d4e0:	74 1d                	je     0x45d4ff
45d4e2:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d4e5:	50                   	push   %eax
45d4e6:	8b 08                	mov    (%eax),%ecx
45d4e8:	8b 71 1c             	mov    0x1c(%ecx),%esi
45d4eb:	8b ce                	mov    %esi,%ecx
45d4ed:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d4f3:	ff d6                	call   *%esi
45d4f5:	33 ff                	xor    %edi,%edi
45d4f7:	85 c0                	test   %eax,%eax
45d4f9:	79 06                	jns    0x45d501
45d4fb:	8b df                	mov    %edi,%ebx
45d4fd:	eb 02                	jmp    0x45d501
45d4ff:	33 ff                	xor    %edi,%edi
45d501:	89 7d fc             	mov    %edi,-0x4(%ebp)
45d504:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d507:	85 c9                	test   %ecx,%ecx
45d509:	74 10                	je     0x45d51b
45d50b:	8b 11                	mov    (%ecx),%edx
45d50d:	51                   	push   %ecx
45d50e:	8b 72 08             	mov    0x8(%edx),%esi
45d511:	8b ce                	mov    %esi,%ecx
45d513:	ff 15 2c 81 4a 00    	call   *0x4a812c
45d519:	ff d6                	call   *%esi
45d51b:	8b c3                	mov    %ebx,%eax
45d51d:	e8 7f 2f 03 00       	call   0x4904a1
45d522:	c2 04 00             	ret    $0x4
45d525:	6a 24                	push   $0x24
45d527:	b8 4e 45 49 00       	mov    $0x49454e,%eax
45d52c:	e8 0b 30 03 00       	call   0x49053c
45d531:	8b fa                	mov    %edx,%edi
45d533:	8b d9                	mov    %ecx,%ebx
45d535:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
45d539:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
45d53d:	8b 75 08             	mov    0x8(%ebp),%esi
45d540:	74 11                	je     0x45d553
45d542:	56                   	push   %esi
45d543:	57                   	push   %edi
45d544:	ff 15 8c 80 4a 00    	call   *0x4a808c
45d54a:	59                   	pop    %ecx
45d54b:	59                   	pop    %ecx
45d54c:	85 c0                	test   %eax,%eax
45d54e:	75 03                	jne    0x45d553
45d550:	40                   	inc    %eax
45d551:	eb 02                	jmp    0x45d555
45d553:	33 c0                	xor    %eax,%eax
45d555:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
45d559:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
45d55d:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
45d561:	89 45 ec             	mov    %eax,-0x14(%ebp)
45d564:	c6 45 dc 00          	movb   $0x0,-0x24(%ebp)
45d568:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45d56c:	85 c0                	test   %eax,%eax
45d56e:	74 38                	je     0x45d5a8
45d570:	56                   	push   %esi
45d571:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45d574:	e8 5c 32 fc ff       	call   0x4207d5
45d579:	8d 45 e0             	lea    -0x20(%ebp),%eax
45d57c:	33 c9                	xor    %ecx,%ecx
45d57e:	50                   	push   %eax
45d57f:	51                   	push   %ecx
45d580:	8d 45 e4             	lea    -0x1c(%ebp),%eax
45d583:	50                   	push   %eax
45d584:	51                   	push   %ecx
45d585:	51                   	push   %ecx
45d586:	6a 04                	push   $0x4
45d588:	6a 01                	push   $0x1
45d58a:	56                   	push   %esi
45d58b:	ff 15 2c 70 4a 00    	call   *0x4a702c
45d591:	85 c0                	test   %eax,%eax
45d593:	74 13                	je     0x45d5a8
45d595:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
45d599:	74 09                	je     0x45d5a4
45d59b:	ff 75 e0             	push   -0x20(%ebp)
45d59e:	ff 15 f0 71 4a 00    	call   *0x4a71f0
45d5a4:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
45d5a8:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
45d5ac:	74 09                	je     0x45d5b7
45d5ae:	8b d3                	mov    %ebx,%edx
45d5b0:	8b ce                	mov    %esi,%ecx
45d5b2:	e8 b2 2e fc ff       	call   0x420469
45d5b7:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
45d5bb:	74 4c                	je     0x45d609
45d5bd:	6a 03                	push   $0x3
45d5bf:	57                   	push   %edi
45d5c0:	53                   	push   %ebx
45d5c1:	ff 15 90 71 4a 00    	call   *0x4a7190
45d5c7:	8b f0                	mov    %eax,%esi
45d5c9:	85 f6                	test   %esi,%esi
45d5cb:	74 4f                	je     0x45d61c
45d5cd:	57                   	push   %edi
45d5ce:	8d 4d d0             	lea    -0x30(%ebp),%ecx
45d5d1:	e8 60 32 fc ff       	call   0x420836
45d5d6:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
45d5da:	74 4f                	je     0x45d62b
45d5dc:	33 c0                	xor    %eax,%eax
45d5de:	50                   	push   %eax
45d5df:	ff 75 e4             	push   -0x1c(%ebp)
45d5e2:	50                   	push   %eax
45d5e3:	50                   	push   %eax
45d5e4:	6a 04                	push   $0x4
45d5e6:	6a 01                	push   $0x1
45d5e8:	57                   	push   %edi
45d5e9:	ff 15 30 70 4a 00    	call   *0x4a7030
45d5ef:	eb 2b                	jmp    0x45d61c
45d5f1:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45d5f4:	ff 15 24 75 4a 00    	call   *0x4a7524
45d5fa:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
45d5fe:	b8 04 d6 45 00       	mov    $0x45d604,%eax
45d603:	c3                   	ret
45d604:	8b 75 ec             	mov    -0x14(%ebp),%esi
45d607:	eb 22                	jmp    0x45d62b