45c631:	8b 71 14             	mov    0x14(%ecx),%esi
45c634:	8b ce                	mov    %esi,%ecx
45c636:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c63c:	ff d6                	call   *%esi
45c63e:	85 c0                	test   %eax,%eax
45c640:	79 24                	jns    0x45c666
45c642:	8b 85 a8 fd ff ff    	mov    -0x258(%ebp),%eax
45c648:	8d 95 cc fd ff ff    	lea    -0x234(%ebp),%edx
45c64e:	52                   	push   %edx
45c64f:	50                   	push   %eax
45c650:	8b 08                	mov    (%eax),%ecx
45c652:	8b 71 14             	mov    0x14(%ecx),%esi
45c655:	8b ce                	mov    %esi,%ecx
45c657:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c65d:	ff d6                	call   *%esi
45c65f:	50                   	push   %eax
45c660:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c666:	8d 95 bc fd ff ff    	lea    -0x244(%ebp),%edx
45c66c:	8b cb                	mov    %ebx,%ecx
45c66e:	8d b5 cc fd ff ff    	lea    -0x234(%ebp),%esi
45c674:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45c677:	3b 04 8e             	cmp    (%esi,%ecx,4),%eax
45c67a:	75 08                	jne    0x45c684
45c67c:	41                   	inc    %ecx
45c67d:	83 f9 04             	cmp    $0x4,%ecx
45c680:	75 f2                	jne    0x45c674
45c682:	eb 0b                	jmp    0x45c68f
45c684:	68 57 00 07 80       	push   $0x80070057
45c689:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c68f:	8b bd 9c fd ff ff    	mov    -0x264(%ebp),%edi
45c695:	8d 95 dc fd ff ff    	lea    -0x224(%ebp),%edx
45c69b:	8b cf                	mov    %edi,%ecx
45c69d:	e8 8a fa ff ff       	call   0x45c12c
45c6a2:	85 c0                	test   %eax,%eax
45c6a4:	75 0b                	jne    0x45c6b1
45c6a6:	68 ff ff 00 80       	push   $0x8000ffff
45c6ab:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c6b1:	89 9d b0 fd ff ff    	mov    %ebx,-0x250(%ebp)
45c6b7:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
45c6bb:	8d 95 b0 fd ff ff    	lea    -0x250(%ebp),%edx
45c6c1:	8b 85 b8 fd ff ff    	mov    -0x248(%ebp),%eax
45c6c7:	52                   	push   %edx
45c6c8:	50                   	push   %eax
45c6c9:	8b 08                	mov    (%eax),%ecx
45c6cb:	8b 71 38             	mov    0x38(%ecx),%esi
45c6ce:	8b ce                	mov    %esi,%ecx
45c6d0:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c6d6:	ff d6                	call   *%esi
45c6d8:	85 c0                	test   %eax,%eax
45c6da:	79 24                	jns    0x45c700
45c6dc:	8b 85 b8 fd ff ff    	mov    -0x248(%ebp),%eax
45c6e2:	8d 95 b0 fd ff ff    	lea    -0x250(%ebp),%edx
45c6e8:	52                   	push   %edx
45c6e9:	50                   	push   %eax
45c6ea:	8b 08                	mov    (%eax),%ecx
45c6ec:	8b 71 38             	mov    0x38(%ecx),%esi
45c6ef:	8b ce                	mov    %esi,%ecx
45c6f1:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c6f7:	ff d6                	call   *%esi
45c6f9:	50                   	push   %eax
45c6fa:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c700:	8b 85 b0 fd ff ff    	mov    -0x250(%ebp),%eax
45c706:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
45c70c:	68 00 00 00 40       	push   $0x40000000
45c711:	51                   	push   %ecx
45c712:	50                   	push   %eax
45c713:	8b 30                	mov    (%eax),%esi
45c715:	c7 85 98 fd ff ff 01 	movl   $0x1,-0x268(%ebp)
45c71c:	00 00 00
45c71f:	8b 4e 3c             	mov    0x3c(%esi),%ecx
45c722:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c728:	ff 56 3c             	call   *0x3c(%esi)
45c72b:	85 c0                	test   %eax,%eax
45c72d:	79 28                	jns    0x45c757
45c72f:	8b 85 b0 fd ff ff    	mov    -0x250(%ebp),%eax
45c735:	8d 8d dc fd ff ff    	lea    -0x224(%ebp),%ecx
45c73b:	68 00 00 00 40       	push   $0x40000000
45c740:	51                   	push   %ecx
45c741:	50                   	push   %eax
45c742:	8b 30                	mov    (%eax),%esi
45c744:	8b 4e 3c             	mov    0x3c(%esi),%ecx
45c747:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c74d:	ff 56 3c             	call   *0x3c(%esi)
45c750:	50                   	push   %eax
45c751:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c757:	8b 85 b0 fd ff ff    	mov    -0x250(%ebp),%eax
45c75d:	53                   	push   %ebx
45c75e:	53                   	push   %ebx
45c75f:	53                   	push   %ebx
45c760:	8b 30                	mov    (%eax),%esi
45c762:	53                   	push   %ebx
45c763:	50                   	push   %eax
45c764:	8b 4e 14             	mov    0x14(%esi),%ecx
45c767:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c76d:	ff 56 14             	call   *0x14(%esi)
45c770:	85 c0                	test   %eax,%eax
45c772:	79 20                	jns    0x45c794
45c774:	8b 85 b0 fd ff ff    	mov    -0x250(%ebp),%eax
45c77a:	53                   	push   %ebx
45c77b:	53                   	push   %ebx
45c77c:	53                   	push   %ebx
45c77d:	8b 30                	mov    (%eax),%esi
45c77f:	53                   	push   %ebx
45c780:	50                   	push   %eax
45c781:	8b 4e 14             	mov    0x14(%esi),%ecx
45c784:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c78a:	ff 56 14             	call   *0x14(%esi)
45c78d:	50                   	push   %eax
45c78e:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c794:	89 9d b4 fd ff ff    	mov    %ebx,-0x24c(%ebp)
45c79a:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
45c79e:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
45c7a4:	8b 85 b8 fd ff ff    	mov    -0x248(%ebp),%eax
45c7aa:	51                   	push   %ecx
45c7ab:	68 cc fb 40 00       	push   $0x40fbcc
45c7b0:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
45c7b6:	8b 30                	mov    (%eax),%esi
45c7b8:	51                   	push   %ecx
45c7b9:	50                   	push   %eax
45c7ba:	8b 4e 20             	mov    0x20(%esi),%ecx
45c7bd:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c7c3:	ff 56 20             	call   *0x20(%esi)
45c7c6:	85 c0                	test   %eax,%eax
45c7c8:	79 2f                	jns    0x45c7f9
45c7ca:	8b 85 b8 fd ff ff    	mov    -0x248(%ebp),%eax
45c7d0:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
45c7d6:	51                   	push   %ecx
45c7d7:	68 cc fb 40 00       	push   $0x40fbcc
45c7dc:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
45c7e2:	8b 30                	mov    (%eax),%esi
45c7e4:	51                   	push   %ecx
45c7e5:	50                   	push   %eax
45c7e6:	8b 4e 20             	mov    0x20(%esi),%ecx
45c7e9:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c7ef:	ff 56 20             	call   *0x20(%esi)
45c7f2:	50                   	push   %eax
45c7f3:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c7f9:	8b 85 b4 fd ff ff    	mov    -0x24c(%ebp),%eax
45c7ff:	6a 02                	push   $0x2
45c801:	ff b5 b0 fd ff ff    	push   -0x250(%ebp)
45c807:	8b 30                	mov    (%eax),%esi
45c809:	50                   	push   %eax
45c80a:	8b 4e 0c             	mov    0xc(%esi),%ecx
45c80d:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c813:	ff 56 0c             	call   *0xc(%esi)
45c816:	85 c0                	test   %eax,%eax
45c818:	79 25                	jns    0x45c83f
45c81a:	8b 85 b4 fd ff ff    	mov    -0x24c(%ebp),%eax
45c820:	6a 02                	push   $0x2
45c822:	ff b5 b0 fd ff ff    	push   -0x250(%ebp)
45c828:	8b 08                	mov    (%eax),%ecx
45c82a:	50                   	push   %eax
45c82b:	8b 71 0c             	mov    0xc(%ecx),%esi
45c82e:	8b ce                	mov    %esi,%ecx
45c830:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c836:	ff d6                	call   *%esi
45c838:	50                   	push   %eax
45c839:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c83f:	8b 95 b4 fd ff ff    	mov    -0x24c(%ebp),%edx
45c845:	8b 8d ac fd ff ff    	mov    -0x254(%ebp),%ecx
45c84b:	e8 0d 3b fc ff       	call   0x42035d
45c850:	8b 85 ac fd ff ff    	mov    -0x254(%ebp),%eax
45c856:	8d 95 a0 fd ff ff    	lea    -0x260(%ebp),%edx
45c85c:	89 9d a0 fd ff ff    	mov    %ebx,-0x260(%ebp)
45c862:	89 9d a4 fd ff ff    	mov    %ebx,-0x25c(%ebp)
45c868:	52                   	push   %edx
45c869:	8b 08                	mov    (%eax),%ecx
45c86b:	50                   	push   %eax
45c86c:	8b 71 30             	mov    0x30(%ecx),%esi
45c86f:	8b ce                	mov    %esi,%ecx
45c871:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c877:	ff d6                	call   *%esi
45c879:	85 c0                	test   %eax,%eax
45c87b:	79 24                	jns    0x45c8a1
45c87d:	8b 85 ac fd ff ff    	mov    -0x254(%ebp),%eax
45c883:	8d 95 a0 fd ff ff    	lea    -0x260(%ebp),%edx
45c889:	52                   	push   %edx
45c88a:	50                   	push   %eax
45c88b:	8b 08                	mov    (%eax),%ecx
45c88d:	8b 71 30             	mov    0x30(%ecx),%esi
45c890:	8b ce                	mov    %esi,%ecx
45c892:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c898:	ff d6                	call   *%esi
45c89a:	50                   	push   %eax
45c89b:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c8a1:	8b 85 a8 fd ff ff    	mov    -0x258(%ebp),%eax
45c8a7:	8d 95 a4 fd ff ff    	lea    -0x25c(%ebp),%edx
45c8ad:	52                   	push   %edx
45c8ae:	50                   	push   %eax
45c8af:	8b 08                	mov    (%eax),%ecx
45c8b1:	8b 71 30             	mov    0x30(%ecx),%esi
45c8b4:	8b ce                	mov    %esi,%ecx
45c8b6:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c8bc:	ff d6                	call   *%esi
45c8be:	85 c0                	test   %eax,%eax
45c8c0:	79 24                	jns    0x45c8e6
45c8c2:	8b 85 a8 fd ff ff    	mov    -0x258(%ebp),%eax
45c8c8:	8d 95 a4 fd ff ff    	lea    -0x25c(%ebp),%edx
45c8ce:	52                   	push   %edx
45c8cf:	50                   	push   %eax
45c8d0:	8b 08                	mov    (%eax),%ecx
45c8d2:	8b 71 30             	mov    0x30(%ecx),%esi
45c8d5:	8b ce                	mov    %esi,%ecx
45c8d7:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c8dd:	ff d6                	call   *%esi
45c8df:	50                   	push   %eax
45c8e0:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c8e6:	8b 85 a0 fd ff ff    	mov    -0x260(%ebp),%eax
45c8ec:	3b 85 a4 fd ff ff    	cmp    -0x25c(%ebp),%eax
45c8f2:	74 0b                	je     0x45c8ff
45c8f4:	68 57 00 07 80       	push   $0x80070057
45c8f9:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c8ff:	8b b5 94 fd ff ff    	mov    -0x26c(%ebp),%esi
45c905:	3b 9d a4 fd ff ff    	cmp    -0x25c(%ebp),%ebx
45c90b:	73 23                	jae    0x45c930
45c90d:	8b 95 a8 fd ff ff    	mov    -0x258(%ebp),%edx
45c913:	56                   	push   %esi
45c914:	53                   	push   %ebx
45c915:	ff b5 b8 fd ff ff    	push   -0x248(%ebp)
45c91b:	51                   	push   %ecx
45c91c:	ff b5 b4 fd ff ff    	push   -0x24c(%ebp)
45c922:	8b 8d ac fd ff ff    	mov    -0x254(%ebp),%ecx
45c928:	e8 22 01 00 00       	call   0x45ca4f
45c92d:	43                   	inc    %ebx
45c92e:	eb d5                	jmp    0x45c905
45c930:	8b 85 b4 fd ff ff    	mov    -0x24c(%ebp),%eax
45c936:	50                   	push   %eax
45c937:	8b 08                	mov    (%eax),%ecx
45c939:	8b 71 2c             	mov    0x2c(%ecx),%esi
45c93c:	8b ce                	mov    %esi,%ecx
45c93e:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c944:	ff d6                	call   *%esi
45c946:	85 c0                	test   %eax,%eax
45c948:	79 1d                	jns    0x45c967
45c94a:	8b 85 b4 fd ff ff    	mov    -0x24c(%ebp),%eax
45c950:	50                   	push   %eax
45c951:	8b 08                	mov    (%eax),%ecx
45c953:	8b 71 2c             	mov    0x2c(%ecx),%esi
45c956:	8b ce                	mov    %esi,%ecx
45c958:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c95e:	ff d6                	call   *%esi
45c960:	50                   	push   %eax
45c961:	ff 15 b0 75 4a 00    	call   *0x4a75b0
45c967:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
45c96b:	8b 85 b4 fd ff ff    	mov    -0x24c(%ebp),%eax
45c971:	85 c0                	test   %eax,%eax
45c973:	74 10                	je     0x45c985
45c975:	8b 08                	mov    (%eax),%ecx
45c977:	50                   	push   %eax
45c978:	8b 71 08             	mov    0x8(%ecx),%esi
45c97b:	8b ce                	mov    %esi,%ecx
45c97d:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c983:	ff d6                	call   *%esi
45c985:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
45c989:	8b 85 b0 fd ff ff    	mov    -0x250(%ebp),%eax
45c98f:	85 c0                	test   %eax,%eax
45c991:	74 10                	je     0x45c9a3
45c993:	8b 08                	mov    (%eax),%ecx
45c995:	50                   	push   %eax
45c996:	8b 71 08             	mov    0x8(%ecx),%esi
45c999:	8b ce                	mov    %esi,%ecx
45c99b:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c9a1:	ff d6                	call   *%esi
45c9a3:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
45c9a7:	8b 85 a8 fd ff ff    	mov    -0x258(%ebp),%eax
45c9ad:	85 c0                	test   %eax,%eax
45c9af:	74 10                	je     0x45c9c1
45c9b1:	8b 08                	mov    (%eax),%ecx
45c9b3:	50                   	push   %eax
45c9b4:	8b 71 08             	mov    0x8(%ecx),%esi
45c9b7:	8b ce                	mov    %esi,%ecx
45c9b9:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c9bf:	ff d6                	call   *%esi
45c9c1:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
45c9c5:	8b 85 ac fd ff ff    	mov    -0x254(%ebp),%eax
45c9cb:	85 c0                	test   %eax,%eax
45c9cd:	74 10                	je     0x45c9df
45c9cf:	8b 08                	mov    (%eax),%ecx
45c9d1:	50                   	push   %eax
45c9d2:	8b 71 08             	mov    0x8(%ecx),%esi
45c9d5:	8b ce                	mov    %esi,%ecx
45c9d7:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c9dd:	ff d6                	call   *%esi
45c9df:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
45c9e3:	8b 85 b8 fd ff ff    	mov    -0x248(%ebp),%eax
45c9e9:	85 c0                	test   %eax,%eax
45c9eb:	74 10                	je     0x45c9fd
45c9ed:	8b 08                	mov    (%eax),%ecx
45c9ef:	50                   	push   %eax
45c9f0:	8b 71 08             	mov    0x8(%ecx),%esi
45c9f3:	8b ce                	mov    %esi,%ecx
45c9f5:	ff 15 2c 81 4a 00    	call   *0x4a812c
45c9fb:	ff d6                	call   *%esi
45c9fd:	6a 03                	push   $0x3
45c9ff:	57                   	push   %edi
45ca00:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
45ca06:	50                   	push   %eax
45ca07:	ff 15 90 71 4a 00    	call   *0x4a7190
45ca0d:	8b f0                	mov    %eax,%esi
45ca0f:	85 f6                	test   %esi,%esi
45ca11:	75 32                	jne    0x45ca45
45ca13:	40                   	inc    %eax
45ca14:	eb 1e                	jmp    0x45ca34
45ca16:	8b 8d 8c fd ff ff    	mov    -0x274(%ebp),%ecx
45ca1c:	ff 15 24 75 4a 00    	call   *0x4a7524
45ca22:	b8 28 ca 45 00       	mov    $0x45ca28,%eax
45ca27:	c3                   	ret
45ca28:	8b b5 90 fd ff ff    	mov    -0x270(%ebp),%esi
45ca2e:	8b 85 98 fd ff ff    	mov    -0x268(%ebp),%eax
45ca34:	85 c0                	test   %eax,%eax
45ca36:	74 0d                	je     0x45ca45
45ca38:	8d 85 dc fd ff ff    	lea    -0x224(%ebp),%eax
45ca3e:	50                   	push   %eax
45ca3f:	ff 15 94 71 4a 00    	call   *0x4a7194
45ca45:	8b c6                	mov    %esi,%eax
45ca47:	e8 78 3a 03 00       	call   0x4904c4
45ca4c:	c2 04 00             	ret    $0x4
45ca4f:	6a 68                	push   $0x68
45ca51:	b8 b7 44 49 00       	mov    $0x4944b7,%eax
45ca56:	e8 ab 3a 03 00       	call   0x490506
45ca5b:	89 55 c8             	mov    %edx,-0x38(%ebp)
45ca5e:	8b f9                	mov    %ecx,%edi
45ca60:	8b 45 10             	mov    0x10(%ebp),%eax
45ca63:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ca66:	89 45 d4             	mov    %eax,-0x2c(%ebp)
45ca69:	8b 45 18             	mov    0x18(%ebp),%eax
45ca6c:	89 45 a0             	mov    %eax,-0x60(%ebp)
45ca6f:	33 c0                	xor    %eax,%eax
45ca71:	89 45 cc             	mov    %eax,-0x34(%ebp)
45ca74:	89 45 fc             	mov    %eax,-0x4(%ebp)
45ca77:	89 45 d0             	mov    %eax,-0x30(%ebp)
45ca7a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
45ca7e:	8d 45 cc             	lea    -0x34(%ebp),%eax
45ca81:	8b 37                	mov    (%edi),%esi
45ca83:	50                   	push   %eax
45ca84:	ff 75 14             	push   0x14(%ebp)
45ca87:	8b 4e 34             	mov    0x34(%esi),%ecx
45ca8a:	57                   	push   %edi
45ca8b:	ff 15 2c 81 4a 00    	call   *0x4a812c
45ca91:	ff 56 34             	call   *0x34(%esi)
45ca94:	85 c0                	test   %eax,%eax
45ca96:	79 1d                	jns    0x45cab5
45ca98:	8b 37                	mov    (%edi),%esi
45ca9a:	8d 45 cc             	lea    -0x34(%ebp),%eax
45ca9d:	50                   	push   %eax
45ca9e:	ff 75 14             	push   0x14(%ebp)
45caa1:	8b 4e 34             	mov    0x34(%esi),%ecx
45caa4:	57                   	push   %edi
45caa5:	ff 15 2c 81 4a 00    	call   *0x4a812c
45caab:	ff 56 34             	call   *0x34(%esi)