45e745:	5f                   	pop    %edi
45e746:	5e                   	pop    %esi
45e747:	5b                   	pop    %ebx
45e748:	c2 04 00             	ret    $0x4
45e74b:	cc                   	int3
45e74c:	cc                   	int3
45e74d:	cc                   	int3
45e74e:	cc                   	int3
45e74f:	cc                   	int3
45e750:	8b 51 40             	mov    0x40(%ecx),%edx
45e753:	56                   	push   %esi
45e754:	8b 71 44             	mov    0x44(%ecx),%esi
45e757:	4a                   	dec    %edx
45e758:	8b c6                	mov    %esi,%eax
45e75a:	83 e6 01             	and    $0x1,%esi
45e75d:	d1 e8                	shr    $1,%eax
45e75f:	23 d0                	and    %eax,%edx
45e761:	8b 41 3c             	mov    0x3c(%ecx),%eax
45e764:	8b 14 90             	mov    (%eax,%edx,4),%edx
45e767:	8b 04 f2             	mov    (%edx,%esi,8),%eax
45e76a:	8b 54 f2 04          	mov    0x4(%edx,%esi,8),%edx
45e76e:	5e                   	pop    %esi
45e76f:	c3                   	ret
45e770:	8b 51 40             	mov    0x40(%ecx),%edx
45e773:	56                   	push   %esi
45e774:	8b 71 44             	mov    0x44(%ecx),%esi
45e777:	4a                   	dec    %edx
45e778:	8b c6                	mov    %esi,%eax
45e77a:	83 e6 01             	and    $0x1,%esi
45e77d:	d1 e8                	shr    $1,%eax
45e77f:	23 d0                	and    %eax,%edx
45e781:	8b 41 3c             	mov    0x3c(%ecx),%eax
45e784:	8b 04 90             	mov    (%eax,%edx,4),%eax
45e787:	83 7c f0 04 00       	cmpl   $0x0,0x4(%eax,%esi,8)
45e78c:	77 0a                	ja     0x45e798
45e78e:	83 3c f0 00          	cmpl   $0x0,(%eax,%esi,8)
45e792:	77 04                	ja     0x45e798
45e794:	32 c0                	xor    %al,%al
45e796:	5e                   	pop    %esi
45e797:	c3                   	ret
45e798:	b0 01                	mov    $0x1,%al
45e79a:	5e                   	pop    %esi
45e79b:	c3                   	ret
45e79c:	cc                   	int3
45e79d:	cc                   	int3
45e79e:	cc                   	int3
45e79f:	cc                   	int3
45e7a0:	8b 41 10             	mov    0x10(%ecx),%eax
45e7a3:	56                   	push   %esi
45e7a4:	57                   	push   %edi
45e7a5:	8d 79 10             	lea    0x10(%ecx),%edi
45e7a8:	8b 70 3c             	mov    0x3c(%eax),%esi
45e7ab:	8b ce                	mov    %esi,%ecx
45e7ad:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45e7b3:	8b cf                	mov    %edi,%ecx
45e7b5:	ff d6                	call   *%esi
45e7b7:	5f                   	pop    %edi
45e7b8:	5e                   	pop    %esi
45e7b9:	c3                   	ret
45e7ba:	cc                   	int3
45e7bb:	cc                   	int3
45e7bc:	cc                   	int3
45e7bd:	cc                   	int3
45e7be:	cc                   	int3
45e7bf:	cc                   	int3
45e7c0:	8b 41 48             	mov    0x48(%ecx),%eax
45e7c3:	48                   	dec    %eax
45e7c4:	c3                   	ret
45e7c5:	cc                   	int3
45e7c6:	cc                   	int3
45e7c7:	cc                   	int3
45e7c8:	cc                   	int3
45e7c9:	cc                   	int3
45e7ca:	cc                   	int3
45e7cb:	cc                   	int3
45e7cc:	cc                   	int3
45e7cd:	cc                   	int3
45e7ce:	cc                   	int3
45e7cf:	cc                   	int3
45e7d0:	8b c1                	mov    %ecx,%eax
45e7d2:	56                   	push   %esi
45e7d3:	8b 70 58             	mov    0x58(%eax),%esi
45e7d6:	8b ce                	mov    %esi,%ecx
45e7d8:	8b 50 54             	mov    0x54(%eax),%edx
45e7db:	83 e6 03             	and    $0x3,%esi
45e7de:	8b 40 50             	mov    0x50(%eax),%eax
45e7e1:	4a                   	dec    %edx
45e7e2:	c1 e9 02             	shr    $0x2,%ecx
45e7e5:	23 d1                	and    %ecx,%edx
45e7e7:	8b 04 90             	mov    (%eax,%edx,4),%eax
45e7ea:	8b 04 b0             	mov    (%eax,%esi,4),%eax
45e7ed:	5e                   	pop    %esi
45e7ee:	c3                   	ret
45e7ef:	cc                   	int3
45e7f0:	8b 41 5c             	mov    0x5c(%ecx),%eax
45e7f3:	48                   	dec    %eax
45e7f4:	c3                   	ret
45e7f5:	cc                   	int3
45e7f6:	cc                   	int3
45e7f7:	cc                   	int3
45e7f8:	cc                   	int3
45e7f9:	cc                   	int3
45e7fa:	cc                   	int3
45e7fb:	cc                   	int3
45e7fc:	cc                   	int3
45e7fd:	cc                   	int3
45e7fe:	cc                   	int3
45e7ff:	cc                   	int3
45e800:	55                   	push   %ebp
45e801:	8b ec                	mov    %esp,%ebp
45e803:	6a ff                	push   $0xffffffff
45e805:	68 8b c4 49 00       	push   $0x49c48b
45e80a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45e810:	50                   	push   %eax
45e811:	83 ec 18             	sub    $0x18,%esp
45e814:	53                   	push   %ebx
45e815:	56                   	push   %esi
45e816:	57                   	push   %edi
45e817:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45e81c:	33 c5                	xor    %ebp,%eax
45e81e:	50                   	push   %eax
45e81f:	8d 45 f4             	lea    -0xc(%ebp),%eax
45e822:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45e828:	8b d9                	mov    %ecx,%ebx
45e82a:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45e82d:	89 5d dc             	mov    %ebx,-0x24(%ebp)
45e830:	8d 4b 10             	lea    0x10(%ebx),%ecx
45e833:	68 00 01 00 00       	push   $0x100
45e838:	c7 43 0c ff ff ff ff 	movl   $0xffffffff,0xc(%ebx)
45e83f:	c7 03 08 72 4b 00    	movl   $0x4b7208,(%ebx)
45e845:	c7 43 04 bc 72 4b 00 	movl   $0x4b72bc,0x4(%ebx)
45e84c:	e8 8f e1 ff ff       	call   0x45c9e0
45e851:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45e858:	8d 73 38             	lea    0x38(%ebx),%esi
45e85b:	8d 45 ef             	lea    -0x11(%ebp),%eax
45e85e:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
45e864:	6a 08                	push   $0x8
45e866:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
45e86d:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
45e874:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
45e87b:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
45e882:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45e885:	e8 4e b1 00 00       	call   0x4699d8
45e88a:	83 c4 04             	add    $0x4,%esp
45e88d:	89 45 e0             	mov    %eax,-0x20(%ebp)
45e890:	89 30                	mov    %esi,(%eax)
45e892:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
45e899:	89 06                	mov    %eax,(%esi)
45e89b:	89 75 e8             	mov    %esi,-0x18(%ebp)
45e89e:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
45e8a2:	8b 46 0c             	mov    0xc(%esi),%eax
45e8a5:	8b 4e 10             	mov    0x10(%esi),%ecx
45e8a8:	03 c1                	add    %ecx,%eax
45e8aa:	a8 01                	test   $0x1,%al
45e8ac:	75 12                	jne    0x45e8c0
45e8ae:	8d 41 02             	lea    0x2(%ecx),%eax
45e8b1:	d1 e8                	shr    $1,%eax
45e8b3:	39 46 08             	cmp    %eax,0x8(%esi)
45e8b6:	77 08                	ja     0x45e8c0
45e8b8:	51                   	push   %ecx
45e8b9:	8b ce                	mov    %esi,%ecx
45e8bb:	e8 80 08 00 00       	call   0x45f140
45e8c0:	8b 4e 08             	mov    0x8(%esi),%ecx
45e8c3:	8b 7e 10             	mov    0x10(%esi),%edi
45e8c6:	8d 04 4d ff ff ff ff 	lea    -0x1(,%ecx,2),%eax
45e8cd:	49                   	dec    %ecx
45e8ce:	21 46 0c             	and    %eax,0xc(%esi)
45e8d1:	03 7e 0c             	add    0xc(%esi),%edi
45e8d4:	8b c7                	mov    %edi,%eax
45e8d6:	d1 e8                	shr    $1,%eax
45e8d8:	23 c8                	and    %eax,%ecx
45e8da:	8b 46 04             	mov    0x4(%esi),%eax
45e8dd:	c1 e1 02             	shl    $0x2,%ecx
45e8e0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
45e8e3:	83 3c 01 00          	cmpl   $0x0,(%ecx,%eax,1)
45e8e7:	75 17                	jne    0x45e900
45e8e9:	6a 10                	push   $0x10
45e8eb:	e8 e8 b0 00 00       	call   0x4699d8
45e8f0:	8b 55 f0             	mov    -0x10(%ebp),%edx
45e8f3:	8b c8                	mov    %eax,%ecx
45e8f5:	8b 46 04             	mov    0x4(%esi),%eax
45e8f8:	83 c4 04             	add    $0x4,%esp
45e8fb:	89 0c 02             	mov    %ecx,(%edx,%eax,1)
45e8fe:	8b ca                	mov    %edx,%ecx
45e900:	8b 46 04             	mov    0x4(%esi),%eax
45e903:	83 e7 01             	and    $0x1,%edi
45e906:	8b 04 08             	mov    (%eax,%ecx,1),%eax
45e909:	c7 04 f8 00 00 00 00 	movl   $0x0,(%eax,%edi,8)
45e910:	c7 44 f8 04 00 00 00 	movl   $0x0,0x4(%eax,%edi,8)
45e917:	00
45e918:	ff 46 10             	incl   0x10(%esi)
45e91b:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
45e91f:	8d 73 4c             	lea    0x4c(%ebx),%esi
45e922:	8d 45 ee             	lea    -0x12(%ebp),%eax
45e925:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
45e92b:	6a 08                	push   $0x8
45e92d:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
45e934:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
45e93b:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
45e942:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
45e949:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45e94c:	e8 87 b0 00 00       	call   0x4699d8
45e951:	83 c4 04             	add    $0x4,%esp
45e954:	89 45 e0             	mov    %eax,-0x20(%ebp)
45e957:	89 30                	mov    %esi,(%eax)
45e959:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
45e960:	89 06                	mov    %eax,(%esi)
45e962:	89 75 e8             	mov    %esi,-0x18(%ebp)
45e965:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
45e969:	8b 46 0c             	mov    0xc(%esi),%eax
45e96c:	8b 4e 10             	mov    0x10(%esi),%ecx
45e96f:	03 c1                	add    %ecx,%eax
45e971:	a8 03                	test   $0x3,%al
45e973:	75 13                	jne    0x45e988
45e975:	8d 41 04             	lea    0x4(%ecx),%eax
45e978:	c1 e8 02             	shr    $0x2,%eax
45e97b:	39 46 08             	cmp    %eax,0x8(%esi)
45e97e:	77 08                	ja     0x45e988
45e980:	51                   	push   %ecx
45e981:	8b ce                	mov    %esi,%ecx
45e983:	e8 18 06 00 00       	call   0x45efa0
45e988:	8b 4e 08             	mov    0x8(%esi),%ecx
45e98b:	8b 7e 10             	mov    0x10(%esi),%edi
45e98e:	8d 04 8d ff ff ff ff 	lea    -0x1(,%ecx,4),%eax
45e995:	49                   	dec    %ecx
45e996:	21 46 0c             	and    %eax,0xc(%esi)
45e999:	03 7e 0c             	add    0xc(%esi),%edi
45e99c:	8b c7                	mov    %edi,%eax
45e99e:	c1 e8 02             	shr    $0x2,%eax
45e9a1:	23 c8                	and    %eax,%ecx
45e9a3:	8b 46 04             	mov    0x4(%esi),%eax
45e9a6:	c1 e1 02             	shl    $0x2,%ecx
45e9a9:	89 4d f0             	mov    %ecx,-0x10(%ebp)
45e9ac:	83 3c 01 00          	cmpl   $0x0,(%ecx,%eax,1)
45e9b0:	75 15                	jne    0x45e9c7
45e9b2:	6a 10                	push   $0x10
45e9b4:	e8 1f b0 00 00       	call   0x4699d8
45e9b9:	8b 4e 04             	mov    0x4(%esi),%ecx
45e9bc:	83 c4 04             	add    $0x4,%esp
45e9bf:	8b 55 f0             	mov    -0x10(%ebp),%edx
45e9c2:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
45e9c5:	eb 02                	jmp    0x45e9c9
45e9c7:	8b d1                	mov    %ecx,%edx
45e9c9:	8b 4e 04             	mov    0x4(%esi),%ecx
45e9cc:	83 e7 03             	and    $0x3,%edi
45e9cf:	8b c3                	mov    %ebx,%eax
45e9d1:	8b 0c 0a             	mov    (%edx,%ecx,1),%ecx
45e9d4:	c7 04 b9 00 00 00 00 	movl   $0x0,(%ecx,%edi,4)
45e9db:	ff 46 10             	incl   0x10(%esi)
45e9de:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45e9e1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45e9e8:	59                   	pop    %ecx
45e9e9:	5f                   	pop    %edi
45e9ea:	5e                   	pop    %esi
45e9eb:	5b                   	pop    %ebx
45e9ec:	8b e5                	mov    %ebp,%esp
45e9ee:	5d                   	pop    %ebp
45e9ef:	c2 04 00             	ret    $0x4
45e9f2:	cc                   	int3
45e9f3:	cc                   	int3
45e9f4:	cc                   	int3
45e9f5:	cc                   	int3
45e9f6:	cc                   	int3
45e9f7:	cc                   	int3
45e9f8:	cc                   	int3
45e9f9:	cc                   	int3
45e9fa:	cc                   	int3
45e9fb:	cc                   	int3
45e9fc:	cc                   	int3
45e9fd:	cc                   	int3
45e9fe:	cc                   	int3
45e9ff:	cc                   	int3
45ea00:	56                   	push   %esi
45ea01:	57                   	push   %edi
45ea02:	8b f9                	mov    %ecx,%edi
45ea04:	8d 4f 4c             	lea    0x4c(%edi),%ecx
45ea07:	e8 f4 04 00 00       	call   0x45ef00
45ea0c:	8b 47 4c             	mov    0x4c(%edi),%eax
45ea0f:	6a 08                	push   $0x8
45ea11:	50                   	push   %eax
45ea12:	c7 47 4c 00 00 00 00 	movl   $0x0,0x4c(%edi)
45ea19:	e8 ea af 00 00       	call   0x469a08
45ea1e:	83 c4 08             	add    $0x8,%esp
45ea21:	8d 4f 38             	lea    0x38(%edi),%ecx
45ea24:	e8 d7 04 00 00       	call   0x45ef00
45ea29:	8b 47 38             	mov    0x38(%edi),%eax
45ea2c:	6a 08                	push   $0x8
45ea2e:	50                   	push   %eax
45ea2f:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)
45ea36:	e8 cd af 00 00       	call   0x469a08
45ea3b:	83 c4 08             	add    $0x8,%esp
45ea3e:	c7 47 10 30 70 4b 00 	movl   $0x4b7030,0x10(%edi)
45ea45:	8d 4f 10             	lea    0x10(%edi),%ecx
45ea48:	c7 41 04 20 70 4b 00 	movl   $0x4b7020,0x4(%ecx)
45ea4f:	e8 3c e2 ff ff       	call   0x45cc90
45ea54:	f6 44 24 0c 01       	testb  $0x1,0xc(%esp)
45ea59:	74 0b                	je     0x45ea66
45ea5b:	6a 60                	push   $0x60
45ea5d:	57                   	push   %edi
45ea5e:	e8 a5 af 00 00       	call   0x469a08
45ea63:	83 c4 08             	add    $0x8,%esp
45ea66:	8b c7                	mov    %edi,%eax
45ea68:	5f                   	pop    %edi
45ea69:	5e                   	pop    %esi
45ea6a:	c2 04 00             	ret    $0x4
45ea6d:	cc                   	int3
45ea6e:	cc                   	int3
45ea6f:	cc                   	int3
45ea70:	53                   	push   %ebx
45ea71:	56                   	push   %esi
45ea72:	57                   	push   %edi
45ea73:	8b f9                	mov    %ecx,%edi
45ea75:	8b 07                	mov    (%edi),%eax
45ea77:	8b 70 3c             	mov    0x3c(%eax),%esi
45ea7a:	8b ce                	mov    %esi,%ecx
45ea7c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45ea82:	8b cf                	mov    %edi,%ecx
45ea84:	ff d6                	call   *%esi
45ea86:	8b 5c 24 14          	mov    0x14(%esp),%ebx
45ea8a:	39 53 04             	cmp    %edx,0x4(%ebx)
45ea8d:	72 0e                	jb     0x45ea9d
45ea8f:	77 04                	ja     0x45ea95
45ea91:	39 03                	cmp    %eax,(%ebx)
45ea93:	72 08                	jb     0x45ea9d
45ea95:	5f                   	pop    %edi
45ea96:	5e                   	pop    %esi
45ea97:	33 c0                	xor    %eax,%eax
45ea99:	5b                   	pop    %ebx
45ea9a:	c2 18 00             	ret    $0x18
45ea9d:	8b 07                	mov    (%edi),%eax
45ea9f:	8b 70 3c             	mov    0x3c(%eax),%esi
45eaa2:	8b ce                	mov    %esi,%ecx
45eaa4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45eaaa:	8b cf                	mov    %edi,%ecx
45eaac:	ff d6                	call   *%esi
45eaae:	8b f2                	mov    %edx,%esi
45eab0:	8b 54 24 1c          	mov    0x1c(%esp),%edx
45eab4:	3b d6                	cmp    %esi,%edx
45eab6:	77 0a                	ja     0x45eac2
45eab8:	8b 4c 24 18          	mov    0x18(%esp),%ecx
45eabc:	72 08                	jb     0x45eac6
45eabe:	3b c8                	cmp    %eax,%ecx
45eac0:	72 04                	jb     0x45eac6
45eac2:	8b c8                	mov    %eax,%ecx
45eac4:	8b d6                	mov    %esi,%edx
45eac6:	ff 74 24 24          	push   0x24(%esp)
45eaca:	8b 77 10             	mov    0x10(%edi),%esi
45eacd:	ff 74 24 24          	push   0x24(%esp)
45ead1:	52                   	push   %edx
45ead2:	8b b6 80 00 00 00    	mov    0x80(%esi),%esi