46d762:	5d                   	pop    %ebp
46d763:	e9 00 00 00 00       	jmp    0x46d768
46d768:	55                   	push   %ebp
46d769:	8b ec                	mov    %esp,%ebp
46d76b:	83 ec 10             	sub    $0x10,%esp
46d76e:	56                   	push   %esi
46d76f:	57                   	push   %edi
46d770:	8b 7d 08             	mov    0x8(%ebp),%edi
46d773:	8d 45 f0             	lea    -0x10(%ebp),%eax
46d776:	50                   	push   %eax
46d777:	57                   	push   %edi
46d778:	ff 15 7c d6 48 00    	call   *0x48d67c
46d77e:	8b 75 fc             	mov    -0x4(%ebp),%esi
46d781:	8b 45 f8             	mov    -0x8(%ebp),%eax
46d784:	2b 45 f0             	sub    -0x10(%ebp),%eax
46d787:	2b 75 f4             	sub    -0xc(%ebp),%esi
46d78a:	0f af f0             	imul   %eax,%esi
46d78d:	a1 cc 16 4c 00       	mov    0x4c16cc,%eax
46d792:	3b 45 f0             	cmp    -0x10(%ebp),%eax
46d795:	7c 3e                	jl     0x46d7d5
46d797:	3b 45 f8             	cmp    -0x8(%ebp),%eax
46d79a:	7f 39                	jg     0x46d7d5
46d79c:	a1 d0 16 4c 00       	mov    0x4c16d0,%eax
46d7a1:	3b 45 f4             	cmp    -0xc(%ebp),%eax
46d7a4:	7c 2f                	jl     0x46d7d5
46d7a6:	3b 45 fc             	cmp    -0x4(%ebp),%eax
46d7a9:	7f 2a                	jg     0x46d7d5
46d7ab:	3b 35 c8 16 4c 00    	cmp    0x4c16c8,%esi
46d7b1:	7f 22                	jg     0x46d7d5
46d7b3:	57                   	push   %edi
46d7b4:	ff 15 38 d6 48 00    	call   *0x48d638
46d7ba:	85 c0                	test   %eax,%eax
46d7bc:	74 17                	je     0x46d7d5
46d7be:	57                   	push   %edi
46d7bf:	ff 15 6c d6 48 00    	call   *0x48d66c
46d7c5:	85 c0                	test   %eax,%eax
46d7c7:	74 0c                	je     0x46d7d5
46d7c9:	89 3d c4 16 4c 00    	mov    %edi,0x4c16c4
46d7cf:	89 35 c8 16 4c 00    	mov    %esi,0x4c16c8
46d7d5:	33 c0                	xor    %eax,%eax
46d7d7:	5f                   	pop    %edi
46d7d8:	40                   	inc    %eax
46d7d9:	5e                   	pop    %esi
46d7da:	c9                   	leave
46d7db:	c2 08 00             	ret    $0x8
46d7de:	55                   	push   %ebp
46d7df:	8b ec                	mov    %esp,%ebp
46d7e1:	83 ec 20             	sub    $0x20,%esp
46d7e4:	53                   	push   %ebx
46d7e5:	8b 5d 08             	mov    0x8(%ebp),%ebx
46d7e8:	83 c8 ff             	or     $0xffffffff,%eax
46d7eb:	8b 0b                	mov    (%ebx),%ecx
46d7ed:	56                   	push   %esi
46d7ee:	57                   	push   %edi
46d7ef:	0b f8                	or     %eax,%edi
46d7f1:	89 45 f8             	mov    %eax,-0x8(%ebp)
46d7f4:	8d 45 0c             	lea    0xc(%ebp),%eax
46d7f7:	50                   	push   %eax
46d7f8:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46d7fd:	89 7d f4             	mov    %edi,-0xc(%ebp)
46d800:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46d803:	8b 00                	mov    (%eax),%eax
46d805:	ff 30                	push   (%eax)
46d807:	ff 15 c0 d4 48 00    	call   *0x48d4c0
46d80d:	a1 8c 16 4c 00       	mov    0x4c168c,%eax
46d812:	33 f6                	xor    %esi,%esi
46d814:	89 45 f0             	mov    %eax,-0x10(%ebp)
46d817:	85 c0                	test   %eax,%eax
46d819:	0f 8e dd 00 00 00    	jle    0x46d8fc
46d81f:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46d824:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46d827:	8b 10                	mov    (%eax),%edx
46d829:	89 55 08             	mov    %edx,0x8(%ebp)
46d82c:	85 d2                	test   %edx,%edx
46d82e:	0f 84 a2 00 00 00    	je     0x46d8d6
46d834:	6a 03                	push   $0x3
46d836:	5f                   	pop    %edi
46d837:	39 3d ac 16 4c 00    	cmp    %edi,0x4c16ac
46d83d:	0f 8c 93 00 00 00    	jl     0x46d8d6
46d843:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46d848:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46d84b:	8b 08                	mov    (%eax),%ecx
46d84d:	85 c9                	test   %ecx,%ecx
46d84f:	74 78                	je     0x46d8c9
46d851:	8b 41 04             	mov    0x4(%ecx),%eax
46d854:	3b 42 04             	cmp    0x4(%edx),%eax
46d857:	75 70                	jne    0x46d8c9
46d859:	f6 81 92 00 00 00 20 	testb  $0x20,0x92(%ecx)
46d860:	75 67                	jne    0x46d8c9
46d862:	8a 81 93 00 00 00    	mov    0x93(%ecx),%al
46d868:	3c ff                	cmp    $0xff,%al
46d86a:	74 0b                	je     0x46d877
46d86c:	0f b6 c0             	movzbl %al,%eax
46d86f:	3b 82 90 01 00 00    	cmp    0x190(%edx),%eax
46d875:	75 52                	jne    0x46d8c9
46d877:	8d 45 e0             	lea    -0x20(%ebp),%eax
46d87a:	50                   	push   %eax
46d87b:	ff 31                	push   (%ecx)
46d87d:	ff 15 7c d6 48 00    	call   *0x48d67c
46d883:	ff 75 10             	push   0x10(%ebp)
46d886:	8d 45 e0             	lea    -0x20(%ebp),%eax
46d889:	ff 75 0c             	push   0xc(%ebp)
46d88c:	50                   	push   %eax
46d88d:	ff 15 24 d5 48 00    	call   *0x48d524
46d893:	85 c0                	test   %eax,%eax
46d895:	74 2f                	je     0x46d8c6
46d897:	39 33                	cmp    %esi,(%ebx)
46d899:	74 07                	je     0x46d8a2
46d89b:	8b ce                	mov    %esi,%ecx
46d89d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
46d8a0:	eb 03                	jmp    0x46d8a5
46d8a2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46d8a5:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46d8aa:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46d8ad:	8b 00                	mov    (%eax),%eax
46d8af:	f6 80 92 00 00 00 08 	testb  $0x8,0x92(%eax)
46d8b6:	75 3a                	jne    0x46d8f2
46d8b8:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
46d8bc:	8b 55 08             	mov    0x8(%ebp),%edx
46d8bf:	7d 08                	jge    0x46d8c9
46d8c1:	89 7d f8             	mov    %edi,-0x8(%ebp)
46d8c4:	eb 03                	jmp    0x46d8c9
46d8c6:	8b 55 08             	mov    0x8(%ebp),%edx
46d8c9:	47                   	inc    %edi
46d8ca:	3b 3d ac 16 4c 00    	cmp    0x4c16ac,%edi
46d8d0:	0f 8e 6d ff ff ff    	jle    0x46d843
46d8d6:	46                   	inc    %esi
46d8d7:	3b 75 f0             	cmp    -0x10(%ebp),%esi
46d8da:	0f 8c 3f ff ff ff    	jl     0x46d81f
46d8e0:	8b 45 f8             	mov    -0x8(%ebp),%eax
46d8e3:	85 c0                	test   %eax,%eax
46d8e5:	78 15                	js     0x46d8fc
46d8e7:	8b 7d f4             	mov    -0xc(%ebp),%edi
46d8ea:	85 ff                	test   %edi,%edi
46d8ec:	78 19                	js     0x46d907
46d8ee:	89 3b                	mov    %edi,(%ebx)
46d8f0:	eb 15                	jmp    0x46d907
46d8f2:	39 33                	cmp    %esi,(%ebx)
46d8f4:	74 02                	je     0x46d8f8
46d8f6:	89 0b                	mov    %ecx,(%ebx)
46d8f8:	8b c7                	mov    %edi,%eax
46d8fa:	eb 0b                	jmp    0x46d907
46d8fc:	6a 00                	push   $0x0
46d8fe:	ff 15 f4 d5 48 00    	call   *0x48d5f4
46d904:	83 c8 ff             	or     $0xffffffff,%eax
46d907:	5f                   	pop    %edi
46d908:	5e                   	pop    %esi
46d909:	5b                   	pop    %ebx
46d90a:	c9                   	leave
46d90b:	c2 0c 00             	ret    $0xc
46d90e:	55                   	push   %ebp
46d90f:	8b ec                	mov    %esp,%ebp
46d911:	53                   	push   %ebx
46d912:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46d915:	57                   	push   %edi
46d916:	ff 75 10             	push   0x10(%ebp)
46d919:	ff 33                	push   (%ebx)
46d91b:	e8 84 4b fb ff       	call   0x4224a4
46d920:	59                   	pop    %ecx
46d921:	59                   	pop    %ecx
46d922:	89 45 0c             	mov    %eax,0xc(%ebp)
46d925:	85 c0                	test   %eax,%eax
46d927:	74 08                	je     0x46d931
46d929:	8b f8                	mov    %eax,%edi
46d92b:	2b 3b                	sub    (%ebx),%edi
46d92d:	d1 ff                	sar    $1,%edi
46d92f:	eb 0a                	jmp    0x46d93b
46d931:	ff 33                	push   (%ebx)
46d933:	e8 a3 33 fb ff       	call   0x420cdb
46d938:	59                   	pop    %ecx
46d939:	8b f8                	mov    %eax,%edi
46d93b:	81 ff fe 0f 00 00    	cmp    $0xffe,%edi
46d941:	7e 04                	jle    0x46d947
46d943:	32 c0                	xor    %al,%al
46d945:	eb 27                	jmp    0x46d96e
46d947:	56                   	push   %esi
46d948:	8b 75 08             	mov    0x8(%ebp),%esi
46d94b:	57                   	push   %edi
46d94c:	ff 33                	push   (%ebx)
46d94e:	56                   	push   %esi
46d94f:	e8 58 4a fb ff       	call   0x4223ac
46d954:	83 c4 0c             	add    $0xc,%esp
46d957:	33 c0                	xor    %eax,%eax
46d959:	66 89 04 7e          	mov    %ax,(%esi,%edi,2)
46d95d:	5e                   	pop    %esi
46d95e:	39 45 0c             	cmp    %eax,0xc(%ebp)
46d961:	74 01                	je     0x46d964
46d963:	47                   	inc    %edi
46d964:	8d 04 3f             	lea    (%edi,%edi,1),%eax
46d967:	01 03                	add    %eax,(%ebx)
46d969:	85 ff                	test   %edi,%edi
46d96b:	0f 95 c0             	setne  %al
46d96e:	5f                   	pop    %edi
46d96f:	5b                   	pop    %ebx
46d970:	5d                   	pop    %ebp
46d971:	c2 0c 00             	ret    $0xc
46d974:	56                   	push   %esi
46d975:	57                   	push   %edi
46d976:	ff 15 1c d7 48 00    	call   *0x48d71c
46d97c:	8b f0                	mov    %eax,%esi
46d97e:	ff 15 50 d6 48 00    	call   *0x48d650
46d984:	8b f8                	mov    %eax,%edi
46d986:	85 ff                	test   %edi,%edi
46d988:	74 6d                	je     0x46d9f7
46d98a:	53                   	push   %ebx
46d98b:	bb 28 16 4c 00       	mov    $0x4c1628,%ebx
46d990:	56                   	push   %esi
46d991:	8b cb                	mov    %ebx,%ecx
46d993:	e8 b6 d9 fa ff       	call   0x41b34e
46d998:	83 f8 ff             	cmp    $0xffffffff,%eax
46d99b:	74 59                	je     0x46d9f6
46d99d:	8b 15 88 16 4c 00    	mov    0x4c1688,%edx
46d9a3:	57                   	push   %edi
46d9a4:	8b 04 82             	mov    (%edx,%eax,4),%eax
46d9a7:	8b cb                	mov    %ebx,%ecx
46d9a9:	8b 30                	mov    (%eax),%esi
46d9ab:	e8 76 db fa ff       	call   0x41b526
46d9b0:	8b d0                	mov    %eax,%edx
46d9b2:	83 fa ff             	cmp    $0xffffffff,%edx
46d9b5:	74 3f                	je     0x46d9f6
46d9b7:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46d9bd:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
46d9c0:	83 39 00             	cmpl   $0x0,(%ecx)
46d9c3:	74 31                	je     0x46d9f6
46d9c5:	89 56 1c             	mov    %edx,0x1c(%esi)
46d9c8:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46d9cd:	8b 04 90             	mov    (%eax,%edx,4),%eax
46d9d0:	8b 08                	mov    (%eax),%ecx
46d9d2:	80 b9 90 00 00 00 02 	cmpb   $0x2,0x90(%ecx)
46d9d9:	75 1b                	jne    0x46d9f6
46d9db:	8d 86 c0 01 00 00    	lea    0x1c0(%esi),%eax
46d9e1:	50                   	push   %eax
46d9e2:	8d 86 bc 01 00 00    	lea    0x1bc(%esi),%eax
46d9e8:	50                   	push   %eax
46d9e9:	68 b0 00 00 00       	push   $0xb0
46d9ee:	ff 31                	push   (%ecx)
46d9f0:	ff 15 70 d6 48 00    	call   *0x48d670
46d9f6:	5b                   	pop    %ebx
46d9f7:	5f                   	pop    %edi
46d9f8:	5e                   	pop    %esi
46d9f9:	c3                   	ret
46d9fa:	55                   	push   %ebp
46d9fb:	8b ec                	mov    %esp,%ebp
46d9fd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
46da01:	74 17                	je     0x46da1a
46da03:	ff 75 08             	push   0x8(%ebp)
46da06:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46da0b:	e8 3e d9 fa ff       	call   0x41b34e
46da10:	8b c8                	mov    %eax,%ecx
46da12:	89 0d 94 16 4c 00    	mov    %ecx,0x4c1694
46da18:	eb 06                	jmp    0x46da20
46da1a:	8b 0d 94 16 4c 00    	mov    0x4c1694,%ecx
46da20:	83 f9 ff             	cmp    $0xffffffff,%ecx
46da23:	75 04                	jne    0x46da29
46da25:	33 c0                	xor    %eax,%eax
46da27:	eb 15                	jmp    0x46da3e
46da29:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46da2e:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46da31:	8b 00                	mov    (%eax),%eax
46da33:	ff 30                	push   (%eax)
46da35:	ff 15 24 d6 48 00    	call   *0x48d624
46da3b:	33 c0                	xor    %eax,%eax
46da3d:	40                   	inc    %eax
46da3e:	5d                   	pop    %ebp
46da3f:	c2 04 00             	ret    $0x4
46da42:	55                   	push   %ebp
46da43:	8b ec                	mov    %esp,%ebp
46da45:	8b 0d 94 16 4c 00    	mov    0x4c1694,%ecx
46da4b:	57                   	push   %edi
46da4c:	8b 7d 08             	mov    0x8(%ebp),%edi
46da4f:	85 ff                	test   %edi,%edi
46da51:	74 0d                	je     0x46da60
46da53:	57                   	push   %edi
46da54:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46da59:	e8 f0 d8 fa ff       	call   0x41b34e
46da5e:	8b c8                	mov    %eax,%ecx
46da60:	83 f9 ff             	cmp    $0xffffffff,%ecx
46da63:	75 07                	jne    0x46da6c
46da65:	32 c0                	xor    %al,%al
46da67:	e9 ba 00 00 00       	jmp    0x46db26
46da6c:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46da71:	56                   	push   %esi
46da72:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46da75:	8b 30                	mov    (%eax),%esi
46da77:	85 ff                	test   %edi,%edi
46da79:	75 11                	jne    0x46da8c
46da7b:	ff 15 40 d5 48 00    	call   *0x48d540
46da81:	39 06                	cmp    %eax,(%esi)
46da83:	74 07                	je     0x46da8c
46da85:	32 c0                	xor    %al,%al
46da87:	e9 99 00 00 00       	jmp    0x46db25
46da8c:	6a ff                	push   $0xffffffff
46da8e:	56                   	push   %esi
46da8f:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46da94:	e8 a3 db fa ff       	call   0x41b63c
46da99:	8b 8e 74 01 00 00    	mov    0x174(%esi),%ecx
46da9f:	8b 45 0c             	mov    0xc(%ebp),%eax
46daa2:	6a 00                	push   $0x0
46daa4:	89 08                	mov    %ecx,(%eax)
46daa6:	8b 8e 78 01 00 00    	mov    0x178(%esi),%ecx
46daac:	8b 45 10             	mov    0x10(%ebp),%eax
46daaf:	68 5f d7 46 00       	push   $0x46d75f
46dab4:	89 08                	mov    %ecx,(%eax)
46dab6:	8b 8e 7c 01 00 00    	mov    0x17c(%esi),%ecx
46dabc:	8b 45 14             	mov    0x14(%ebp),%eax
46dabf:	89 08                	mov    %ecx,(%eax)
46dac1:	8b 8e 80 01 00 00    	mov    0x180(%esi),%ecx
46dac7:	8b 45 18             	mov    0x18(%ebp),%eax
46daca:	83 25 c4 16 4c 00 00 	andl   $0x0,0x4c16c4
46dad1:	c7 05 c8 16 4c 00 ff 	movl   $0x7fffffff,0x4c16c8
46dad8:	ff ff 7f
46dadb:	89 08                	mov    %ecx,(%eax)
46dadd:	8b 86 6c 01 00 00    	mov    0x16c(%esi),%eax
46dae3:	a3 cc 16 4c 00       	mov    %eax,0x4c16cc
46dae8:	8b 86 70 01 00 00    	mov    0x170(%esi),%eax
46daee:	a3 d0 16 4c 00       	mov    %eax,0x4c16d0
46daf3:	ff 36                	push   (%esi)
46daf5:	ff 15 5c d6 48 00    	call   *0x48d65c
46dafb:	8b 7d 1c             	mov    0x1c(%ebp),%edi
46dafe:	a1 c4 16 4c 00       	mov    0x4c16c4,%eax
46db03:	83 0f ff             	orl    $0xffffffff,(%edi)
46db06:	85 c0                	test   %eax,%eax
46db08:	74 16                	je     0x46db20
46db0a:	3b 06                	cmp    (%esi),%eax
46db0c:	74 12                	je     0x46db20
46db0e:	50                   	push   %eax
46db0f:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46db14:	e8 0d da fa ff       	call   0x41b526
46db19:	89 07                	mov    %eax,(%edi)
46db1b:	83 f8 ff             	cmp    $0xffffffff,%eax
46db1e:	75 03                	jne    0x46db23
46db20:	83 27 00             	andl   $0x0,(%edi)
46db23:	b0 01                	mov    $0x1,%al
46db25:	5e                   	pop    %esi
46db26:	5f                   	pop    %edi
46db27:	5d                   	pop    %ebp
46db28:	c2 18 00             	ret    $0x18
46db2b:	55                   	push   %ebp
46db2c:	8b ec                	mov    %esp,%ebp
46db2e:	57                   	push   %edi
46db2f:	8d 79 2c             	lea    0x2c(%ecx),%edi
46db32:	83 3f 00             	cmpl   $0x0,(%edi)
46db35:	74 2e                	je     0x46db65
46db37:	8b 41 30             	mov    0x30(%ecx),%eax
46db3a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46db3d:	56                   	push   %esi
46db3e:	8b 30                	mov    (%eax),%esi
46db40:	56                   	push   %esi
46db41:	e8 dd b1 ff ff       	call   0x468d23
46db46:	8b cf                	mov    %edi,%ecx