45d316:	8b 70 14             	mov    0x14(%eax),%esi
45d319:	8b ce                	mov    %esi,%ecx
45d31b:	ff 77 1c             	push   0x1c(%edi)
45d31e:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
45d325:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45d32b:	8b cf                	mov    %edi,%ecx
45d32d:	ff d6                	call   *%esi
45d32f:	8b 4f 18             	mov    0x18(%edi),%ecx
45d332:	8b 5d 08             	mov    0x8(%ebp),%ebx
45d335:	8b 41 14             	mov    0x14(%ecx),%eax
45d338:	3b 41 08             	cmp    0x8(%ecx),%eax
45d33b:	75 50                	jne    0x45d38d
45d33d:	6a 18                	push   $0x18
45d33f:	e8 94 c6 00 00       	call   0x4699d8
45d344:	8b f0                	mov    %eax,%esi
45d346:	83 c4 04             	add    $0x4,%esp
45d349:	89 75 f0             	mov    %esi,-0x10(%ebp)
45d34c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45d353:	8b 47 10             	mov    0x10(%edi),%eax
45d356:	3b 03                	cmp    (%ebx),%eax
45d358:	0f 42 03             	cmovb  (%ebx),%eax
45d35b:	89 46 08             	mov    %eax,0x8(%esi)
45d35e:	85 c0                	test   %eax,%eax
45d360:	74 07                	je     0x45d369
45d362:	8b c8                	mov    %eax,%ecx
45d364:	e8 f7 ec ff ff       	call   0x45c060
45d369:	89 46 0c             	mov    %eax,0xc(%esi)
45d36c:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
45d373:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
45d37a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
45d380:	8b 47 18             	mov    0x18(%edi),%eax
45d383:	89 30                	mov    %esi,(%eax)
45d385:	8b 47 18             	mov    0x18(%edi),%eax
45d388:	8b 08                	mov    (%eax),%ecx
45d38a:	89 4f 18             	mov    %ecx,0x18(%edi)
45d38d:	8b 41 08             	mov    0x8(%ecx),%eax
45d390:	2b 41 14             	sub    0x14(%ecx),%eax
45d393:	89 03                	mov    %eax,(%ebx)
45d395:	8b 4f 18             	mov    0x18(%edi),%ecx
45d398:	8b 41 14             	mov    0x14(%ecx),%eax
45d39b:	03 41 0c             	add    0xc(%ecx),%eax
45d39e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45d3a1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45d3a8:	59                   	pop    %ecx
45d3a9:	5f                   	pop    %edi
45d3aa:	5e                   	pop    %esi
45d3ab:	5b                   	pop    %ebx
45d3ac:	8b e5                	mov    %ebp,%esp
45d3ae:	5d                   	pop    %ebp
45d3af:	c2 04 00             	ret    $0x4
45d3b2:	cc                   	int3
45d3b3:	cc                   	int3
45d3b4:	cc                   	int3
45d3b5:	cc                   	int3
45d3b6:	cc                   	int3
45d3b7:	cc                   	int3
45d3b8:	cc                   	int3
45d3b9:	cc                   	int3
45d3ba:	cc                   	int3
45d3bb:	cc                   	int3
45d3bc:	cc                   	int3
45d3bd:	cc                   	int3
45d3be:	cc                   	int3
45d3bf:	cc                   	int3
45d3c0:	8b 51 0c             	mov    0xc(%ecx),%edx
45d3c3:	8b 42 14             	mov    0x14(%edx),%eax
45d3c6:	89 41 10             	mov    %eax,0x10(%ecx)
45d3c9:	c7 41 18 00 00 00 00 	movl   $0x0,0x18(%ecx)
45d3d0:	c7 41 1c 00 00 00 00 	movl   $0x0,0x1c(%ecx)
45d3d7:	c7 41 20 00 00 00 00 	movl   $0x0,0x20(%ecx)
45d3de:	8b 42 1c             	mov    0x1c(%edx),%eax
45d3e1:	89 41 24             	mov    %eax,0x24(%ecx)
45d3e4:	8b 42 20             	mov    0x20(%edx),%eax
45d3e7:	89 41 28             	mov    %eax,0x28(%ecx)
45d3ea:	c2 04 00             	ret    $0x4
45d3ed:	cc                   	int3
45d3ee:	cc                   	int3
45d3ef:	cc                   	int3
45d3f0:	83 ec 2c             	sub    $0x2c,%esp
45d3f3:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45d3f8:	33 c4                	xor    %esp,%eax
45d3fa:	89 44 24 28          	mov    %eax,0x28(%esp)
45d3fe:	8b 44 24 30          	mov    0x30(%esp),%eax
45d402:	0f 57 c0             	xorps  %xmm0,%xmm0
45d405:	56                   	push   %esi
45d406:	57                   	push   %edi
45d407:	8b f9                	mov    %ecx,%edi
45d409:	89 44 24 1c          	mov    %eax,0x1c(%esp)
45d40d:	6a 01                	push   $0x1
45d40f:	68 40 4e 4c 00       	push   $0x4c4e40
45d414:	8d 44 24 10          	lea    0x10(%esp),%eax
45d418:	c7 44 24 18 2c 61 4b 	movl   $0x4b612c,0x18(%esp)
45d41f:	00
45d420:	8b 37                	mov    (%edi),%esi
45d422:	50                   	push   %eax
45d423:	8d 44 24 1c          	lea    0x1c(%esp),%eax
45d427:	c7 44 24 20 68 60 4b 	movl   $0x4b6068,0x20(%esp)
45d42e:	00
45d42f:	50                   	push   %eax
45d430:	8b 76 7c             	mov    0x7c(%esi),%esi
45d433:	8b ce                	mov    %esi,%ecx
45d435:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%esp)
45d43c:	00
45d43d:	66 0f 13 44 24 38    	movlpd %xmm0,0x38(%esp)
45d443:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
45d44a:	00
45d44b:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
45d452:	00
45d453:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45d459:	8b cf                	mov    %edi,%ecx
45d45b:	ff d6                	call   *%esi
45d45d:	8b 4c 24 30          	mov    0x30(%esp),%ecx
45d461:	8b 44 24 08          	mov    0x8(%esp),%eax
45d465:	5f                   	pop    %edi
45d466:	5e                   	pop    %esi
45d467:	33 cc                	xor    %esp,%ecx
45d469:	e8 5c c5 00 00       	call   0x4699ca
45d46e:	83 c4 2c             	add    $0x2c,%esp
45d471:	c2 04 00             	ret    $0x4
45d474:	cc                   	int3
45d475:	cc                   	int3
45d476:	cc                   	int3
45d477:	cc                   	int3
45d478:	cc                   	int3
45d479:	cc                   	int3
45d47a:	cc                   	int3
45d47b:	cc                   	int3
45d47c:	cc                   	int3
45d47d:	cc                   	int3
45d47e:	cc                   	int3
45d47f:	cc                   	int3
45d480:	83 ec 2c             	sub    $0x2c,%esp
45d483:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45d488:	33 c4                	xor    %esp,%eax
45d48a:	89 44 24 28          	mov    %eax,0x28(%esp)
45d48e:	8b 44 24 30          	mov    0x30(%esp),%eax
45d492:	0f 57 c0             	xorps  %xmm0,%xmm0
45d495:	56                   	push   %esi
45d496:	57                   	push   %edi
45d497:	8b f9                	mov    %ecx,%edi
45d499:	89 44 24 1c          	mov    %eax,0x1c(%esp)
45d49d:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
45d4a1:	8d 44 24 08          	lea    0x8(%esp),%eax
45d4a5:	6a 01                	push   $0x1
45d4a7:	68 40 4e 4c 00       	push   $0x4c4e40
45d4ac:	8b 37                	mov    (%edi),%esi
45d4ae:	50                   	push   %eax
45d4af:	8d 44 24 1c          	lea    0x1c(%esp),%eax
45d4b3:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
45d4b7:	89 4c 24 14          	mov    %ecx,0x14(%esp)
45d4bb:	8b 76 7c             	mov    0x7c(%esi),%esi
45d4be:	8b ce                	mov    %esi,%ecx
45d4c0:	50                   	push   %eax
45d4c1:	c7 44 24 20 2c 61 4b 	movl   $0x4b612c,0x20(%esp)
45d4c8:	00
45d4c9:	c7 44 24 24 68 60 4b 	movl   $0x4b6068,0x24(%esp)
45d4d0:	00
45d4d1:	66 0f 13 44 24 38    	movlpd %xmm0,0x38(%esp)
45d4d7:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
45d4de:	00
45d4df:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45d4e5:	8b cf                	mov    %edi,%ecx
45d4e7:	ff d6                	call   *%esi
45d4e9:	8b 4c 24 30          	mov    0x30(%esp),%ecx
45d4ed:	8b 44 24 08          	mov    0x8(%esp),%eax
45d4f1:	5f                   	pop    %edi
45d4f2:	5e                   	pop    %esi
45d4f3:	33 cc                	xor    %esp,%ecx
45d4f5:	e8 d0 c4 00 00       	call   0x4699ca
45d4fa:	83 c4 2c             	add    $0x2c,%esp
45d4fd:	c2 08 00             	ret    $0x8
45d500:	83 ec 24             	sub    $0x24,%esp
45d503:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45d508:	33 c4                	xor    %esp,%eax
45d50a:	89 44 24 20          	mov    %eax,0x20(%esp)
45d50e:	8b 44 24 28          	mov    0x28(%esp),%eax
45d512:	0f 57 c0             	xorps  %xmm0,%xmm0
45d515:	51                   	push   %ecx
45d516:	6a 00                	push   $0x0
45d518:	89 44 24 14          	mov    %eax,0x14(%esp)
45d51c:	8d 44 24 08          	lea    0x8(%esp),%eax
45d520:	6a 01                	push   $0x1
45d522:	50                   	push   %eax
45d523:	c7 44 24 10 2c 61 4b 	movl   $0x4b612c,0x10(%esp)
45d52a:	00
45d52b:	c7 44 24 14 68 60 4b 	movl   $0x4b6068,0x14(%esp)
45d532:	00
45d533:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
45d53a:	00
45d53b:	66 0f 13 44 24 28    	movlpd %xmm0,0x28(%esp)
45d541:	e8 4a ea fd ff       	call   0x43bf90
45d546:	8b 4c 24 20          	mov    0x20(%esp),%ecx
45d54a:	33 cc                	xor    %esp,%ecx
45d54c:	e8 79 c4 00 00       	call   0x4699ca
45d551:	83 c4 24             	add    $0x24,%esp
45d554:	c2 04 00             	ret    $0x4
45d557:	cc                   	int3
45d558:	cc                   	int3
45d559:	cc                   	int3
45d55a:	cc                   	int3
45d55b:	cc                   	int3
45d55c:	cc                   	int3
45d55d:	cc                   	int3
45d55e:	cc                   	int3
45d55f:	cc                   	int3
45d560:	55                   	push   %ebp
45d561:	8b ec                	mov    %esp,%ebp
45d563:	83 e4 f8             	and    $0xfffffff8,%esp
45d566:	83 ec 14             	sub    $0x14,%esp
45d569:	8b 55 0c             	mov    0xc(%ebp),%edx
45d56c:	53                   	push   %ebx
45d56d:	56                   	push   %esi
45d56e:	8b f1                	mov    %ecx,%esi
45d570:	8b 0a                	mov    (%edx),%ecx
45d572:	8b 52 04             	mov    0x4(%edx),%edx
45d575:	8b da                	mov    %edx,%ebx
45d577:	57                   	push   %edi
45d578:	8b 46 10             	mov    0x10(%esi),%eax
45d57b:	8b f9                	mov    %ecx,%edi
45d57d:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
45d581:	89 54 24 10          	mov    %edx,0x10(%esp)
45d585:	85 c0                	test   %eax,%eax
45d587:	0f 84 af 00 00 00    	je     0x45d63c
45d58d:	0f 1f 00             	nopl   (%eax)
45d590:	8b 78 10             	mov    0x10(%eax),%edi
45d593:	8b 58 14             	mov    0x14(%eax),%ebx
45d596:	2b df                	sub    %edi,%ebx
45d598:	89 7c 24 14          	mov    %edi,0x14(%esp)
45d59c:	33 ff                	xor    %edi,%edi
45d59e:	2b 5e 20             	sub    0x20(%esi),%ebx
45d5a1:	1b ff                	sbb    %edi,%edi
45d5a3:	3b fa                	cmp    %edx,%edi
45d5a5:	77 06                	ja     0x45d5ad
45d5a7:	72 06                	jb     0x45d5af
45d5a9:	3b d9                	cmp    %ecx,%ebx
45d5ab:	72 02                	jb     0x45d5af
45d5ad:	8b d9                	mov    %ecx,%ebx
45d5af:	ff 75 14             	push   0x14(%ebp)
45d5b2:	8b 7d 08             	mov    0x8(%ebp),%edi
45d5b5:	8b 40 0c             	mov    0xc(%eax),%eax
45d5b8:	03 44 24 18          	add    0x18(%esp),%eax
45d5bc:	03 46 20             	add    0x20(%esi),%eax
45d5bf:	8b 3f                	mov    (%edi),%edi
45d5c1:	6a 00                	push   $0x0
45d5c3:	53                   	push   %ebx
45d5c4:	50                   	push   %eax
45d5c5:	ff 75 10             	push   0x10(%ebp)
45d5c8:	8b bf 88 00 00 00    	mov    0x88(%edi),%edi
45d5ce:	8b cf                	mov    %edi,%ecx
45d5d0:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45d5d6:	8b 4d 08             	mov    0x8(%ebp),%ecx
45d5d9:	ff d7                	call   *%edi
45d5db:	89 44 24 14          	mov    %eax,0x14(%esp)
45d5df:	85 c0                	test   %eax,%eax
45d5e1:	75 3c                	jne    0x45d61f
45d5e3:	01 5e 18             	add    %ebx,0x18(%esi)
45d5e6:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
45d5ea:	11 46 1c             	adc    %eax,0x1c(%esi)
45d5ed:	2b cb                	sub    %ebx,%ecx
45d5ef:	8b 54 24 10          	mov    0x10(%esp),%edx
45d5f3:	1b d0                	sbb    %eax,%edx
45d5f5:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
45d5f9:	8b c1                	mov    %ecx,%eax
45d5fb:	89 54 24 10          	mov    %edx,0x10(%esp)
45d5ff:	0b c2                	or     %edx,%eax
45d601:	74 19                	je     0x45d61c
45d603:	8b 46 10             	mov    0x10(%esi),%eax
45d606:	8b 00                	mov    (%eax),%eax
45d608:	89 46 10             	mov    %eax,0x10(%esi)
45d60b:	c7 46 20 00 00 00 00 	movl   $0x0,0x20(%esi)
45d612:	85 c0                	test   %eax,%eax
45d614:	0f 85 76 ff ff ff    	jne    0x45d590
45d61a:	eb 34                	jmp    0x45d650
45d61c:	01 5e 20             	add    %ebx,0x20(%esi)
45d61f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45d623:	8b 44 24 0c          	mov    0xc(%esp),%eax
45d627:	8b 55 0c             	mov    0xc(%ebp),%edx
45d62a:	29 02                	sub    %eax,(%edx)
45d62c:	8b 44 24 14          	mov    0x14(%esp),%eax
45d630:	19 4a 04             	sbb    %ecx,0x4(%edx)
45d633:	5f                   	pop    %edi
45d634:	5e                   	pop    %esi
45d635:	5b                   	pop    %ebx
45d636:	8b e5                	mov    %ebp,%esp
45d638:	5d                   	pop    %ebp
45d639:	c2 10 00             	ret    $0x10
45d63c:	0b fb                	or     %ebx,%edi
45d63e:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
45d642:	89 54 24 10          	mov    %edx,0x10(%esp)
45d646:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
45d64d:	00
45d64e:	74 69                	je     0x45d6b9
45d650:	8b 5e 28             	mov    0x28(%esi),%ebx
45d653:	85 db                	test   %ebx,%ebx
45d655:	74 c8                	je     0x45d61f
45d657:	33 c0                	xor    %eax,%eax
45d659:	3b c2                	cmp    %edx,%eax
45d65b:	77 06                	ja     0x45d663
45d65d:	72 06                	jb     0x45d665
45d65f:	3b d9                	cmp    %ecx,%ebx
45d661:	72 02                	jb     0x45d665
45d663:	8b d9                	mov    %ecx,%ebx
45d665:	ff 75 14             	push   0x14(%ebp)
45d668:	8b 45 08             	mov    0x8(%ebp),%eax
45d66b:	6a 00                	push   $0x0
45d66d:	53                   	push   %ebx
45d66e:	ff 76 24             	push   0x24(%esi)
45d671:	8b 38                	mov    (%eax),%edi
45d673:	ff 75 10             	push   0x10(%ebp)
45d676:	8b bf 88 00 00 00    	mov    0x88(%edi),%edi
45d67c:	8b cf                	mov    %edi,%ecx
45d67e:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45d684:	8b 4d 08             	mov    0x8(%ebp),%ecx
45d687:	ff d7                	call   *%edi
45d689:	89 44 24 14          	mov    %eax,0x14(%esp)
45d68d:	85 c0                	test   %eax,%eax
45d68f:	75 8e                	jne    0x45d61f
45d691:	01 5e 24             	add    %ebx,0x24(%esi)
45d694:	29 5e 28             	sub    %ebx,0x28(%esi)
45d697:	8b 44 24 0c          	mov    0xc(%esp),%eax
45d69b:	8b 55 0c             	mov    0xc(%ebp),%edx
45d69e:	2b c3                	sub    %ebx,%eax
45d6a0:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45d6a4:	83 d9 00             	sbb    $0x0,%ecx
45d6a7:	29 02                	sub    %eax,(%edx)
45d6a9:	8b 44 24 14          	mov    0x14(%esp),%eax
45d6ad:	19 4a 04             	sbb    %ecx,0x4(%edx)
45d6b0:	5f                   	pop    %edi
45d6b1:	5e                   	pop    %esi
45d6b2:	5b                   	pop    %ebx
45d6b3:	8b e5                	mov    %ebp,%esp
45d6b5:	5d                   	pop    %ebp
45d6b6:	c2 10 00             	ret    $0x10
45d6b9:	8b c1                	mov    %ecx,%eax
45d6bb:	8b ca                	mov    %edx,%ecx
45d6bd:	8b 55 0c             	mov    0xc(%ebp),%edx
45d6c0:	5f                   	pop    %edi
45d6c1:	5e                   	pop    %esi
45d6c2:	5b                   	pop    %ebx
45d6c3:	29 02                	sub    %eax,(%edx)
45d6c5:	8b 44 24 08          	mov    0x8(%esp),%eax
45d6c9:	19 4a 04             	sbb    %ecx,0x4(%edx)
45d6cc:	8b e5                	mov    %ebp,%esp
45d6ce:	5d                   	pop    %ebp
45d6cf:	c2 10 00             	ret    $0x10
45d6d2:	cc                   	int3
45d6d3:	cc                   	int3
45d6d4:	cc                   	int3
45d6d5:	cc                   	int3
45d6d6:	cc                   	int3