43f474:	5e                   	pop    %esi
43f475:	8b 4c 24 20          	mov    0x20(%esp),%ecx
43f479:	33 cc                	xor    %esp,%ecx
43f47b:	e8 5a 20 1a 00       	call   0x5e14da
43f480:	8b e5                	mov    %ebp,%esp
43f482:	5d                   	pop    %ebp
43f483:	c2 04 00             	ret    $0x4
43f486:	f6 c1 04             	test   $0x4,%cl
43f489:	75 45                	jne    0x43f4d0
43f48b:	8b 42 1c             	mov    0x1c(%edx),%eax
43f48e:	8b 08                	mov    (%eax),%ecx
43f490:	85 c9                	test   %ecx,%ecx
43f492:	74 3c                	je     0x43f4d0
43f494:	8b 42 2c             	mov    0x2c(%edx),%eax
43f497:	8b 00                	mov    (%eax),%eax
43f499:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
43f49c:	8b 42 0c             	mov    0xc(%edx),%eax
43f49f:	33 d2                	xor    %edx,%edx
43f4a1:	8b 00                	mov    (%eax),%eax
43f4a3:	2b c8                	sub    %eax,%ecx
43f4a5:	d1 f9                	sar    $1,%ecx
43f4a7:	51                   	push   %ecx
43f4a8:	50                   	push   %eax
43f4a9:	8d 4c 24 14          	lea    0x14(%esp),%ecx
43f4ad:	c7 44 24 28 07 00 00 	movl   $0x7,0x28(%esp)
43f4b4:	00
43f4b5:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
43f4bc:	00
43f4bd:	66 89 54 24 14       	mov    %dx,0x14(%esp)
43f4c2:	e8 29 93 ff ff       	call   0x4387f0
43f4c7:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
43f4ce:	eb 1a                	jmp    0x43f4ea
43f4d0:	33 c0                	xor    %eax,%eax
43f4d2:	c7 44 24 20 07 00 00 	movl   $0x7,0x20(%esp)
43f4d9:	00
43f4da:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
43f4e1:	00
43f4e2:	66 89 44 24 0c       	mov    %ax,0xc(%esp)
43f4e7:	89 46 10             	mov    %eax,0x10(%esi)
43f4ea:	33 c0                	xor    %eax,%eax
43f4ec:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
43f4f3:	66 89 06             	mov    %ax,(%esi)
43f4f6:	8b 4c 24 20          	mov    0x20(%esp),%ecx
43f4fa:	83 f9 08             	cmp    $0x8,%ecx
43f4fd:	73 20                	jae    0x43f51f
43f4ff:	8b 44 24 1c          	mov    0x1c(%esp),%eax
43f503:	83 c0 01             	add    $0x1,%eax
43f506:	74 1d                	je     0x43f525
43f508:	03 c0                	add    %eax,%eax
43f50a:	50                   	push   %eax
43f50b:	8d 44 24 10          	lea    0x10(%esp),%eax
43f50f:	50                   	push   %eax
43f510:	56                   	push   %esi
43f511:	e8 6a 3f 1a 00       	call   0x5e3480
43f516:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
43f51a:	83 c4 0c             	add    $0xc,%esp
43f51d:	eb 06                	jmp    0x43f525
43f51f:	8b 44 24 0c          	mov    0xc(%esp),%eax
43f523:	89 06                	mov    %eax,(%esi)
43f525:	8b 44 24 1c          	mov    0x1c(%esp),%eax
43f529:	89 4e 14             	mov    %ecx,0x14(%esi)
43f52c:	8b 4c 24 24          	mov    0x24(%esp),%ecx
43f530:	89 46 10             	mov    %eax,0x10(%esi)
43f533:	8b c6                	mov    %esi,%eax
43f535:	5e                   	pop    %esi
43f536:	33 cc                	xor    %esp,%ecx
43f538:	e8 9d 1f 1a 00       	call   0x5e14da
43f53d:	8b e5                	mov    %ebp,%esp
43f53f:	5d                   	pop    %ebp
43f540:	c2 04 00             	ret    $0x4
43f543:	cc                   	int3
43f544:	cc                   	int3
43f545:	cc                   	int3
43f546:	cc                   	int3
43f547:	cc                   	int3
43f548:	cc                   	int3
43f549:	cc                   	int3
43f54a:	cc                   	int3
43f54b:	cc                   	int3
43f54c:	cc                   	int3
43f54d:	cc                   	int3
43f54e:	cc                   	int3
43f54f:	cc                   	int3
43f550:	8b 41 20             	mov    0x20(%ecx),%eax
43f553:	83 38 00             	cmpl   $0x0,(%eax)
43f556:	74 07                	je     0x43f55f
43f558:	8b 41 30             	mov    0x30(%ecx),%eax
43f55b:	8b 00                	mov    (%eax),%eax
43f55d:	99                   	cltd
43f55e:	c3                   	ret
43f55f:	33 c0                	xor    %eax,%eax
43f561:	99                   	cltd
43f562:	c3                   	ret
43f563:	cc                   	int3
43f564:	cc                   	int3
43f565:	cc                   	int3
43f566:	cc                   	int3
43f567:	cc                   	int3
43f568:	cc                   	int3
43f569:	cc                   	int3
43f56a:	cc                   	int3
43f56b:	cc                   	int3
43f56c:	cc                   	int3
43f56d:	cc                   	int3
43f56e:	cc                   	int3
43f56f:	cc                   	int3
43f570:	8b 41 1c             	mov    0x1c(%ecx),%eax
43f573:	83 38 00             	cmpl   $0x0,(%eax)
43f576:	74 07                	je     0x43f57f
43f578:	8b 41 2c             	mov    0x2c(%ecx),%eax
43f57b:	8b 00                	mov    (%eax),%eax
43f57d:	99                   	cltd
43f57e:	c3                   	ret
43f57f:	33 c0                	xor    %eax,%eax
43f581:	99                   	cltd
43f582:	c3                   	ret
43f583:	cc                   	int3
43f584:	cc                   	int3
43f585:	cc                   	int3
43f586:	cc                   	int3
43f587:	cc                   	int3
43f588:	cc                   	int3
43f589:	cc                   	int3
43f58a:	cc                   	int3
43f58b:	cc                   	int3
43f58c:	cc                   	int3
43f58d:	cc                   	int3
43f58e:	cc                   	int3
43f58f:	cc                   	int3
43f590:	55                   	push   %ebp
43f591:	8b ec                	mov    %esp,%ebp
43f593:	8b 45 08             	mov    0x8(%ebp),%eax
43f596:	85 c0                	test   %eax,%eax
43f598:	74 1a                	je     0x43f5b4
43f59a:	8b 51 0c             	mov    0xc(%ecx),%edx
43f59d:	ff 75 0c             	push   0xc(%ebp)
43f5a0:	0b d0                	or     %eax,%edx
43f5a2:	8b c2                	mov    %edx,%eax
43f5a4:	83 c8 04             	or     $0x4,%eax
43f5a7:	83 79 38 00          	cmpl   $0x0,0x38(%ecx)
43f5ab:	0f 45 c2             	cmovne %edx,%eax
43f5ae:	50                   	push   %eax
43f5af:	e8 0c b0 ff ff       	call   0x43a5c0
43f5b4:	5d                   	pop    %ebp
43f5b5:	c2 08 00             	ret    $0x8
43f5b8:	cc                   	int3
43f5b9:	cc                   	int3
43f5ba:	cc                   	int3
43f5bb:	cc                   	int3
43f5bc:	cc                   	int3
43f5bd:	cc                   	int3
43f5be:	cc                   	int3
43f5bf:	cc                   	int3
43f5c0:	55                   	push   %ebp
43f5c1:	8b ec                	mov    %esp,%ebp
43f5c3:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
43f5c7:	56                   	push   %esi
43f5c8:	8b f1                	mov    %ecx,%esi
43f5ca:	c7 06 dc c3 68 00    	movl   $0x68c3dc,(%esi)
43f5d0:	74 0b                	je     0x43f5dd
43f5d2:	6a 08                	push   $0x8
43f5d4:	56                   	push   %esi
43f5d5:	e8 98 1a 1a 00       	call   0x5e1072
43f5da:	83 c4 08             	add    $0x8,%esp
43f5dd:	8b c6                	mov    %esi,%eax
43f5df:	5e                   	pop    %esi
43f5e0:	5d                   	pop    %ebp
43f5e1:	c2 04 00             	ret    $0x4
43f5e4:	cc                   	int3
43f5e5:	cc                   	int3
43f5e6:	cc                   	int3
43f5e7:	cc                   	int3
43f5e8:	cc                   	int3
43f5e9:	cc                   	int3
43f5ea:	cc                   	int3
43f5eb:	cc                   	int3
43f5ec:	cc                   	int3
43f5ed:	cc                   	int3
43f5ee:	cc                   	int3
43f5ef:	cc                   	int3
43f5f0:	55                   	push   %ebp
43f5f1:	8b ec                	mov    %esp,%ebp
43f5f3:	8b 51 14             	mov    0x14(%ecx),%edx
43f5f6:	33 c0                	xor    %eax,%eax
43f5f8:	56                   	push   %esi
43f5f9:	8b 75 08             	mov    0x8(%ebp),%esi
43f5fc:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
43f603:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
43f60a:	66 89 06             	mov    %ax,(%esi)
43f60d:	66 39 02             	cmp    %ax,(%edx)
43f610:	75 12                	jne    0x43f624
43f612:	33 c9                	xor    %ecx,%ecx
43f614:	51                   	push   %ecx
43f615:	52                   	push   %edx
43f616:	8b ce                	mov    %esi,%ecx
43f618:	e8 d3 91 ff ff       	call   0x4387f0
43f61d:	8b c6                	mov    %esi,%eax
43f61f:	5e                   	pop    %esi
43f620:	5d                   	pop    %ebp
43f621:	c2 04 00             	ret    $0x4
43f624:	8b ca                	mov    %edx,%ecx
43f626:	57                   	push   %edi
43f627:	8d 79 02             	lea    0x2(%ecx),%edi
43f62a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
43f630:	66 8b 01             	mov    (%ecx),%ax
43f633:	83 c1 02             	add    $0x2,%ecx
43f636:	66 85 c0             	test   %ax,%ax
43f639:	75 f5                	jne    0x43f630
43f63b:	2b cf                	sub    %edi,%ecx
43f63d:	d1 f9                	sar    $1,%ecx
43f63f:	5f                   	pop    %edi
43f640:	51                   	push   %ecx
43f641:	52                   	push   %edx
43f642:	8b ce                	mov    %esi,%ecx
43f644:	e8 a7 91 ff ff       	call   0x4387f0
43f649:	8b c6                	mov    %esi,%eax
43f64b:	5e                   	pop    %esi
43f64c:	5d                   	pop    %ebp
43f64d:	c2 04 00             	ret    $0x4
43f650:	55                   	push   %ebp
43f651:	8b ec                	mov    %esp,%ebp
43f653:	8b 51 10             	mov    0x10(%ecx),%edx
43f656:	33 c0                	xor    %eax,%eax
43f658:	56                   	push   %esi
43f659:	8b 75 08             	mov    0x8(%ebp),%esi
43f65c:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
43f663:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
43f66a:	66 89 06             	mov    %ax,(%esi)
43f66d:	66 39 02             	cmp    %ax,(%edx)
43f670:	75 12                	jne    0x43f684
43f672:	33 c9                	xor    %ecx,%ecx
43f674:	51                   	push   %ecx
43f675:	52                   	push   %edx
43f676:	8b ce                	mov    %esi,%ecx
43f678:	e8 73 91 ff ff       	call   0x4387f0
43f67d:	8b c6                	mov    %esi,%eax
43f67f:	5e                   	pop    %esi
43f680:	5d                   	pop    %ebp
43f681:	c2 04 00             	ret    $0x4
43f684:	8b ca                	mov    %edx,%ecx
43f686:	57                   	push   %edi
43f687:	8d 79 02             	lea    0x2(%ecx),%edi
43f68a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
43f690:	66 8b 01             	mov    (%ecx),%ax
43f693:	83 c1 02             	add    $0x2,%ecx
43f696:	66 85 c0             	test   %ax,%ax
43f699:	75 f5                	jne    0x43f690
43f69b:	2b cf                	sub    %edi,%ecx
43f69d:	d1 f9                	sar    $1,%ecx
43f69f:	5f                   	pop    %edi
43f6a0:	51                   	push   %ecx
43f6a1:	52                   	push   %edx
43f6a2:	8b ce                	mov    %esi,%ecx
43f6a4:	e8 47 91 ff ff       	call   0x4387f0
43f6a9:	8b c6                	mov    %esi,%eax
43f6ab:	5e                   	pop    %esi
43f6ac:	5d                   	pop    %ebp
43f6ad:	c2 04 00             	ret    $0x4
43f6b0:	55                   	push   %ebp
43f6b1:	8b ec                	mov    %esp,%ebp
43f6b3:	8b 49 08             	mov    0x8(%ecx),%ecx
43f6b6:	56                   	push   %esi
43f6b7:	8b 75 08             	mov    0x8(%ebp),%esi
43f6ba:	51                   	push   %ecx
43f6bb:	8b ce                	mov    %esi,%ecx
43f6bd:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
43f6c4:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
43f6cb:	c6 06 00             	movb   $0x0,(%esi)
43f6ce:	e8 ad 93 ff ff       	call   0x438a80
43f6d3:	8b c6                	mov    %esi,%eax
43f6d5:	5e                   	pop    %esi
43f6d6:	5d                   	pop    %ebp
43f6d7:	c2 04 00             	ret    $0x4
43f6da:	cc                   	int3
43f6db:	cc                   	int3
43f6dc:	cc                   	int3
43f6dd:	cc                   	int3
43f6de:	cc                   	int3
43f6df:	cc                   	int3
43f6e0:	66 8b 41 0e          	mov    0xe(%ecx),%ax
43f6e4:	c3                   	ret
43f6e5:	cc                   	int3
43f6e6:	cc                   	int3
43f6e7:	cc                   	int3
43f6e8:	cc                   	int3
43f6e9:	cc                   	int3
43f6ea:	cc                   	int3
43f6eb:	cc                   	int3
43f6ec:	cc                   	int3
43f6ed:	cc                   	int3
43f6ee:	cc                   	int3
43f6ef:	cc                   	int3
43f6f0:	66 8b 41 0c          	mov    0xc(%ecx),%ax
43f6f4:	c3                   	ret
43f6f5:	cc                   	int3
43f6f6:	cc                   	int3
43f6f7:	cc                   	int3
43f6f8:	cc                   	int3
43f6f9:	cc                   	int3
43f6fa:	cc                   	int3
43f6fb:	cc                   	int3
43f6fc:	cc                   	int3
43f6fd:	cc                   	int3
43f6fe:	cc                   	int3
43f6ff:	cc                   	int3
43f700:	55                   	push   %ebp
43f701:	8b ec                	mov    %esp,%ebp
43f703:	8b 11                	mov    (%ecx),%edx
43f705:	ff 75 08             	push   0x8(%ebp)
43f708:	ff 52 1c             	call   *0x1c(%edx)
43f70b:	8b 45 08             	mov    0x8(%ebp),%eax
43f70e:	5d                   	pop    %ebp
43f70f:	c2 04 00             	ret    $0x4
43f712:	cc                   	int3
43f713:	cc                   	int3
43f714:	cc                   	int3
43f715:	cc                   	int3
43f716:	cc                   	int3
43f717:	cc                   	int3
43f718:	cc                   	int3
43f719:	cc                   	int3
43f71a:	cc                   	int3
43f71b:	cc                   	int3
43f71c:	cc                   	int3
43f71d:	cc                   	int3
43f71e:	cc                   	int3
43f71f:	cc                   	int3
43f720:	55                   	push   %ebp
43f721:	8b ec                	mov    %esp,%ebp
43f723:	8b 11                	mov    (%ecx),%edx
43f725:	ff 75 08             	push   0x8(%ebp)
43f728:	ff 52 18             	call   *0x18(%edx)
43f72b:	8b 45 08             	mov    0x8(%ebp),%eax
43f72e:	5d                   	pop    %ebp
43f72f:	c2 04 00             	ret    $0x4
43f732:	cc                   	int3
43f733:	cc                   	int3
43f734:	cc                   	int3
43f735:	cc                   	int3
43f736:	cc                   	int3
43f737:	cc                   	int3
43f738:	cc                   	int3
43f739:	cc                   	int3
43f73a:	cc                   	int3
43f73b:	cc                   	int3
43f73c:	cc                   	int3
43f73d:	cc                   	int3
43f73e:	cc                   	int3
43f73f:	cc                   	int3
43f740:	55                   	push   %ebp