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
43f741:	8b ec                	mov    %esp,%ebp
43f743:	6a ff                	push   $0xffffffff
43f745:	68 c0 b9 64 00       	push   $0x64b9c0
43f74a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f750:	50                   	push   %eax
43f751:	a1 d4 89 72 00       	mov    0x7289d4,%eax
43f756:	33 c5                	xor    %ebp,%eax
43f758:	50                   	push   %eax
43f759:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f75c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f762:	8b 09                	mov    (%ecx),%ecx
43f764:	8b 01                	mov    (%ecx),%eax
43f766:	8b 40 04             	mov    0x4(%eax),%eax
43f769:	8b 4c 08 38          	mov    0x38(%eax,%ecx,1),%ecx
43f76d:	85 c9                	test   %ecx,%ecx
43f76f:	74 05                	je     0x43f776
43f771:	8b 01                	mov    (%ecx),%eax
43f773:	ff 50 08             	call   *0x8(%eax)
43f776:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43f779:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43f780:	59                   	pop    %ecx
43f781:	8b e5                	mov    %ebp,%esp
43f783:	5d                   	pop    %ebp
43f784:	c3                   	ret
43f785:	cc                   	int3
43f786:	cc                   	int3
43f787:	cc                   	int3
43f788:	cc                   	int3
43f789:	cc                   	int3
43f78a:	cc                   	int3
43f78b:	cc                   	int3
43f78c:	cc                   	int3
43f78d:	cc                   	int3
43f78e:	cc                   	int3
43f78f:	cc                   	int3
43f790:	55                   	push   %ebp
43f791:	8b ec                	mov    %esp,%ebp
43f793:	8b 55 14             	mov    0x14(%ebp),%edx
43f796:	56                   	push   %esi
43f797:	8b 75 1c             	mov    0x1c(%ebp),%esi
43f79a:	85 f6                	test   %esi,%esi
43f79c:	74 52                	je     0x43f7f0
43f79e:	53                   	push   %ebx
43f79f:	57                   	push   %edi
43f7a0:	8b 7d 18             	mov    0x18(%ebp),%edi
43f7a3:	bb ff ff 00 00       	mov    $0xffff,%ebx
43f7a8:	85 d2                	test   %edx,%edx
43f7aa:	74 39                	je     0x43f7e5
43f7ac:	8b 42 20             	mov    0x20(%edx),%eax
43f7af:	83 38 00             	cmpl   $0x0,(%eax)
43f7b2:	74 1e                	je     0x43f7d2
43f7b4:	8b 4a 30             	mov    0x30(%edx),%ecx
43f7b7:	8b 01                	mov    (%ecx),%eax
43f7b9:	85 c0                	test   %eax,%eax
43f7bb:	7e 15                	jle    0x43f7d2
43f7bd:	48                   	dec    %eax
43f7be:	89 01                	mov    %eax,(%ecx)
43f7c0:	8b 4a 20             	mov    0x20(%edx),%ecx
43f7c3:	8b 11                	mov    (%ecx),%edx
43f7c5:	8d 42 02             	lea    0x2(%edx),%eax
43f7c8:	89 01                	mov    %eax,(%ecx)
43f7ca:	66 89 3a             	mov    %di,(%edx)
43f7cd:	0f b7 c7             	movzwl %di,%eax
43f7d0:	eb 0b                	jmp    0x43f7dd
43f7d2:	8b 02                	mov    (%edx),%eax
43f7d4:	8b ca                	mov    %edx,%ecx
43f7d6:	57                   	push   %edi
43f7d7:	ff 50 0c             	call   *0xc(%eax)
43f7da:	0f b7 c0             	movzwl %ax,%eax
43f7dd:	8b 55 14             	mov    0x14(%ebp),%edx
43f7e0:	66 3b d8             	cmp    %ax,%bx
43f7e3:	75 04                	jne    0x43f7e9
43f7e5:	c6 45 10 01          	movb   $0x1,0x10(%ebp)
43f7e9:	83 ee 01             	sub    $0x1,%esi
43f7ec:	75 ba                	jne    0x43f7a8
43f7ee:	5f                   	pop    %edi
43f7ef:	5b                   	pop    %ebx
43f7f0:	8b 45 0c             	mov    0xc(%ebp),%eax
43f7f3:	8b 4d 10             	mov    0x10(%ebp),%ecx
43f7f6:	5e                   	pop    %esi
43f7f7:	89 08                	mov    %ecx,(%eax)
43f7f9:	89 50 04             	mov    %edx,0x4(%eax)
43f7fc:	5d                   	pop    %ebp
43f7fd:	c3                   	ret
43f7fe:	cc                   	int3
43f7ff:	cc                   	int3
43f800:	55                   	push   %ebp
43f801:	8b ec                	mov    %esp,%ebp
43f803:	8b 55 14             	mov    0x14(%ebp),%edx
43f806:	56                   	push   %esi
43f807:	8b 75 1c             	mov    0x1c(%ebp),%esi
43f80a:	85 f6                	test   %esi,%esi
43f80c:	74 57                	je     0x43f865
43f80e:	53                   	push   %ebx
43f80f:	57                   	push   %edi
43f810:	8b 7d 18             	mov    0x18(%ebp),%edi
43f813:	85 d2                	test   %edx,%edx
43f815:	74 40                	je     0x43f857
43f817:	8b 42 20             	mov    0x20(%edx),%eax
43f81a:	0f b7 1f             	movzwl (%edi),%ebx
43f81d:	83 38 00             	cmpl   $0x0,(%eax)
43f820:	74 1d                	je     0x43f83f
43f822:	8b 4a 30             	mov    0x30(%edx),%ecx
43f825:	8b 01                	mov    (%ecx),%eax
43f827:	85 c0                	test   %eax,%eax
43f829:	7e 14                	jle    0x43f83f
43f82b:	48                   	dec    %eax
43f82c:	89 01                	mov    %eax,(%ecx)
43f82e:	8b 4a 20             	mov    0x20(%edx),%ecx
43f831:	8b 11                	mov    (%ecx),%edx
43f833:	8d 42 02             	lea    0x2(%edx),%eax
43f836:	89 01                	mov    %eax,(%ecx)
43f838:	8b c3                	mov    %ebx,%eax
43f83a:	66 89 1a             	mov    %bx,(%edx)
43f83d:	eb 0b                	jmp    0x43f84a
43f83f:	8b 02                	mov    (%edx),%eax
43f841:	8b ca                	mov    %edx,%ecx
43f843:	53                   	push   %ebx
43f844:	ff 50 0c             	call   *0xc(%eax)
43f847:	0f b7 c0             	movzwl %ax,%eax
43f84a:	8b 55 14             	mov    0x14(%ebp),%edx
43f84d:	b9 ff ff 00 00       	mov    $0xffff,%ecx
43f852:	66 3b c8             	cmp    %ax,%cx
43f855:	75 04                	jne    0x43f85b
43f857:	c6 45 10 01          	movb   $0x1,0x10(%ebp)
43f85b:	83 c7 02             	add    $0x2,%edi
43f85e:	83 ee 01             	sub    $0x1,%esi
43f861:	75 b0                	jne    0x43f813
43f863:	5f                   	pop    %edi
43f864:	5b                   	pop    %ebx
43f865:	8b 45 0c             	mov    0xc(%ebp),%eax
43f868:	8b 4d 10             	mov    0x10(%ebp),%ecx
43f86b:	5e                   	pop    %esi
43f86c:	89 08                	mov    %ecx,(%eax)
43f86e:	89 50 04             	mov    %edx,0x4(%eax)
43f871:	5d                   	pop    %ebp
43f872:	c3                   	ret
43f873:	cc                   	int3
43f874:	cc                   	int3
43f875:	cc                   	int3
43f876:	cc                   	int3
43f877:	cc                   	int3
43f878:	cc                   	int3
43f879:	cc                   	int3
43f87a:	cc                   	int3
43f87b:	cc                   	int3
43f87c:	cc                   	int3
43f87d:	cc                   	int3
43f87e:	cc                   	int3
43f87f:	cc                   	int3
43f880:	55                   	push   %ebp
43f881:	8b ec                	mov    %esp,%ebp
43f883:	6a ff                	push   $0xffffffff
43f885:	68 70 bf 64 00       	push   $0x64bf70
43f88a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43f890:	50                   	push   %eax
43f891:	83 ec 54             	sub    $0x54,%esp
43f894:	a1 d4 89 72 00       	mov    0x7289d4,%eax
43f899:	33 c5                	xor    %ebp,%eax
43f89b:	89 45 f0             	mov    %eax,-0x10(%ebp)
43f89e:	53                   	push   %ebx
43f89f:	56                   	push   %esi
43f8a0:	57                   	push   %edi
43f8a1:	50                   	push   %eax
43f8a2:	8d 45 f4             	lea    -0xc(%ebp),%eax
43f8a5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43f8ab:	8b 5d 24             	mov    0x24(%ebp),%ebx
43f8ae:	8b 45 0c             	mov    0xc(%ebp),%eax
43f8b1:	8b 55 18             	mov    0x18(%ebp),%edx
43f8b4:	8b 7d 20             	mov    0x20(%ebp),%edi
43f8b7:	89 45 a0             	mov    %eax,-0x60(%ebp)
43f8ba:	89 55 ac             	mov    %edx,-0x54(%ebp)
43f8bd:	85 db                	test   %ebx,%ebx
43f8bf:	74 11                	je     0x43f8d2
43f8c1:	8a 07                	mov    (%edi),%al