45e5ec:	89 37                	mov    %esi,(%edi)
45e5ee:	85 f6                	test   %esi,%esi
45e5f0:	74 1f                	je     0x45e611
45e5f2:	8b c7                	mov    %edi,%eax
45e5f4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45e5f7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45e5fe:	59                   	pop    %ecx
45e5ff:	5f                   	pop    %edi
45e600:	5e                   	pop    %esi
45e601:	8b e5                	mov    %ebp,%esp
45e603:	5d                   	pop    %ebp
45e604:	c2 04 00             	ret    $0x4
45e607:	68 0e 00 07 80       	push   $0x8007000e
45e60c:	e8 1f 06 03 00       	call   0x48ec30
45e611:	68 0e 00 07 80       	push   $0x8007000e
45e616:	e8 15 06 03 00       	call   0x48ec30
45e61b:	cc                   	int3
45e61c:	cc                   	int3
45e61d:	cc                   	int3
45e61e:	cc                   	int3
45e61f:	cc                   	int3
45e620:	55                   	push   %ebp
45e621:	8b ec                	mov    %esp,%ebp
45e623:	6a ff                	push   $0xffffffff
45e625:	68 a0 b9 64 00       	push   $0x64b9a0
45e62a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45e630:	50                   	push   %eax
45e631:	56                   	push   %esi
45e632:	a1 d4 89 72 00       	mov    0x7289d4,%eax
45e637:	33 c5                	xor    %ebp,%eax
45e639:	50                   	push   %eax
45e63a:	8d 45 f4             	lea    -0xc(%ebp),%eax
45e63d:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45e643:	8b 09                	mov    (%ecx),%ecx
45e645:	85 c9                	test   %ecx,%ecx
45e647:	74 10                	je     0x45e659
45e649:	8b 01                	mov    (%ecx),%eax
45e64b:	51                   	push   %ecx
45e64c:	8b 70 08             	mov    0x8(%eax),%esi
45e64f:	8b ce                	mov    %esi,%ecx
45e651:	ff 15 e0 24 68 00    	call   *0x6824e0
45e657:	ff d6                	call   *%esi
45e659:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45e65c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45e663:	59                   	pop    %ecx
45e664:	5e                   	pop    %esi
45e665:	8b e5                	mov    %ebp,%esp
45e667:	5d                   	pop    %ebp
45e668:	c3                   	ret
45e669:	cc                   	int3
45e66a:	cc                   	int3
45e66b:	cc                   	int3
45e66c:	cc                   	int3
45e66d:	cc                   	int3
45e66e:	cc                   	int3
45e66f:	cc                   	int3
45e670:	55                   	push   %ebp
45e671:	8b ec                	mov    %esp,%ebp
45e673:	51                   	push   %ecx
45e674:	56                   	push   %esi
45e675:	57                   	push   %edi
45e676:	8b f9                	mov    %ecx,%edi
45e678:	8b 37                	mov    (%edi),%esi
45e67a:	85 f6                	test   %esi,%esi
45e67c:	74 46                	je     0x45e6c4
45e67e:	83 c8 ff             	or     $0xffffffff,%eax
45e681:	f0 0f c1 46 08       	lock xadd %eax,0x8(%esi)
45e686:	48                   	dec    %eax
45e687:	75 35                	jne    0x45e6be
45e689:	8b 06                	mov    (%esi),%eax
45e68b:	85 c0                	test   %eax,%eax
45e68d:	74 0d                	je     0x45e69c
45e68f:	50                   	push   %eax
45e690:	ff 15 b0 23 68 00    	call   *0x6823b0
45e696:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
45e69c:	8b 46 04             	mov    0x4(%esi),%eax
45e69f:	85 c0                	test   %eax,%eax
45e6a1:	74 10                	je     0x45e6b3
45e6a3:	50                   	push   %eax
45e6a4:	e8 e0 29 18 00       	call   0x5e1089
45e6a9:	83 c4 04             	add    $0x4,%esp
45e6ac:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
45e6b3:	6a 0c                	push   $0xc
45e6b5:	56                   	push   %esi
45e6b6:	e8 b7 29 18 00       	call   0x5e1072
45e6bb:	83 c4 08             	add    $0x8,%esp
45e6be:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
45e6c4:	5f                   	pop    %edi
45e6c5:	5e                   	pop    %esi
45e6c6:	8b e5                	mov    %ebp,%esp
45e6c8:	5d                   	pop    %ebp
45e6c9:	c3                   	ret
45e6ca:	cc                   	int3
45e6cb:	cc                   	int3
45e6cc:	cc                   	int3
45e6cd:	cc                   	int3
45e6ce:	cc                   	int3
45e6cf:	cc                   	int3
45e6d0:	55                   	push   %ebp
45e6d1:	8b ec                	mov    %esp,%ebp
45e6d3:	6a ff                	push   $0xffffffff
45e6d5:	68 7f 07 65 00       	push   $0x65077f
45e6da:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45e6e0:	50                   	push   %eax
45e6e1:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
45e6e7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
45e6ec:	33 c5                	xor    %ebp,%eax
45e6ee:	89 45 ec             	mov    %eax,-0x14(%ebp)
45e6f1:	53                   	push   %ebx
45e6f2:	56                   	push   %esi
45e6f3:	57                   	push   %edi
45e6f4:	50                   	push   %eax
45e6f5:	8d 45 f4             	lea    -0xc(%ebp),%eax
45e6f8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45e6fe:	89 65 f0             	mov    %esp,-0x10(%ebp)
45e701:	8b f9                	mov    %ecx,%edi
45e703:	89 7d d4             	mov    %edi,-0x2c(%ebp)
45e706:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
45e70a:	8d 4d b8             	lea    -0x48(%ebp),%ecx
45e70d:	33 db                	xor    %ebx,%ebx
45e70f:	89 7d d0             	mov    %edi,-0x30(%ebp)
45e712:	57                   	push   %edi
45e713:	89 45 c8             	mov    %eax,-0x38(%ebp)
45e716:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
45e71d:	89 5d c0             	mov    %ebx,-0x40(%ebp)
45e720:	e8 8b fc fd ff       	call   0x43e3b0
45e725:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45e728:	38 5d bc             	cmp    %bl,-0x44(%ebp)
45e72b:	0f 84 ea 01 00 00    	je     0x45e91b
45e731:	8b 07                	mov    (%edi),%eax
45e733:	8b 40 04             	mov    0x4(%eax),%eax
45e736:	8b 44 38 30          	mov    0x30(%eax,%edi,1),%eax
45e73a:	8b 78 04             	mov    0x4(%eax),%edi
45e73d:	89 7d e0             	mov    %edi,-0x20(%ebp)
45e740:	89 7d b4             	mov    %edi,-0x4c(%ebp)
45e743:	8b 07                	mov    (%edi),%eax
45e745:	8b 70 04             	mov    0x4(%eax),%esi
45e748:	8b ce                	mov    %esi,%ecx
45e74a:	ff 15 e0 24 68 00    	call   *0x6824e0
45e750:	8b cf                	mov    %edi,%ecx
45e752:	ff d6                	call   *%esi
45e754:	53                   	push   %ebx
45e755:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45e758:	e8 9a fc 16 00       	call   0x5ce3f7
45e75d:	8b 0d 78 26 73 00    	mov    0x732678,%ecx
45e763:	a1 70 26 73 00       	mov    0x732670,%eax
45e768:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
45e76c:	89 45 cc             	mov    %eax,-0x34(%ebp)
45e76f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
45e772:	85 c9                	test   %ecx,%ecx
45e774:	75 32                	jne    0x45e7a8
45e776:	51                   	push   %ecx
45e777:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45e77a:	e8 78 fc 16 00       	call   0x5ce3f7
45e77f:	39 1d 78 26 73 00    	cmp    %ebx,0x732678
45e785:	75 10                	jne    0x45e797
45e787:	a1 08 06 73 00       	mov    0x730608,%eax
45e78c:	40                   	inc    %eax
45e78d:	a3 08 06 73 00       	mov    %eax,0x730608
45e792:	a3 78 26 73 00       	mov    %eax,0x732678
45e797:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45e79a:	e8 b0 fc 16 00       	call   0x5ce44f
45e79f:	8b 0d 78 26 73 00    	mov    0x732678,%ecx
45e7a5:	89 4d e8             	mov    %ecx,-0x18(%ebp)
45e7a8:	3b 4f 0c             	cmp    0xc(%edi),%ecx
45e7ab:	73 23                	jae    0x45e7d0
45e7ad:	8b 47 08             	mov    0x8(%edi),%eax
45e7b0:	8b 3c 88             	mov    (%eax,%ecx,4),%edi
45e7b3:	85 ff                	test   %edi,%edi
45e7b5:	74 1b                	je     0x45e7d2
45e7b7:	8b 75 e0             	mov    -0x20(%ebp),%esi
45e7ba:	85 ff                	test   %edi,%edi
45e7bc:	0f 85 aa 00 00 00    	jne    0x45e86c
45e7c2:	8b 45 cc             	mov    -0x34(%ebp),%eax
45e7c5:	85 c0                	test   %eax,%eax
45e7c7:	74 27                	je     0x45e7f0
45e7c9:	8b f8                	mov    %eax,%edi
45e7cb:	e9 9c 00 00 00       	jmp    0x45e86c
45e7d0:	33 ff                	xor    %edi,%edi
45e7d2:	8b 75 e0             	mov    -0x20(%ebp),%esi
45e7d5:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
45e7d9:	74 df                	je     0x45e7ba
45e7db:	e8 8e ff 16 00       	call   0x5ce76e
45e7e0:	8b 7d e8             	mov    -0x18(%ebp),%edi
45e7e3:	3b 78 0c             	cmp    0xc(%eax),%edi
45e7e6:	73 da                	jae    0x45e7c2
45e7e8:	8b 40 08             	mov    0x8(%eax),%eax
45e7eb:	8b 3c b8             	mov    (%eax,%edi,4),%edi
45e7ee:	eb ca                	jmp    0x45e7ba
45e7f0:	6a 08                	push   $0x8
45e7f2:	e8 4b 28 18 00       	call   0x5e1042
45e7f7:	8b f8                	mov    %eax,%edi
45e7f9:	83 c4 04             	add    $0x4,%esp
45e7fc:	89 7d cc             	mov    %edi,-0x34(%ebp)
45e7ff:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
45e803:	85 ff                	test   %edi,%edi
45e805:	74 2a                	je     0x45e831
45e807:	8b 46 18             	mov    0x18(%esi),%eax
45e80a:	85 c0                	test   %eax,%eax
45e80c:	75 03                	jne    0x45e811
45e80e:	8d 46 1c             	lea    0x1c(%esi),%eax
45e811:	50                   	push   %eax
45e812:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
45e818:	e8 b3 ae fd ff       	call   0x4396d0
45e81d:	b8 01 00 00 00       	mov    $0x1,%eax
45e822:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
45e829:	c7 07 f4 fd 68 00    	movl   $0x68fdf4,(%edi)
45e82f:	eb 05                	jmp    0x45e836
45e831:	8b 45 dc             	mov    -0x24(%ebp),%eax
45e834:	33 ff                	xor    %edi,%edi
45e836:	a8 01                	test   $0x1,%al
45e838:	74 0b                	je     0x45e845
45e83a:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
45e840:	e8 4b af fd ff       	call   0x439790
45e845:	89 7d dc             	mov    %edi,-0x24(%ebp)
45e848:	57                   	push   %edi
45e849:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
45e84d:	e8 f0 fe 16 00       	call   0x5ce742
45e852:	8b 07                	mov    (%edi),%eax
45e854:	83 c4 04             	add    $0x4,%esp
45e857:	8b 70 04             	mov    0x4(%eax),%esi
45e85a:	8b ce                	mov    %esi,%ecx
45e85c:	ff 15 e0 24 68 00    	call   *0x6824e0
45e862:	8b cf                	mov    %edi,%ecx
45e864:	ff d6                	call   *%esi
45e866:	89 3d 70 26 73 00    	mov    %edi,0x732670
45e86c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
45e86f:	e8 db fb 16 00       	call   0x5ce44f
45e874:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45e877:	8b 01                	mov    (%ecx),%eax
45e879:	8b 70 08             	mov    0x8(%eax),%esi
45e87c:	8b ce                	mov    %esi,%ecx
45e87e:	ff 15 e0 24 68 00    	call   *0x6824e0
45e884:	8b 4d e0             	mov    -0x20(%ebp),%ecx
45e887:	ff d6                	call   *%esi
45e889:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e88c:	85 c0                	test   %eax,%eax
45e88e:	74 13                	je     0x45e8a3
45e890:	8b 00                	mov    (%eax),%eax
45e892:	6a 01                	push   $0x1
45e894:	8b 30                	mov    (%eax),%esi
45e896:	8b ce                	mov    %esi,%ecx
45e898:	ff 15 e0 24 68 00    	call   *0x6824e0
45e89e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45e8a1:	ff d6                	call   *%esi
45e8a3:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
45e8a6:	8b 37                	mov    (%edi),%esi
45e8a8:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
45e8ac:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
45e8b0:	8b 01                	mov    (%ecx),%eax
45e8b2:	8b 76 20             	mov    0x20(%esi),%esi
45e8b5:	8b 50 04             	mov    0x4(%eax),%edx
45e8b8:	8b 45 c8             	mov    -0x38(%ebp),%eax
45e8bb:	03 d1                	add    %ecx,%edx
45e8bd:	0f b7 c0             	movzwl %ax,%eax
45e8c0:	50                   	push   %eax
45e8c1:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45e8c4:	0f b7 4a 40          	movzwl 0x40(%edx),%ecx
45e8c8:	51                   	push   %ecx
45e8c9:	52                   	push   %edx
45e8ca:	ff 72 38             	push   0x38(%edx)
45e8cd:	8b ce                	mov    %esi,%ecx
45e8cf:	ff 75 d8             	push   -0x28(%ebp)
45e8d2:	50                   	push   %eax
45e8d3:	ff 15 e0 24 68 00    	call   *0x6824e0
45e8d9:	8b cf                	mov    %edi,%ecx
45e8db:	ff d6                	call   *%esi
45e8dd:	80 7d c4 00          	cmpb   $0x0,-0x3c(%ebp)
45e8e1:	ba 04 00 00 00       	mov    $0x4,%edx
45e8e6:	8b 7d d4             	mov    -0x2c(%ebp),%edi
45e8e9:	0f 45 da             	cmovne %edx,%ebx
45e8ec:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45e8f3:	eb 2b                	jmp    0x45e920
45e8f5:	8b 55 d0             	mov    -0x30(%ebp),%edx
45e8f8:	6a 01                	push   $0x1
45e8fa:	6a 04                	push   $0x4
45e8fc:	8b 02                	mov    (%edx),%eax
45e8fe:	8b 48 04             	mov    0x4(%eax),%ecx
45e901:	03 ca                	add    %edx,%ecx
45e903:	e8 88 0c fe ff       	call   0x43f590
45e908:	b8 0e e9 45 00       	mov    $0x45e90e,%eax
45e90d:	c3                   	ret
45e90e:	8b 5d c0             	mov    -0x40(%ebp),%ebx
45e911:	8b 7d d0             	mov    -0x30(%ebp),%edi
45e914:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45e91b:	ba 04 00 00 00       	mov    $0x4,%edx
45e920:	8b 07                	mov    (%edi),%eax
45e922:	33 f6                	xor    %esi,%esi
45e924:	8b 48 04             	mov    0x4(%eax),%ecx
45e927:	8b 44 39 0c          	mov    0xc(%ecx,%edi,1),%eax
45e92b:	03 cf                	add    %edi,%ecx
45e92d:	0b c3                	or     %ebx,%eax
45e92f:	39 71 38             	cmp    %esi,0x38(%ecx)
45e932:	0f 45 d6             	cmovne %esi,%edx
45e935:	0b d0                	or     %eax,%edx
45e937:	8b 41 10             	mov    0x10(%ecx),%eax
45e93a:	83 e2 17             	and    $0x17,%edx
45e93d:	89 51 0c             	mov    %edx,0xc(%ecx)
45e940:	23 c2                	and    %edx,%eax
45e942:	75 5d                	jne    0x45e9a1
45e944:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
45e94b:	e8 1e fb 16 00       	call   0x5ce46e
45e950:	84 c0                	test   %al,%al
45e952:	75 08                	jne    0x45e95c
45e954:	8b 4d b8             	mov    -0x48(%ebp),%ecx
45e957:	e8 54 1e fe ff       	call   0x4407b0
45e95c:	8b 4d b8             	mov    -0x48(%ebp),%ecx
45e95f:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
45e963:	8b 01                	mov    (%ecx),%eax
45e965:	8b 40 04             	mov    0x4(%eax),%eax
45e968:	8b 5c 08 38          	mov    0x38(%eax,%ecx,1),%ebx
45e96c:	85 db                	test   %ebx,%ebx
45e96e:	74 11                	je     0x45e981
45e970:	8b 13                	mov    (%ebx),%edx
45e972:	8b 72 08             	mov    0x8(%edx),%esi
45e975:	8b ce                	mov    %esi,%ecx
45e977:	ff 15 e0 24 68 00    	call   *0x6824e0
45e97d:	8b cb                	mov    %ebx,%ecx
45e97f:	ff d6                	call   *%esi
45e981:	8b c7                	mov    %edi,%eax
45e983:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45e986:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45e98d:	59                   	pop    %ecx
45e98e:	5f                   	pop    %edi
45e98f:	5e                   	pop    %esi
45e990:	5b                   	pop    %ebx
45e991:	8b 4d ec             	mov    -0x14(%ebp),%ecx
45e994:	33 cd                	xor    %ebp,%ecx
45e996:	e8 3f 2b 18 00       	call   0x5e14da
45e99b:	8b e5                	mov    %ebp,%esp
45e99d:	5d                   	pop    %ebp
45e99e:	c2 04 00             	ret    $0x4
45e9a1:	a8 04                	test   $0x4,%al
45e9a3:	74 07                	je     0x45e9ac
45e9a5:	be 34 c4 68 00       	mov    $0x68c434,%esi
45e9aa:	eb 0f                	jmp    0x45e9bb
45e9ac:	a8 02                	test   $0x2,%al
45e9ae:	be 4c c4 68 00       	mov    $0x68c44c,%esi
45e9b3:	b8 64 c4 68 00       	mov    $0x68c464,%eax
45e9b8:	0f 44 f0             	cmove  %eax,%esi
45e9bb:	8d 45 b0             	lea    -0x50(%ebp),%eax
45e9be:	6a 01                	push   $0x1
45e9c0:	50                   	push   %eax
45e9c1:	e8 0a b6 fd ff       	call   0x439fd0
45e9c6:	83 c4 08             	add    $0x8,%esp
45e9c9:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
45e9cc:	50                   	push   %eax
45e9cd:	56                   	push   %esi
45e9ce:	e8 1d bb fd ff       	call   0x43a4f0
45e9d3:	68 0c 60 70 00       	push   $0x70600c